高效获得准确的中国地图数据并进行可视化

[2022-05-18日更新] getchinamap包更新

  1. 不知道是不是gitee疯了,把我在上面托管的一个数据给禁止了,导致我这个包用不了了。这里做一次更新。
  2. 目前建议所有人升级getchinamap包到1.0.6版本。之前的版本都用不了了。
  3. 本次包主要修改了下载器初始化的步骤,具体查看下方的步骤。

介绍

因为获得中国地图数据难的问题,解决中国地图数据不准确、不全面问题。我发布了一个python,让你使用中国地图更加方便。

效果图

from getchinamap.getchinamap import DownloadChmap
chinamap_engine = DownloadChmap()
data = chinamap_engine.download_country(target='县区')

nine_segments = chinamap_engine.download_nine_segments()

import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(10,10), dpi=300)
data.boundary.plot(ax=ax)
nine_segments.boundary.plot(ax=ax)

fig.savefig('县区.png')

获得中国地图数据

目的

本包主要是为了解决获得中国地图数据难的问题,这里提供一个python的解决方案。让大家用中国地图更加宽心、方便。

本包特点

  1. 简单;
  2. 高效;
  3. 准确(相对网络上的数据,中国地图数据更加准确);
  4. 完整(数据完整,包括中国各个区域;并且可以让用户下钻到县区级别)

数据来源

本包查询到的数据全部来源于 阿里云的DataV http://datav.aliyun.com/portal/school/atlas/area_selector

因此数据基本上和高德地图保持一致;

使用声明

  1. 请合理使用地图数据;数据内容和本人无关;数据具体用途也和本人无关;

使用方式

先安装本包

pip install getchinamap==1.0.6

下载依赖数据[在1.0.6版本修改了]

  1. 本仓库之前依靠的是阿里云发布的AMap_adcode_citycode_20210406.csv文件。这个文件被我经过修改,现在这个文件在仓库https://github.com/yuanzhoulvpi2017/chinamapdataset文件夹下。
  2. 需要把上面文件AMap_adcode_citycode_20210406.csv下载到本地。

导入包并且初始化包


from getchinamap.getchinamap import DownloadChmap
# 把上面的文件路径放到这里
chinamap_engine = DownloadChmap(adcode_file="../datasets/AMap_adcode_citycode_20210406.csv")

获得县区级数据

目前县区级别的数据,只能获得县区的边界,不能获得县区下的街道、村内容。

只要使用chinamap_engine.download_district即可,里面的参数需要传递县区名称

chinamap_engine.download_district(district_name='寿县')
chinamap_engine.download_district(district_name='余杭区')

获得市级数据

目前市级数据,只能获得市级的边界、县区,不能获得街道、村内容。

只要使用chinamap_engine.download_city函数。
需要传递两个参数:

  1. city_name代表城市名称,比如杭州市,合肥市;
  2. target代表下钻维度:边界, 县区。

chinamap_engine.download_city(city_name='杭州市',target='边界')
chinamap_engine.download_city(city_name='杭州市',target='县区')


chinamap_engine.download_city(city_name='合肥市',target='边界')

获得省级数据

目前省级数据,只能获得省级的边界、市、县区,不能获得街道、村内容。
只要使用chinamap_engine.download_province函数。
需要传递两个参数:

  1. province_name代表省的名字,比如浙江省,安徽省等;
  2. target代表下钻维度:边界,市,县区。
chinamap_engine.download_province(province_name='浙江省', target='边界')
chinamap_engine.download_province(province_name='浙江省', target='市')
chinamap_engine.download_province(province_name='浙江省', target='县区')

chinamap_engine.download_province(province_name='安徽省', target='边界')
chinamap_engine.download_province(province_name='安徽省', target='市')

获得国家级数据

目前国家级数据,只能获得国家级的边界、省、市、县区,不能获得街道、村内容。(默认国家为中国)。
只要使用chinamap_engine.download_country函数。
需要传递一个参数:

  1. target代表下钻维度:边界,省,市,县区。
chinamap_engine.download_country(target='边界')
chinamap_engine.download_country(target='省')
chinamap_engine.download_country(target='市')
chinamap_engine.download_country(target='县区') # 建议少用

获得南海九段线

如果需要添加九段线,可以使用这个函数,获得九段线数据即可。


chinamap_engine.download_nine_segments()

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuanzhoulvpi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值