小伙伴们,大家好,这篇博客主要讲解下Python如何获取中国各地区矢量地图数据,为什么突然写这个呢?具体原因可以见我另一篇博客ArcGIS创建渔网并导出中心质点经纬度;好了,废话不多说,开始展开!

如果小伙伴们要做与地图相关的研究,比如说绘制专题地图、对某区域划分格网等等,必然会用到shp格式的矢量地图数据,这是必不可少的。那么如何获取矢量地图数据呢,在这里主要参考了B站上一位大佬的文章,具体链接见下,本文也是再其基础上加些自己的总结;

参考资料:全国shp文件自动生成(python)

这篇文章谈到了两种获取json数据的方式:手动和自动;关于自动获取,小伙伴们只需修改几处大佬的代码,直接运行即可,可能会出现geopandas包报错问题,下面我会讲到;关于手动获取的话(我比较习惯手动),我想在其基础上扩充下,具体内容如下;

打开下面的网址,它是一个地图选择器,在这里面我们可以获取到高德地图提供的json数据

地图选择器:http://datav.aliyun.com/tools/atlas/

假如我们以石家庄市为例,直接再搜索框输入石家庄市即可;

Tips:如果只是研究石家庄这一整个区域,可以选择前两个网址;如果想再ArcGIS中显示各区以及县的边界,那就选择后两个网址;打开网址后,将网址里的内容复制粘贴到文本文件,然后修改文本后缀名为.json即可;另外(***),这个地图选择器只能选择某一块区域,比如具体某一个市、某一个区、某一个县等,而如果你想研究的是石家庄市最繁华的四个区(新华、裕华、长安、桥西),那必须以石家庄市搜索,保存包含子区域的json数据,之后再去删掉json数据中的其他区县,只保留四个区的(根据文件中的邮政编码去查找并删除),小伙伴们自行尝试这个,如果还是不会,可以再评论区留言,我会详细再说一下怎么再json文件删除;

将数据保存到json文件后,然后用Pycharm创建项目,将json文件放到项目目录下,运行以下python代码(需要添加下json的文件名,倒数第三行),即可将json数据转换为shp格式的数据

import geopandas
import ospath = None # 定义存放路径def generate_shape(city):file_name = os.path.join(path, city + '.json')shp_file_path = os.path.join(path, city + '.shp')try:data = geopandas.read_file(file_name)localPath = str(shp_file_path)data.to_file(localPath, driver='ESRI Shapefile', encoding='gbk')print(f"{city}shp文件生成成功")print(f"文件存储在:{os.path.join(path,city+'.shp')}")except Exception as e:print(e)if __name__ == '__main__':city = '###' # json文件名path = 'E:/shp' # 存放路径generate_shape(city)

运行上述代码可能会出现两个问题:1. 使用pip安装geopandas包时会报错,无法安装成功,如果遇到这个问题的小伙伴,可以参考第一篇文章;2. 如果geopandas包成功安装后,运行显示geos_c.dll文件找不到,可以看下第二篇文章:

参考资料:第一篇:geopandas安装心得(win10); 第二篇:安装shapely报错,找不到geos_c.dll

好了,如果以上步骤都完成的话,运行代码就会生成相应的shp格式的矢量地图文件,如下图所示(警告问题我也不太会,无奈.jpg,不过不影响结果):

然后就可以将生成的shp矢量文件拖入到ArcGIS中,即可生成想要的地图,比如我获取的是石家庄市最繁华的四个区,导入进ArcGIS中地图如下图所示:

好了,到此Python获取矢量地图数据就结束了,这篇文章主要是为了后续Python创建渔网那篇文章做一些铺垫,如果全放到一篇博客中,篇幅过长会影响阅读,望大家体谅呀!如果有小伙伴对于其中的步骤有哪些疑问,可以再评论区留言,看到我会一一回复的;如果有写的不够完善、不够明白的地方,也欢迎大家随时提出宝贵意见,我会继续改善的!


                             来都来了,确定不留下点什么嘛,嘻嘻~

