【发布时间】:2021-07-14 10:29:51
【问题描述】:
我试图从嵌入网站的 ESRI 地图中提取数据。目标是通过引入地理坐标来访问地图上的值。
我在这里留下一张地图和相应的地址。我只是不明白我应该使用哪种方法,因为地图嵌入在网站中。我应该使用哪些流程?
*用于学术目的
【问题讨论】:
标签: web-scraping screen-scraping arcgis esri
我试图从嵌入网站的 ESRI 地图中提取数据。目标是通过引入地理坐标来访问地图上的值。
我在这里留下一张地图和相应的地址。我只是不明白我应该使用哪种方法,因为地图嵌入在网站中。我应该使用哪些流程?
*用于学术目的
【问题讨论】:
标签: web-scraping screen-scraping arcgis esri
注意:请尊重数据所有权。如有疑问,请勿保存他人数据的副本。
听起来您想提取此地图中的多边形数据。网络应用发出这样的请求:
如果您只想要数据,可以删除callback 参数:
但是,如果您只是转到该链接,则会收到有关缺少或不正确的推荐人的错误消息。为了克服这个问题,您需要添加一个名为Referer 的标头,其值为https://zonamentopf.portaldasfinancas.gov.pt/simulador/default.jsp。您可以在脚本或 Postman 等应用程序中执行此操作,但您无法在自己的网络应用程序中执行此操作。
查看可用层:https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer?f=json(带有我提到的 Referer 标头)
要查看有关单个图层的元数据,请使用以下 URL。将/0/ 中的 0 替换为不同的层 ID 以获得不同的层。 https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer/0?f=json(带有我提到的 Referer 标头)
到query 其中一个层获取数据,使用以下 URL 获取所有内容,或者如果要过滤数据,请添加一些查询参数。将/0/ 中的 0 替换为不同的层 ID 以获得不同的层。 https://zonamentopf.portaldasfinancas.gov.pt/simulador/proxy.jsp?http://ags/arcgis/rest/services/SIMIMI/SIMIMI/MapServer/0/query?f=json&outFields=*&where=0%3D0(带有我提到的 Referer 标头)
【讨论】:
我必须承认,我不太确定您在提取数据方面的目标是什么。我访问了该站点,它是一个使用ArcGIS API for JavaScript 创建的非常基本的嵌入式Web 地图,尽管它包含在JSP 中。 Web 地图正在使用一些可公开访问的 Esri 服务(World_Imagery、World_Boundaries_and_Places)以及来自www.portaldasfinancas.gov.pt 的一些非公共组织服务。
在我看来,您似乎对地理编码感兴趣。使用 Esri 的 ArcGIS Online Geocoding Service 查找地图上的指针/标记:
您已到达 ArcGIS Online 地理编码服务的主页。采用 它将地址转换为坐标,坐标转换为地址,或者 定位兴趣点。
如果您是开发人员,请提供使用此服务的详细文档 在您的应用程序中可以在ArcGIS Online Geocoding Service Help 中找到。
如果您是 ArcGIS for Desktop 用户,您可以使用此服务 以交互方式查找地址或geocoding a table of addresses。
由于我不太清楚你想做什么,所以我现在能提供的就这些了。
【讨论】: