1

我正在使用 sf 包对 R 中的 ArcGIS Online 托管要素服务进行一些实验。

我无法弄清楚为什么此请求的响应包含超过 6 万个功能: https ://services.arcgis.com/nSZVuSZjHpEZZbRo/ArcGIS/rest/services/Rijksmonumenten/FeatureServer/0/query?where=1%3D1&outFields=%2A&returnCountOnly =false&f=geojson

根据服务参数 maxRecordCount 为 10000: https ://services.arcgis.com/nSZVuSZjHpEZZbRo/ArcGIS/rest/services/Rijksmonumenten/FeatureServer/0?f=json

我以为我必须使用分页,但似乎并非如此。这样我就吃惊了。有人可以解释一下。

这是包含 R 代码的我的要点的链接: https ://gist.github.com/FrieseWoudloper/47f4dcf68be39bff9dfaf2cd57610db3

问候, 威利

4

1 回答 1

0

使用wireshark网络数据包检查器,并将协议方案更改为httpfrom https,您可以看到它st_read正在为您进行分页,并向服务器发出 7 个请求以获取所有数据。每个请求都有不同的请求偏移量,然后将 10,000 条记录的结果集加上最后几条记录连接起来。

OGR 的 GeoJSON 驱动程序正在执行此操作,因此sf可以免费获取。我怀疑它由此处记录的 FEATURE_SERVER_PAGING 选项控制:

https://www.gdal.org/drv_geojson.html#

(注意我切换到http,因为它更清楚地看到未加密通道发生了什么,同样的事情发生在https)

于 2018-08-11T15:44:26.267 回答