Hanya kembalikan NumberOfFeatures dalam kueri WFS


11

Saya menjalankan kueri GetFeature WFS di GeoServer (mencari fitur dalam poligon) tetapi yang sebenarnya saya inginkan adalah jumlah total fitur. Apakah ada cara untuk mengembalikan informasi ini (dengan harapan bahwa kueri akan berjalan sedikit lebih cepat) daripada semua catatan?

Kueri mengembalikan lebih dari 10.000 fitur jadi saya harap ini akan membuat perbedaan jika memungkinkan.

Jawaban:


12

Anda dapat mengatur parameter resultType ke "hits" dan Anda akan mendapatkan jumlah fitur dalam kueri yang mirip dengan fungsi count () dalam SQL.

HTTP Dapatkan contoh permintaan:

http://localhost:8080/geoserver/wfs?request=GetFeature&typeName=topp:states&version=1.1.0&resultType=hits

Contoh permintaan HTTP Post dengan filter:

<wfs:GetFeature service="WFS" version="1.1.0"
  resultType="hits"
  xmlns:topp="http://www.openplans.org/topp"
  xmlns:wfs="http://www.opengis.net/wfs"
  xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/wfs
                      http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
  <wfs:Query typeName="topp:states">
    <ogc:Filter>
       <ogc:FeatureId fid="states.3"/>
    </ogc:Filter>
    </wfs:Query>
</wfs:GetFeature>

Terima kasih taudorf - itu berhasil. Menariknya, waktu pencarian (menjalankan pencarian langsung di geoserver) membutuhkan waktu 18 detik - berlawanan dengan 41 detik ketika mengembalikan hanya satu bidang per fitur.
user8262

5

Asalkan Anda menggunakan WFS 1.1 Anda dapat mengatur resultype = hits dan ini akan mengembalikan hanya jumlah catatan yang cocok dengan permintaan Anda.

Saya tidak ingat apakah GeoServer telah kembali porting ini ke 1.0 tetapi standar tidak mendukungnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.