怎么将请求url请求到的数据导入数据局_【数据不用愁】手把手教你抓取地图矢量数据【附代码和矢量地图数据】...

69931138fe6ebb6db5ef9b11ec58f18d.png

Hello,大家好,我是James.

我们知道:数据是GIS比较重要的组成部分,没有基础数据的支撑,其他工作无从展开。可能你曾为了一份行政边界数据在群里或者论坛各种跪求,但都石沉大海,膝盖也已长出了老茧,今天我以一个近期遇到的数据爬取为例,手把手教你抓取地图矢量数据。

也是偶然看到天地图北京的官网有行政区、街道办的边界数据

3d6f84a3ca32adc98b85f4f1e0d6176b.png

惯性使然打开F12,惊奇地看一串串熟悉的坐标

6c39a08242d019a985c6dca7b07a43e9.png

曾经搜遍论坛网站各个角落,今天在官方却能轻而易举的找到,真是太激动

于是先研究了url请求结构,最终得到了北京16个区和下属街道办的边界信息

接下来跟大家分享抓取过程,

1、首先进入首页(http://beijing.tianditu.gov.cn/bjtdt-mapcenter/)

8ff20e153228ba00ce4846b0fdd184c2.png

2、点击【行政区划】,F12我们可以看到在http://beijing.tianditu.gov.cn/tdt-web-sysmanager/services/catalog/special/getLoginOutCatalogSpecials/38ed87a3fe8e4bb1a01949c47baf5244请求结果中包含了北京下属的16个区!

6da0de25f321b3a63a70a48b4382848b.png

3、展开其中一个后,看到更为详细的信息

fe2834bb58593f785e961b2a03408174.png

4、点击东城区,我发现在http://beijing.tianditu.gov.cn/tdt-web-sdks/biz/httpproxy/httpproxy.jsp?url=http://www.bjmap.gov.cn:8080/dfc/services/sgssfs/2220?request=getfeature&filter=+GBCODE%3D%27110101%27请求结果中有不得了的坐标串,明显是行政区划的边界节点坐标串嘛

aa15248f1433e92a6316ff7663b7fc19.png

5、继续点击建国门街道,同样在http://beijing.tianditu.gov.cn/tdt-web-sdks/biz/httpproxy/httpproxy.jsp?url=http://www.bjmap.gov.cn:8080/dfc/services/sgssfs/2220?request=getfeature&filter=+GBCODE%3D%27110101001%27看到街道办的坐标串,完美!

c172523cc7cad85e77e48bf8467e9b82.png

最后得到结果如下:

北京市辖区边界

7024855677067658b352fb3bcd3b0727.png

北京市辖区街道办边界

0449f9a8405d34ddaa21530b8268d8e7.png

接下来上python代码

1、首先惯例,我使用的是python2,首先声明编码,导入request、json解析模块

ae23c24ee9278be46d230a6fc2640f92.png

2、接下来需要写4个函数方法,

主要是:

(1)解析、构造url地址

(2)组织爬取的信息

79edce5ac2be953d42eb10c8334990bc.png

3、然后是调取以上函数方法,写入至txt文件

1382afcfadad5b92fc2d24dfffbdcfd0.png

4、最后分别得到行政区和街道办边界节点的txt文本

e318a34478fabb0f5ae0add6b2074909.png

7e7986750c8da15b574f776b3ef3b2e9.png

0d1e8a7a08cc5fd8579e397781738151.png

本节结束,

需要本文涉及完整的代码和txt文本下载链接,以及获取更多GIS相关(ArcGIS、GIS水文插件、遥感)教程信息,欢迎关注公众号:GIS点滴

d9f15e0ace6d80a510d2b49fad016afb.png
GIS点滴

接下来一篇我们要将这些数据导入至ArcMap,转成空间数据文件(shapefile或者gdb要素类存储),敬请期待!

这里恰个饭,非常地、热烈地欢迎需要提升技能的小伙伴,报名我们近期举办的《ArcGIS深度制图培训·周末班》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值