如何访问 Esri COVID-19_Public_Health_Status_by_County API 的所有县数据?

How can I access all county data for the Esri COVID-19_Public_Health_Status_by_County API?

我只想对此 URL 发出一个简单的 GET 请求:

https://services.arcgis.com/pGfbNJoYypmNq86F/arcgis/rest/services/COVID19_Public_Health_Status_by_County/FeatureServer/0/query?where=1%3D1&outFields=*&outSR=4326&f=json 

并获取关联的 JSON 数据。问题是这个资源 returns 只有 1000 条记录。我相信美国大约有 3000 多个县。您可以在此处查看有关此 API 的更多信息:

https://coronavirus-resources.esri.com/datasets/97792521be744711a291d10ecef33a61/geoservice?geometry=6.433%2C-16.701%2C-38.567%2C72.161&showData=true

我迷失在文档的海洋中,因为这应该是一个非常简单的操作。我是否需要创建一个应用程序并进行身份验证,然后将该令牌与 GET 请求一起发送?如果是这种情况,headers 应该如何格式化?我检查了身份验证和 Rest API 功能级别教程,其中任何一个都没有提到如何对请求进行身份验证。

总而言之,我只需要确保从 API 请求中获取所有数据。现在只有1000个县。我需要全部3000+。

据我所知,它实际上是 public,所以我认为您不需要登录或其他任何东西。

它是一个 FeatureService,它实际上具有 ArcGIS Server 地图服务器每次请求限制的默认要素数,1000 个要素。

为了通过请求获得所有信息,您必须执行多个请求。共有 3152 个特征 (count request),因此您至少需要提出 4 个请求。

你可以使用OBJECTID字段来获取块,你可以确定这是一个唯一的字段。

或者您可以迭代已知的离散集,例如 state_name (number of features per state request), or by region (number of features per region request). Of course you have to be sure that each possible value is less than the maximun, for example you could not do it by time_zone (number of features per time_zone request) 因为 central=1563eastern=1102.

这个新的 API(文档位于 plansafe.xyz/api)正式提供美国任何县的 COVID-19 数据。

下面是我为密歇根州一个县的当前数据所做的一个小 GET 请求的图片。 API 也可用于历史数据(任何县任何一天的 COVID-19 数据)。也是免费的!

COVID-19 County Data for Kent County, Michigan

为了防止图像无法加载,我只是按照文档中指定的 URL 参数向端点发送了县和州的请求。我在 Python 上对其进行了测试,但由于它是一个 HTTP GET,它应该可以与 curl 等一起使用。