Dalam Structured Query Language(SQL) kita mengenal adanya WHERE clause ketika melakukan query. WHERE clause biasa digunakan jika kita ingin memberikan kondisi tertentu terhadap query yang kita lakukan. Sama dengan SQL, Filter pada geoserver digunakan ketika kita ingin memberikan kondisi tertentu terhadap data yang ingin kita tampilkan. .
Misal, kita memiliki data peta kabupaten di seluruh indonesia, maka logika yang tepat untuk menampilkan peta kabupaten yang berada di provinsi daerah istimewa Yogyakarta adalah. .
Tampilkan peta jika memiliki kode provinsi sama dengan 34 (kode BPS untuk Provinsi DIY)
Dalam tutorial kali ini saya hanya akan memberikan contoh Comparison Operator saja, jenis Filter yang lain saya belum begitu paham dan mungkin bisa dibaca-baca sendiri di dokumentasi geoservernya. .
Menggunakan Filter (Where Clause) Pada Geoserver
Comparison operator digunakan untuk memberikan kondisi terhadap non-spatial atribute terhadap setiap feature yang ada, berikut beberapa contoh Comparison Operator
<PropertyIsEqualTo>
<PropertyIsNotEqualTo>
<PropertyIsLessThan>
<PropertyIsLessThanOrEqualTo>
<PropertyIsGreaterThan>
<PropertyIsGreaterThanOrEqualTo>
<PropertyIsLike>
<PropertyIsNull>
<PropertyIsBetween>
Cara menggunakan untuk yang <PropertyIsEqualTo> adalah seperti berikut:
<PropertyIsEqualTo><PropertyName>NAME</PropertyName><Literal>New York</Literal></PropertyIsEqualTo>
Sekarang langsung saja ke contoh penggunaannya, sama seperti contoh sebelumnya, kita akan menampilkan peta kabupaten kota Yogyakarta saja. Maka URL WFS nya adalah
http://localhost:4321/geoserver/belajar/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=belajar:kabupaten&outputFormat=json&filter=<PropertyIsEqualTo><PropertyName>PROVNO<PropertyName><Literal>34</Literal></PropertyIsEqualTo>
pada URL diatas saya merequest Web Feature Service (WFS) dari workspace belajar dan layer kabupaten, dalam layer kabupaten terdapat nama atribut PROVNO dan Literal berisi value dari PROVNO yang akan kita cari. .(34 adalah kode DIY)
Silakan coba Filter diatas pada browser anda, tentunya data peta kabupaten dan workspace geoserver sebelumnya sudah disiapkan dan disesuaikan, maka outputnya jika benar akan menjadi seperti di bawah ini. .
Semoga Bermanfaat, GBU