0

是否可以通过分页发送 WFS 请求?我试过了,STARTINDEX但它不起作用。我想在一定范围内获取特征

例如:http://example.com/ArcGIS/services/<mapping service name>/MapServer/WFSServer?VERSION=1.1.0&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=<type name>&STARTINDEX=10&MAXFEATURE=10

或者:我将如何仅获取带有 WFS 请求的 objectid / featureid 以便我可以发送带有请求的过滤器?

4

1 回答 1

1

好吧,首先回答你的最后一个问题,通过 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 规范。

于 2013-07-26T00:53:56.613 回答