【续】【授人以渔篇】无需代码,如何下载在线地图数据,以中国人口、经济空间数据集为例

0
前言

大家好,我是James。

感谢上期各位同学的积极点赞与转发【首发·超详细】2020年中国各城市人口经济空间数据集(130种指标)shp数据【附下载】

这篇接着讲如何获取该数据,或者该类型数据。

相信学完以后,同学们以后在获取数据方法途径上,打开了新世界的大门。

不过也要做好一些不曾接触和使用一些工具的准备,比如浏览器F12审查工具的使用。但是全篇不会涉及任何代码,请各位同学放心食用。

1
找到数据
上篇说到该数据来源于ArcGIS Online,实际具体点是living altas网站上的,顺便说一下:这里的数据及其丰富。
具体方法是:
(1)打开浏览器(最好是谷歌浏览器,只要是谷歌内核的都行);
(2)打开https://livingatlas.arcgis.com/ 网站,然后直接搜China Purchasing Power per Capita,或者你干脆搜china,出现一些结果,一下子我们就能找到之前文章提到的中国人均购买力的数据图层。
2
核心要点,找到数据“密码”
重点来了,

(1)点击页面中图层;

(2)进入数据图层详情页,点击【在 Map Viewer 中打开】

(3)进入数据浏览页面(这里要着重说一下,如果提示你登陆,你需要注册一个Online账号,直接去这个页面注册一个21天试用就可以了,https://www.esri.com/en-us/arcgis/trial)

(4)这时就看到以上图层数据,按一下F12(笔记本一般是Fn F12组合键)或者页面右键点击“检查”;

(4)我们就打开浏览器的开发者模式,网页右边出现开发者工具栏;

(5)切换至Network这个选项卡

(5)然后我们鼠标点击一下图中的斑块,可以看到右栏有一个query名称请求

(6)这时我们可以看到右边的请求地址为:https://demographics1.arcgis.com/arcgis/rest/services/CHN_Demographics_and_Boundaries/MapServer/dynamicLayer/query

(7)然后滑到最下方,可以看到两个参数,一个是layer,一个是token,

  1. layer:{'source':{'type':'mapLayer','mapLayerId':9}}

  2. token:

    v7unTdG2SH4R5a_fsTUOs3M3vf20joYL0SOLXSKsQy-bXPwAtrW7r-TZnSF4EMjKBLMxwveNtD0XuQXCqS2wvaJiwbzjVbmomaxvNv_MXH4qD1IK5MMUMan4fXkcVgRt74Zvxx_eXn-7moJojhN0CrgV4yFwRaxRJwd11S3mcfXIsyozLdCjvvYnQuOHxsbELIRgxzH15derN4a1pYwREX_EXo4y4VesEZvly0NdWCmc2wXsFsLgYdzXA5wHW3ylDOsT81H_E51TDf7MgwaQLQLy7pW7t9CGeqd6qNTvVJxDa0rgTWNbMfBlALSVrTKU

这里还是说明一下:

1)layer是请求的具体图层,里面包含一些图层对象信息,我们只需记住里面mapLayerId对应的数字 【9】,

2)token对应的一长串东西,打个比方来说就是请求这些数据所必须的钥匙。

所以我们最终拿到了三个东西:

第一个是url:https://demographics1.arcgis.com/arcgis/rest/services/CHN_Demographics_and_Boundaries/MapServer(去掉了/dynamicLayer/query)

第二个是图层Id: 9

第三个是token:

v7unTdG2SH4R5a_fsTUOs3M3vf20joYL0SOLXSKsQy-bXPwAtrW7r-TZnSF4EMjKBLMxwveNtD0XuQXCqS2wvaJiwbzjVbmomaxvNv_MXH4qD1IK5MMUMan4fXkcVgRt74Zvxx_eXn-7moJojhN0CrgV4yFwRaxRJwd11S3mcfXIsyozLdCjvvYnQuOHxsbELIRgxzH15derN4a1pYwREX_EXo4y4VesEZvly0NdWCmc2wXsFsLgYdzXA5wHW3ylDOsT81H_E51TDf7MgwaQLQLy7pW7t9CGeqd6qNTvVJxDa0rgTWNbMfBlALSVrTKU
然后,这就行了!
3
代入公式
下载数据地址=(url) / (Id) /query?token=(token) &f=json&outFields=*where=1=1
将2中获取的3个参数带入,地址为
https://demographics1.arcgis.com/arcgis/rest/services/CHN_Demographics_and_Boundaries/MapServer/9/query?token=MedttP74jjCBV_UzIpoQW7Kt3vlWHJE6G8s-vSWOV7yo8L2bojKV6mnCn6RkEINcjZ0FQrX6tkSO2A8YKtvCzyw9K1U4qHLyxV2yfVwPQYVLD-nONdzTq3bhelUFH7a2gIOo29lUhtWhZs6icqK1NKKxDht_Hxgf9VUpGD0px5DSk5yHx5HtsIaexk8X8Ni__6l9qLA2W_zmEH9hdscRiN9CujvQxbkDrNFluCC2EyaL71FSLXD6XJ4letzOYtENo61OdRfhZIoePAmJvVQbA2u9jTOAgOSpJjE1ps2-nNesjtHeNLmgh9GKOyFy6u6H&f=json&outFields=*&where=1=1

然后将上方链接地址粘贴到浏览器中就获取到数据了

不过这种地址是一次将所有的数据都获取到,非常耗时间,还极有可能超时断掉,我们可以简单修改一下分批次获取,将链接中最后的where=1=1改成类似【where=objectId<11 and objectId>0】,意思是先下载前10个城市的,以此类推

4
保存数据
简单:直接在页面鼠标右键另存为,保存为json文件
5
ArcGIS中转成shp图层空间数据
依然简单:打开ArcMap或者ArcGIS Pro,使用工具箱中JSON下的【JSON转要素工具】
导入json文件,就得到了shp数据
最后,回答问题
(1)关于这数据集中的130个字段翻译,我尝试了一下,发现知网翻译还是非常准的,大家可以用这个作为辅助参考。我就不班门弄斧了。
(2)关于这个数据的边界问题,大家用的时候一定要注意。
(0)

相关推荐