好吧,首先回答你的最后一个问题,通过 featureID 请求一个对象,使用类似:
http://example.com/geoserver/wfs?
service=wfs&
version=2.0.0&
request=GetFeature&
typeName=namespace:featuretype&
featureID=feature
要进行分页,您可以使用以下内容:
http://example.com/geoserver/wfs?
service=wfs&
version=2.0.0&
request=GetFeature&
typeName=namespace:featuretype&
startindex=0&
maxFeatures=10
然而,对此有一些注意事项。我只针对 Geoserver 进行了测试,我知道在 geoserver 的 2.1.x 版本中,startindex 对结果没有影响。我知道它在 2.3.x 版本中确实有效。如果您使用的是特定版本的 Geoserver,我建议您查一下。我不确定其他提供 wfs 的应用程序支持什么。您需要与他们核实,但我上面给出的内容符合 WFS 规范。
最后一件事是您可能希望在执行此操作时添加一些排序。IE
http://example.com/geoserver/wfs?
service=wfs&
version=2.0.0&
request=GetFeature&
typeName=namespace:featuretype&
startindex=0&
maxFeatures=10&
sortBy=namespace:field
这样做的原因是,如果在数据更新时没有排序,数据可能会在请求之间发生变化,这意味着您可能看不到页面之间的结果等。即使使用排序,这仍然是可能的,特别是如果不按 ID 排序或不使用增量样式 ID 字段。然而,通常按 ID 字段排序将确保分页的一致性。
当您使用 ArcGis 时,其中一些可能与您无关。不过,我很确定最新版本的 Arc Gis 支持 startindex 字段的 WFS 规范。