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.

pengguna8262
sumber

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>
taudorf
sumber
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.

Ian Turton
sumber