Untungnya, tidak ada banyak bagian yang bergerak saat itu hadir untuk menambahkan
FeatureTypes baru ke GeoServer dengan tangan.
<!--
a datastore configuration element serves as a common data source connection
parameters repository for all featuretypes it holds.
-->
<datastores>
<datastore namespace="g4wd" enabled="true" id="us_states" >
<connectionParams>
<parameter value="g4wd" name="namespace" />
<parameter value="file:us_states/st99_d00.shp" name="url" />
</connectionParams>
</datastore>
<datastore>
...
</datastore>
</datastores>
<!--
Defines namespaces to be used by the datastores.
-->
<namespaces>
<namespace uri="http://mapmap.org/g4wd" prefix="g4wd" />
<namespace uri="http://www.openplans.org/topp"
prefix="topp" default = "true" />
<namespace uri="http://www.census.gov" prefix="tiger" />
<namespace uri="http://www.opengeospatial.net/cite" prefix="cite" />
</namespaces>
<!--
Defines the style ids and file name to be used by the wms.
-->
<styles>
<style filename="default_line.sld" id="line" />
<style filename="default_polygon.sld" id="polygon" />
...
</styles>
</catalog>
Kembali ke jendela browser, dan klik Config. Klik Muat. Untuk memverifikasi
semuanya baik-baik saja sejauh ini, klik Config> Data> Toko. Memilih ca dari kotak kombo,
dan klik Edit. Semuanya harus cocok antara catalog.xml dan formulir HTML.
Gambar 6.6: GeoServer dengan penyimpanan data yang dinonaktifkan
Kami setengah jalan di sana. Mari kita buat FeatureType. Direktori geoserver /
data_dir/featureTypes berisi satu direktori per FeatureType. Lihatlah di us_states_st99_d00.
(Perhatikan bahwa direktori mengikuti konvensi penamaan [data store] _ [featureType].) Di
dalam direktori itu file info.xml.
Buat direktori ca_prov_ab_p_geo83_e. (Jangan berharap kami akan mengganti nama shapefile
itu menjadi sesuatu yang lebih mudah diketik?) Salin info.xml dari us_states_st99_d00 ke
ca_prov_ab_p_geo83_e.
Mengubah penyimpanan data dan nama untuk mencocokkan penyimpanan data dan shapefile
nama tidak sulit. EPSG tetap 4326. (Kami dengan ramah mengabaikannya kesalahan ketik dalam
komentar karena komentar yang salah eja lebih baik daripada tidak sama sekali.) Mengubah judul,
abstrak, dan kata kunci juga bukan masalah.
Dan kemudian ada masalah kecil latLonBoundingBox. GUI yakin melakukan pekerjaan yang
baik untuk autogenerasi itu untuk kita. Anda tidak khawatir mendapatkan data itu, kan? Apakah Anda
lupa teman kecil kami ogrinfo dari bab sebelumnya? Tipe
Gunakan informasi dari bidang Extent untuk menyelesaikan file info.xml. Pastikan untuk
menyimpannya setelah Anda selesai mengubah semua nilai.
Mari kita kembali ke layar Config lebih banyak waktu dan klik Load. Jika tidak
kesalahan muncul di sini, lalu kembali ke layar klien Mapbuilder, dan lihat FeatureType
Kanada Anda yang baru ditambahkan. (Lihat Gambar 6.7, di halaman berikutnya.) Jika Anda
tidak hati-hati, Anda akan menjadi ahli dalam hal ini.
Sekarang kami merasa nyaman dengan shapefile, mari kita alihkan fokus kami ke PostGIS.
Langkah pertama yang perlu kita ambil adalah membuat penyimpanan data. Klik
Konfigurasi> Data> Toko> Baru. Pilih PostGIS dari kotak kombo. Berikan ID dari
local_postgis. Klik Baru untuk pindah ke layar berikutnya. Isi nilainya diperlukan untuk
terhubung ke server. (Lihat Gambar 6.8, di halaman 150). Sekali semuanya diisi, klik Kirim,
lalu klik Terapkan dan Simpan.
Menambahkan FeatureType baru sama mudahnya. Klik Konfigurasi> Data>
FeatureType> Baru. Semua tabel spasial dari G4WD database harus terlihat dari kotak
kombo. Ketika Anda mengklik Baru, semuanya harus diisi dan menunggu Anda dengan
pengecualian dari kotak pembatas. Klik Hasilkan. Anda dapat mengubah nilai-nilai seperti
gaya, judul, kata kunci, dan abstrak jika Anda mau. Klik Kirim, lalu klik Terapkan dan
Simpan.
gaya, judul, kata kunci, dan abstrak jika Anda suka. Klik Kirim, lalu klik Terapkan dan
Simpan.
Entri di catalog.xml sedikit lebih rinci daripada entri shapefile kami lihat sebelumnya:
<datastore namespace = "g4wd" enabled = "true" id = "local_postgis" >
<abstract>Local PostGIS server</abstract>
<connectionParams>
<parameter value = "g4wd" name = "namespace" />
<parameter value = "true" name = "loose bbox" />
<parameter value = "postgres" name = "user" />
<parameter value = "password" name = "passwd" />
<parameter value = "true" name = "wkb enabled" />
<parameter value = "localhost" name = "host" />
<parameter value = "public" name = "schema" />
<parameter value = "5432" name = "port" />
<parameter value = "g4wd" name = "database" />
<parameter value = "postgis" name = "dbtype" />
</connectionParams>
</datastore>
GeoServer, seperti QGIS, lebih suka tabel PostgreSQL dengan bidang OID.
Mengikuti instruksi di akhir Bab 5, Database Spasial, pada halaman 108 untuk memastikan
tabel Anda memiliki bidang OID yang diperlukan. Untuk lebih informasi tentang GeoServer
dan PostGIS, lihat dokumentasi online.
<!--
Defines the style ids and file name to be used by the wms.
-->
<styles>
<style filename = "giant_polygon.sld" id = "giant_polygon" />
<style filename = "capitals.sld" id = "capitals" />
<style filename = "tiger_roads.sld" id = "tiger_roads" />
<style filename = "poly_landmarks.sld" id = "poly_landmarks" />
<style filename = "green.sld" id = "green" />
<style filename = "simpleRoads.sld" id = "simple_roads" />
<style filename = "popshade.sld" id = "population" />
<style filename = "default_line.sld" id = "line" />
<style filename = "default_polygon.sld" id = "polygon" />
<style filename = "default_point.sld" id = "point" />
<style filename = "poi.sld" id = "poi" />
<style filename = "Lakes.sld" id = "cite_lakes" />
</styles>
Setiap gaya yang diberi nama adalah pointer ke file SLD yang disimpan di geoserver /
data_dir / gaya. Mari kita tarik default_polygon.sld untuk melihat apa yang telah kita gunakan
negara bagian A.S. dan Kanada kami hingga saat ini:
Mari kita masuk akal. Kami memiliki NamedLayer yang memiliki Pengguna- Gaya.
(UserStyle pada dasarnya berarti gaya khusus.) UserStyle berisi sebuah FeatureTypeStyle.
FeatureTypeStyle memiliki aturan yang bukan melakukan banyak hal di sini tetapi dapat
digunakan untuk melakukan styling bersyarat, seperti yang akan kita lakukan lihat pada
contoh berikut. Aturan ini memiliki PolygonSymbolizer, yang pada gilirannya menjelaskan
isian dan goresan yang digunakan pada poligon. Isi adalah warna yang muncul di dalam
poligon. Stroke adalah warna garis mengelilinginya.
Perhatikan bahwa SLD menggunakan CSS untuk aturan gaya penataannya.
Menariknya, CSS tidak XML, jadi SLD harus membungkus setiap aturan gaya CSS dalam
elemen XML. Apa pun yang dapat diungkapkan dalam CSS 2 valid dalam dokumen SLD.
Gambar 6.9: Pengeditan SLD
Mari kita ubah gaya dengan cepat selagi kita di sini. Mengubah isi poligon menjadi
biru (# 0000FF) dan goresan menjadi hitam (# 000000).Simpan file. Kembali di jendela
browser, klik Config dan kemudian Load. Lihat Fitur Kanada di Mapbuilder untuk
memverifikasi bahwa perubahan Anda ambil tempat.
GeoServer menawarkan editor SLD yang bagus (meskipun belum sempurna). Mari
kita buat gaya baru untuk FeatureType PostGIS kami. Klik Config> Data> Fitur- Tipe. Pilih
us_states_st99_d00 dari kotak kombo, dan klik Edit. Perhatikan bahwa di sebelah kotak
kombo gaya ada tombol Buat SLD Baru. Klik itu. (Lihat Gambar 6.9.) Selain widget warna
untuk isi dan stroke, Anda juga dapat memiliki SLD label elemen peta Anda. Pada kasus ini,
pilih Nama dari daftar bidang nonspatial. Klik Terapkan Gaya dan kemudian selesai.
Lihat di geoserver / data_dir / styles untuk style yang baru Anda buat. Di
st99_d00_style.sld, ada TextSymbolizer baru bersama Polygon- Anda Symbolizer. (SLD juga
menawarkan PointSymbolizers, LineSymbolizers, dan RasterSymbolizers.)
<TextSymbolizer>
<Label>
<ogc:PropertyName>NAME</ogc:PropertyName>
</Label>
<Font>
<CssParameter name="font-family" >Times New Roman</CssParameter>
<CssParameter name="font-style" >Normal</CssParameter>
<CssParameter name="font-size" >12</CssParameter>
</Font>
<Fill>
<CssParameter name="fill" >#BB0000</CssParameter>
<CssParameter name="fill-opacity" >1</CssParameter>
</Fill>
</TextSymbolizer>
Di sini kita melihat, selain beberapa gaya CSS, persyaratan pertama kami aturan. Jika
FeatureType memiliki bidang bernama NAME (peka huruf besar kecil), ini gaya akan
diterapkan. Kalau tidak, mereka akan diabaikan.
Untuk melihat seperangkat aturan bersyarat yang lebih terlibat, mari kita lihat topp:
nyatakan FeatureType sekali lagi. (Lihat Gambar 6.2, di halaman 139.) The Penataan SLD
menciptakan peta choropleth — kondisi berbeda warna berdasarkan populasi mereka.
popshade.sld menunjukkan kepada kita bagaimana menyelesaikannya ini.
<FeatureTypeStyle>
<Rule>
<ogc:Filter xmlns:gml="http://www.opengis.net/gml" >
<ogc:PropertyIsBetween>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:LowerBoundary>
<ogc:Literal>2000000</ogc:Literal>
</ogc:LowerBoundary>
<ogc:UpperBoundary>
<ogc:Literal>4000000</ogc:Literal>
</ogc:UpperBoundary>
</ogc:PropertyIsBetween>
</ogc:Filter>
<PolygonSymbolizer>...</PolygonSymbolizer>
<TextSymbolizer>...</TextSymbolizer>
</Rule>
<Rule>
<ogc:Filter xmlns:gml="http://www.opengis.net/gml" >
<ogc:PropertyIsLessThan>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:Literal>2000000</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:Filter>
<PolygonSymbolizer>...</PolygonSymbolizer>
<TextSymbolizer>...</TextSymbolizer>
</Rule>
<Rule>
<ogc:Filter xmlns:gml="http://www.opengis.net/gml" >
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>PERSONS</ogc:PropertyName>
<ogc:Literal>4000000</ogc:Literal>
</ogc:PropertyIsGreaterThan>
</ogc:Filter>
<PolygonSymbolizer>...</PolygonSymbolizer>
<TextSymbolizer>...</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
Seperti yang Anda lihat, menata layer data Anda bisa sesederhana atau seperti yang
terlibat seperti yang kamu mau. Anda dapat memiliki banyak gaya berbeda untuk hal yang
sama lapisan data. Ini adalah perwujudan dari Model-View-Controller (MVC) pola desain.
Model (geodata) disimpan secara independen instruksi gaya. Demikian pula, tampilan (dalam
hal ini, file SLD kami) adalah terlepas dari model. Pengontrol adalah komponen perangkat
lunak yang menggabungkan model dan tampilan untuk kami. Memiliki pemisahan bersih
kekhawatiran untuk masing-masing dari ketiganya adalah ciri khas SOA yang kuat dan dapat
digunakan kembali.
Situs web GeoServer memiliki banyak artikel yang membahas tentang gaya Anda
lapisan dengan sangat detail.10 Membuat label Anda muncul dengan benar11 bisa jadi sangat
rumit — Anda biasanya ingin mereka tampil tanpa berlebihan tumpang tindih ketika fitur
Anda dikelompokkan bersama erat atau ditumpangkan lebih dari banyak lapisan data. Dan
akhirnya, salah satu kekuatan GeoServer pengguna telah membuat Google Maps SLD12 yang
dapat memberikan FeatureType Anda tampilan dan nuansa yang akrab.
Seorang teman saya pernah menggambarkan permainan kuno Go sebagai sesuatu
yang membutuhkan satu jam untuk belajar dan seumur hidup untuk dikuasai. Deskripsi itu
berlaku sama baiknya untuk SLD dan menata peta Anda. Untuk sekarang, kamu harus sudah
cukup untuk membantu Anda memulai.
6.8 Kesimpulan
Pada titik ini, kami memiliki server OGC fungsional yang aktif dan berjalan. Kami
sudah menginstal GeoServer. Kami telah menambahkan shapefile dan Fitur PostGIS- Jenis
melalui GUI dan berbagai file konfigurasi XML. Akhirnya, kami membungkus dengan file
SLG OGC yang menggambarkan tampilan dan rasakan FeatureTypes kami. Dengan itu,
semua artefak sisi server kami adalah di tempat.
Sekarang server kami sudah dikonfigurasi, mari mulai menggunakannya. Dalam bab
selanjutnya, kami akan bersenang-senang membuat panggilan WMS dan WFS mentah.
Tenang sifat permintaan web OGC membuatnya mudah untuk diputar di browser web dan
bahkan baris perintah.