【可视化】绘制中国标准行政区划地图(2024版)
创作时间:
作者:
@小白创作中心
【可视化】绘制中国标准行政区划地图(2024版)
引用
CSDN
1.
https://m.blog.csdn.net/m0_38065162/article/details/141606151
在科研投稿论文过程中,多数期刊杂志要求我们制作涉及国界的图件,必须使用自然资源部地图技术审查中心发布的标准地图底图。凡涉国界图件(国内部分地区、全国、世界部分地区、全球)必须使用自然资源部标准地图服务系统或国家测绘局地理信息局标准地图底图,所用底图边界要完全无修改(包括南海诸岛位置)。本文结合Geopandas和Cartopy两个强大的地理数据处理库进行展示。
相关库简介
Cartopy是一个用于地理数据处理和可视化的Python库,专门设计来处理地图投影和地理空间数据的绘制。它是基于Matplotlib的高层次接口,主要用于创建地理参考图形和地图。Cartopy提供了丰富的功能来处理不同的地图投影、地理参考数据的转换,以及与流行的地理信息系统(GIS)数据格式的集成。
代码实现
导入相关库
# -*- coding: UTF-8 -*-
# 导入相关库
import numpy as np
import xarray as xr
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from copy import copy
from cartopy.mpl.gridliner import LATITUDE_FORMATTER, LONGITUDE_FORMATTER
import shapely.geometry as sgeom
加载数据
国家地理信息公共服务平台(天地图)新增了矢量地图底图下载服务,用户可以根据需求下载不同审图号的标准地图矢量底图。矢量地图相较于像素地图,具有更高的清晰度和可编辑性,可以无限放大而不失真,更适合进行地图编辑和二次创作。获取方式见-天地图。
读取中国区域的省、市、县的区划信息:
# 读取省级行政区划
province = gpd.read_file('中国_省.geojson')
# 读取市级行政区划
city = gpd.read_file('中国_市.geojson')
# 读取县级行政区划
county = gpd.read_file('中国_县.geojson')
市级行政区划展示
# 设置地图投影
proj = ccrs.LambertConformal(central_longitude=105, central_latitude=90,standard_parallels=(25, 47))
# 设置图片大小
fig = plt.figure(figsize=[10, 8],frameon=True)
# Set projection and plot the main figure
ax = fig.add_axes([0.08, 0.05, 0.8, 0.94], projection=proj)
# 设置地图范围
ax.set_extent([80, 130, 15, 55],crs=ccrs.PlateCarree())
# 添加地理要素
ax.add_geometries(city.geometry,
crs=ccrs.PlateCarree(),
edgecolor='k',
facecolor='none',
zorder=1)
# 添加海洋、陆地、河流、湖泊
ax.add_feature(cfeature.OCEAN.with_scale('50m'),zorder=0)
ax.add_feature(cfeature.LAND.with_scale('50m'),zorder=0)
ax.add_feature(cfeature.RIVERS.with_scale('50m'),zorder=0)
ax.add_feature(cfeature.LAKES.with_scale('50m'),zorder=0)
# 设置并添加经纬度标签
xticks = [55, 65, 75, 85, 95, 105, 115, 125, 135, 145, 155, 165]
yticks = [0 , 5 , 10, 15, 20, 25 , 30 , 35 , 40 , 45 , 50 , 55 , 60 , 65]
gl = ax.gridlines(xlocs=xticks,
ylocs=yticks,
draw_labels=True,
x_inline=False,
y_inline=False,
linewidth=1,
color='dimgrey',
alpha=0.5,
linestyle='--')
gl.top_labels = False
gl.right_labels = False
gl.xformatter = LONGITUDE_FORMATTER
gl.yformatter = LATITUDE_FORMATTER
# 添加南海附图
sub_ax = fig.add_axes([0.75, 0.102, 0.15, 0.2],
projection=ccrs.LambertConformal(central_latitude=90,
central_longitude=105))
# 添加海洋、陆地、河流、湖泊
sub_ax.add_feature(cfeature.OCEAN.with_scale('50m'))
sub_ax.add_feature(cfeature.LAND.with_scale('50m'))
sub_ax.add_feature(cfeature.RIVERS.with_scale('50m'))
sub_ax.add_feature(cfeature.LAKES.with_scale('50m'))
# 设置南海附图范围
sub_ax.set_extent([106, 120, 2, 24], crs=ccrs.PlateCarree())
sub_ax.add_geometries(city.geometry, crs=ccrs.PlateCarree(), edgecolor='k', facecolor='none')
plt.show()
结果展示
市级行政区划底图
作为展示,本文只展示了市级行政区划的底图,大家可以替换数据进行省、县级的行政区划展示。
热门推荐
李谷一因病缺席2025春晚,网友:没有她的春晚总觉得少了点什么
吃开心果可抗氧化?营养师推荐20种富含“辅酶Q10原型食物”
绍兴美食攻略!十大名菜小吃带你领略品尝美食文化盛宴!
从被吐槽到被认可:陈建斌的华丽转身
人参皂苷的药理作用与健康益处
知青下乡:农村教育的逆袭之路
上山下乡:一场改变农村命运的运动
温铁军教授揭秘:知识青年如何重塑农村?
常吃蒸菜,营养补得快,这四道蒸菜常吃,孩子身高的“加速器”
万物皆可“蒸”!浏阳美食文化中的蒸菜魅力
手上戴红绳的寓意与象征意义解析 红绳手链的文化意义与吉祥象征
劲松中西医健康科普:常按足三里,强健体魄
舒筋开心阳陵泉:花莲慈院中医部养生教学“十总穴之高兴穴”
肝性脑病个案护理
肝性脑病护理课件:从基础护理到前沿进展
“慢性肝病患者全生命周期管理指南编写”项目启动
一碗猪肝汤真能治愈贫血吗?营养师告诉你真相
石橄榄猪肝汤:泉州阿嫲的滋补秘方
健康饮食新宠:完美炖煮猪肝攻略
猪肝:B族维生素的营养宝库
之江漫笔|一条铁路跨山海 甬舟同城向未来
黑格尔眼中的赫拉克利特:万物流变的秘密
从赫拉克利特到抖音:万物流动的古今共鸣
赫拉克利特:古希腊的“晦涩哲人”
尿酸NO!生活YES!日常运动+健康饮食,双管齐下降尿酸
减重不吃淀粉?低碳水化合物减重,人人适合吗?营养师:小心2大指数变化
洋葱炒猪肝,让你秒变大厨!
如何理解股票放量的现象?股票放量对市场有何影响?
长城炮柴油皮卡油耗解析:7-10升/百公里,这些驾驶技巧帮你省油
如何区分汽油和柴油?区分后怎样根据车辆需求进行选择?