A python package to draw china maps more easily
Project description
cnmaps是一个可以让中国地图画起来更丝滑的地图类python扩展包
安装
安装cnmaps建议使用Python的解释器在3.8版本及以上。
使用conda安装
cnmaps最简单的安装方法是使用conda安装: $ conda install -c conda-forge cnmaps
使用pip安装
若要使用pip安装,则需要手动安装一些依赖:
- cartopy:
$ conda install -c conda-forge "cartopy>=0.20.0"
- fiona:
$ conda install -c conda-forge "fiona>=1.8.21"
在完成上述依赖的安装以后,你可以使用pip来安装cnmaps: $ pip install -U cnmaps
快速开始
绘制国界
用最简单直接的方式,来绘制你的第一张中国地图。
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cnmaps import get_adm_maps, draw_maps
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
draw_maps(get_adm_maps(level='国'))
plt.show()
绘制省界
cnmaps还可以绘制各省(特区/直辖市)的地图
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cnmaps import get_adm_maps, draw_maps
fig = plt.figure(figsize=(10,10))
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
draw_maps(get_adm_maps(level='省'), linewidth=0.8, color='r')
plt.show()
绘制市界
cnmaps可以绘制市级的行政区地图。
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cnmaps import get_adm_maps, draw_maps
fig = plt.figure(figsize=(15,15))
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
draw_maps(get_adm_maps(level='市'), linewidth=0.5, color='g')
plt.show()
绘制区县界
cnmaps可以绘制区县级的行政区地图。
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cnmaps import get_adm_maps, draw_maps
fig = plt.figure(figsize=(20,20))
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
draw_maps(get_adm_maps(level='区县'), linewidth=0.8, color='r')
plt.show()
Logo
本项目的Logo地图是如何绘制的?请执行下面的代码。
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cnmaps import get_adm_maps
fig = plt.figure(figsize=(5,5))
proj = ccrs.Orthographic(central_longitude=100.0, central_latitude=30)
ax = fig.add_subplot(111, projection=proj)
ax.stock_img()
china, sourth_sea = get_adm_maps(level='国', only_polygon=True)
ax.set_global()
ax.add_geometries(china, crs=ccrs.PlateCarree(), edgecolor='r', facecolor='r')
ax.add_geometries(sourth_sea, crs=ccrs.PlateCarree(), edgecolor='r')
ax.outline_patch.set_edgecolor('white')
plt.savefig('../static/images/logo-base.png', bbox_inches='tight')
使用指南
针对本项目更多的使用方法,我们还有一份更详细的文档:cnmaps使用指南
引用
本项目适用的地图边界的数据源包括:
- GaryBikini/ChinaAdminDivisonSHP: v2.0, 2021, DOI: 10.5281/zenodo.4167299
海拔高度地形数据来自ASTER数字高程模型,并对原始数据进行了稀释。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cnmaps-1.1.0.tar.gz
(50.6 MB
view details)
Built Distribution
cnmaps-1.1.0-py3-none-any.whl
(52.0 MB
view details)
File details
Details for the file cnmaps-1.1.0.tar.gz
.
File metadata
- Download URL: cnmaps-1.1.0.tar.gz
- Upload date:
- Size: 50.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd8c837507536139b95c0bcfeed6e71f92273ad5eefc24ecd1b681c0e53fd89f |
|
MD5 | af64e7d29b7ba25ba9fb9aaad3c7d5b6 |
|
BLAKE2b-256 | 79c00b53550c234e576b8682bf913ce8cff1714ba30ed8ba00778b20d048d734 |
Provenance
File details
Details for the file cnmaps-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: cnmaps-1.1.0-py3-none-any.whl
- Upload date:
- Size: 52.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d066493814c59f438978becab7f118af00998af6b1e92607827e7a351160cc97 |
|
MD5 | 9a793a058d985a3411b9421b4f33d4c1 |
|
BLAKE2b-256 | 2e691e9f2445692e448f64d48698a0e4021da12aa4d48beadd04d5d14156172f |