无需代码,如何下载在线地图数据,以中国人口、经济空间数据集为例
The following article is from GIS点滴 Author James
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)我们就打开浏览器的开发者模式,网页右边出现开发者工具栏;
(5)切换至Network这个选项卡
(6)这时我们可以看到右边的请求地址为:https://demographics1.arcgis.com/arcgis/rest/services/CHN_Demographics_and_Boundaries/MapServer/dynamicLayer/query
(7)然后滑到最下方,可以看到两个参数,一个是layer,一个是token,
layer:{"source":{"type":"mapLayer","mapLayerId":9}}
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转要素工具】
最后,回答问题(1)关于这数据集中的130个字段翻译,我尝试了一下,发现知网翻译还是非常准的,大家可以用这个作为辅助参考。我就不班门弄斧了。
(2)关于这个数据的边界问题,大家用的时候一定要注意。
- END -