分享

北京市街道边界矢量数据获取方法

 昵称QAb6ICvc 2021-02-03

小猿猴GISer 1周前

以下文章来源于GIS点滴 ,作者James

GIS点滴

GIS点滴

每天进步一点点,让收获的满足感,冲淡压力生活下的浮躁和焦虑,获得真正的专业技术能力!

Hello,大家好,我是James.

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

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

图片

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

图片

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

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

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

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

图片

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

图片

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

图片

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

图片

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

图片

 最后得到结果如下:

北京市辖区边界

图片

北京市辖区街道办边界

图片

接下来上python代码

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

图片

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

主要是:

1)解析、构造url地址

2)组织爬取的信息

图片

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

图片

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

图片

图片

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多