Python之获取中国各地区矢量地图数据(shp格式)相关推荐

  1. mysql+地图网格数据下载_echarts 中国各省市 echarts地图数据,含世界地图

    [实例简介] echarts 中国各省市 echarts地图数据,含世界地图,含各省地市数据 [实例截图] [核心代码] echarts_map_data ├── anhui │   ├── anhu ...

  2. Highmaps上海地区地图数据JSON格式

    Highmaps上海地区地图数据JSON格式 下载链接: http://pan.baidu.com/s/1c0sDblI 密码: anie 上海区域 Highmaps

  3. Google Earth Engine(GEE)——下载中国区域MCD19A2 AOD气溶胶数据tif格式

    上一次写了气溶胶数据下载流程,但是,代码确实出现了问题,展示不成问题,但是下载过程中出现了期待的是影像的波段值,但是实际上给出的却是影像的集合,所以问题出现在那里呢? ​ 上次写的文章问题: 满天星: ...

  4. python 表格格式输出_利用python对excel中一列的时间数据更改格式操作

    问题场景:需要将下列的交期一列的数据格式更改成2019/05/10 存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 2019-05-10 00:00:00 1 K10Y01 ...

  5. python对excel数据更改_利用python对excel中一列的时间数据更改格式代码示例

    本篇文章小编给大家分享一下利用python对excel中一列的时间数据更改格式代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 问题场景:需要将 ...

  6. 用python对excel中一列的时间数据更改格式

    用python对excel中一列的时间数据更改格式 问题场景:需要将下列的交期一列的数据格式更改成2019/05/10 存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 20 ...

  7. Highmaps的天津地图数据JSON格式

    Highmaps的天津地图数据JSON格式 Highmaps的天津地图数据JSON格式 下载链接: http://pan.baidu.com/s/1eQgxECU password: tjmj 天津地 ...

  8. Highmaps重庆地图数据JSON格式

    Highmaps重庆地图数据JSON格式 Highmaps重庆地图数据JSON格式 下载链接: http://pan.baidu.com/s/19CmOu 密码: yz5b 重庆地图数据JSON

  9. php爬虫实时更新天气,Python爬虫获取中国天气网天气预报数据[2018-06-12更新]

    实时天气显示建议用Domoticz内置的DarkSky. 天气预报只能自己获取. 此脚本获取中国天气网七日预报,设备需要自建虚拟硬件,添加虚拟设备,设备类型选择Text文本. 效果: 屏幕快照 201 ...

  10. python爬虫获取中国天气网天气数据 requests BeautifulSoup re

    python获取中国天气网天气数据:http://www.weather.com.cn/textFC/henan.shtml main.py # -*- coding: utf-8 -*- impor ...

最新文章

  1. 合唱队形(递增再递减的最长子序列)
  2. SQL Server:APPLY表运算符
  3. SQL 数据库的使用
  4. 《数据结构与抽象:Java语言描述(原书第4版)》一2.1.4 让实现安全
  5. Android学习之PopupWindow
  6. GitHub 日收 12,000 星,微软新命令行工具引爆程序员圈!
  7. C语言编程七层塔381,【计算机类职业资格】二级C语言-381 (1)及答案解析.doc
  8. URAL - 1153 Supercomputer 大数开方
  9. Android源码参考
  10. [Matlab有限元分析] 1.有限元分析的发展、基本概念和特点
  11. 基于python实现开机自动连接校园网(广工商)
  12. 微信会员卡 java请求_会员系统对接微信会员卡的好处
  13. 职称体系岗位等级对照
  14. “progtam received signal SIGABRT,Aborted.“错误
  15. [USACO10OCT]汽水机Soda Machine
  16. 漫谈测试员系列:无BUG不生活
  17. 【报错记录】AttributeError: ‘xxx‘ object has no attribute ‘module‘
  18. 缓冲区设计--环形队列
  19. 固体微电子学与半导体物理学
  20. docker入门,看这一篇就够啦

热门文章

  1. 使用Animation编辑器编辑动画
  2. 修改R语言安装包的默认路径 r包安装位置
  3. 新闻管理系统的设计与实现
  4. 托普进销存 智慧版v1.3.0
  5. 全国大学生创新创业比赛-----采油厂绩效考核系统的设计与开发
  6. CCNA学习指南 第七章 下载
  7. 2011年国家统计局省市代码、城市代码、省份代码表数据
  8. jQuery Mobile手机开发视频教程全套 共80集
  9. 李炎恢python_前端教程:李炎恢jQuery视频教程 百度网盘
  10. poi导出excel 损坏_poi导出excel解决方法