ส่งคืน NumberOfFeatures ในเคียวรี WFS เท่านั้น


11

ฉันใช้งานแบบสอบถาม GetFeature WFS ใน GeoServer (มองหาคุณสมบัติภายในรูปหลายเหลี่ยม) แต่สิ่งที่ฉันต้องการคือจำนวนคุณลักษณะทั้งหมด มีวิธีเพียงแค่ส่งคืนข้อมูลนี้ (หวังว่าแบบสอบถามจะทำงานเร็วขึ้นเล็กน้อย) มากกว่าบันทึกทั้งหมดหรือไม่

ข้อความค้นหาส่งคืนฟีเจอร์มากกว่า 10,000 รายการดังนั้นฉันหวังว่าจะเป็นประโยชน์หากเป็นไปได้

คำตอบ:


12

คุณสามารถตั้งค่าพารามิเตอร์ resultType เป็น "จำนวนเยี่ยมชม" และคุณจะได้รับจำนวนคุณสมบัติในแบบสอบถามที่คล้ายกับฟังก์ชัน count () ใน SQL

HTTP รับตัวอย่างคำขอ:

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

HTTP Post ตัวอย่างคำขอพร้อมตัวกรอง:

<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 - มันทำงานได้ดี ที่น่าสนใจเวลาค้นหา (เรียกใช้การค้นหาโดยตรงใน geoserver) ใช้เวลา 18 วินาที - ตรงข้ามกับ 41 วินาทีเมื่อส่งกลับเพียงหนึ่งฟิลด์ต่อคุณลักษณะ
user8262

5

หากคุณใช้ WFS 1.1 คุณสามารถตั้งค่า resultype = hits และสิ่งนี้จะส่งกลับจำนวนระเบียนที่ตรงกับการค้นหาของคุณ

ฉันจำไม่ได้ว่า GeoServer คืนค่าพอร์ตนี้เป็น 1.0 แต่มาตรฐานไม่รองรับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.