java aoi 服务器地图_GitHub - WanZixin/getShp: 利用高德地图web服务API获取坐标串,生成行政区和aoi的shp文件...
爬取数据生成shp文件
1.功能简介
共有两大功能,一个功能是根据高德地图web服务API获取行政区划坐标串,写入行政区shp文件;另一个功能是根据高德地图的接口获取poi坐标串,写入aoi(area of interest)的shp文件。
2.文件说明
lib文件夹,包含两个xls文件,分别是高德地图的城市编码表和POI分类编码表。
result/district_shp文件夹,用于存储生成的行政区shp文件。
result/aoi_shp文件夹,用于存储生成的aoi的shp文件。
config.ini文件,配置文件,填写高德地图web服务的key;填写要爬取的poi的类别编码;填写爬取城市的adcode。
getPoiShp.py文件,生成指定专题、指定城市的aoi的shp文件。
getDistrictShp.py文件,生成行政区划shp文件。
gcj02togps84.py文件,高德地图使用的是GCJ-02坐标系,用此py文件转换为WGS-84坐标系。
GCJ-02是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统。它是一种对经纬度数据的加密算法,即加入随机的偏差。国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
3.程序思路
在具体操作前,首先需要注册高德地图开发者账号,然后申请Web服务API密钥(Key)。
3.1获取行政区的shp文件
构造
的请求URL,例如;http://restapi.amap.com/v3/config/district?key=&keywords=&subdistrict=&extensions=all。须注意的一点是:extensions参数应为all,若为base则只返回基本信息,其中不包含坐标串。
将获取到的坐标串,从GCJ-02坐标系转换为WGS-84坐标系。
利用第三方库pyshp,将返回的坐标串写入对应的shp文件。
3.2获取aoi的shp文件
构造
的请求URL,搜索POI有四种方式,分别是:关键词搜索、周边搜索、多边形搜索和ID查询。这里我们使用关键词搜索的方式,指定city并设置citylimit为true,只搜索城市内的数据。例如:https://restapi.amap.com/v3/place/text?keywords=北京大学&city=beijing&output=xml&offset=20&page=1&key=&extensions=all。
若返回的数据包含边界坐标则写入对应shp文件,若返回的数据不包含边界坐标则将其父poi的id和name加入循环列表。
4.第三方依赖
requests
configparser
5.注意事项
result/district_shp文件夹中,分别包含有中国各省份、湖北各城市、武汉行政区的个人地理数据库。result/aoi_shp文件夹中,分别包含有武汉市高等教育院校、武汉市公园、武汉市景点的个人地理数据库。这些数据是在ArcMap中构建的数据库,一并上传,供需要的读者下载使用。
cookies参数,在getPoiShp.py文件中的getRawData函数中指定在headers参数中。config.ini文件中cookies参数配置,因为cookies中的=和;对ini文件的读取造成了困扰,以后有机会完善。
每一个shp文件写入成功后,在控制台会输出提示,注意查看。
若想研究pyshp的用法,推荐查阅pyshp的github页面,其作者的文档很详细。笔者额外加了写入.prj文件的代码。
6.Contact Me
如果有什么建议,欢迎联系我 zixinwan@foxmail.com 或提issue。欢迎star!
java aoi 服务器地图_GitHub - WanZixin/getShp: 利用高德地图web服务API获取坐标串,生成行政区和aoi的shp文件...相关推荐
- python如何爬虫获取图形上点的坐标_python调用百度地图WEB服务API获取地点对应坐标值...
本篇博客介绍如何使用Python调用百度地图WEB服务API获取地点对应坐标值,现有一系列结构化地址数据(如:北京市海淀区上地十街十号),目的是获取对应坐标值. 百度地图开发者平台路线规划使用说明网址 ...
- python调用百度地图实现导航_python调用百度地图WEB服务API获取地点对应坐标值
本篇博客介绍如何使用Python调用百度地图WEB服务API获取地点对应坐标值,现有一系列结构化地址数据(如:北京市海淀区上地十街十号),目的是获取对应坐标值. 百度地图开发者平台路线规划使用说明网址 ...
- python调用高德地图api 可视化_Python:利用高德地图API实现找房
记:本项目是在实验楼上看到的,但是上面的代码由于没有及时维护,爬虫文件的代码不再能完整的把所有房源信息爬取下来,我根据最新的58同城官网进行了研究,现在的官网的房源信息已经不是分页的了,而是拉到最后自 ...
- 利用高德地图关键字检索POI-实现仿微信发朋友圈搜索附近位置
转载请注明出处:http://blog.csdn.net/Alpha58/article/details/57079874 前言 由于项目中需要实现搜索附近位置作为收获地址,所以采用了高德地图的关键字 ...
- python做地图导航_「Python」利用高德地图做你想做之事
玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求. 此 ...
- python做地图导航_【Python】利用高德地图做你想做之事
原标题:[Python]利用高德地图做你想做之事 [版权声明] 作者:CPF 如需转载请联系CPF 如有侵权请联系大水牛平台 玩grasshopper基本上都知道OpenStreetMap 这个地图网 ...
- 「Python」利用高德地图做你想做之事
玩grasshopper基本上都知道OpenStreetMap 这个地图网站,毕竟有一个好用的地图插件,可以在Rhino中绘制出所需,但是一个不好的地方就在于国内的数据量太少,无法满足我们的需求. 此 ...
- 利用高德地图API获取任意两座城市之间的距离!异地也有惊喜!
工作中有时会遇到这样一种场景:年末需要统计所有员工该年的航旅出差情况,然后根据他们的飞行距离补贴一定的交通费.例如如下所示情况: 然而,如果我们使用地图APP等工具逐一进行手工查询,在一家规模稍大的公 ...
- java实现高德地图app,Android 高德地图入门demo,最新高德地图实现方法,附源码及apk...
[实例简介] Android 高德地图入门demo,最新高德地图实现方法,附源码及apk [实例截图] [核心代码] GaoDeDemo ├── GaoDeDemo │ ├── app │ │ ...
最新文章
- 2022-2028年中国互联网+不良资产处置行业深度调研及投资前景预测报告
- 线扫相机——机器视觉中无限制物体的检测
- mega_[MEGA DEAL]带有Kotlin捆绑包的完整Android Oreo(95%折扣)
- 思维训练素材整理【初级中阶高阶辅导】
- 【科普】数据中心“容灾”和“备份”的区别
- android 屏蔽home键操作
- mapper代理(十一)
- int linux 原子操作_linux c++编程之多线程:原子操作如何解决线程冲突
- 命令逐行显示_在LoadRunner中执行命令行程序之:popen()取代system()
- vscode如何查看修改过的部分_编辑器 VS Code 如何快速查看 Go 接口?
- python3.6.5安装成功为什么打不开_记录centos+python3.6.5安装ipython遇到的坑
- windows环境中JDK环境变量配置
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
- C++的multi_map如何输出所有key值相等的元素
- 基于MVC .NET Core动态角色的授权
- Linux C | 查看二进制文件的小工具HexView
- python语言程序设计二级教程pdf_二级python语言程序设计教程
- javase(8)_集合框架_List、Set、Map
- Exchange 2003 反垃圾邮件
- 央视揭秘“微商传销”:通过朋友圈炫富发展下线
热门文章
- ActiveMQ知识概括
- Centos7.6安装stress工具
- Windows 下查看显卡使用情况
- ChatGPT怎么看?禾赛科技登陆纳斯达克,能否扛起“中概激光雷达第一股”的大旗?...
- Use Case的学习
- SPC5607B的eDMA模块使用示例
- 【MySQL】带你了解MySQL 如何学习MySQL以及MySQL的用途以及意义
- 逆向基础:软件手动脱壳技术入门
- 48所大学!20考研计算机/软件专业课变化的大学名单!
- 杭电计算机学院复试真题,2020杭州电子科技大学计算机学院考研复试公告