admin管理员组文章数量:1595080
省级行政边界
来自中国科学院资源环境科学数据中心(RESDC)2015年中国省级行政边界数据,通过ArcGIS转为WGS84地理坐标系。包含南海诸岛,不包含十段线
领土边界
将省级行政边界通过ArcGIS的Data Management Tools
->Generalization
->Dissolve
合并为一个多边形图层shp。包含南海诸岛,不包含十段线
十段线
来自GMT中文社区的中国国界、省界、十段线以及南海诸岛dat文件,通过Python写为线图层shp后,通过ArcGIS选中十段线另存为一个线图层shp
全球国家行政边界数据
来自RESDC全球国家行政边界数据,通过ArcGIS改为WGS84地理坐标系
说明
-
GMT中文社区提供的中国国界、省界、十段线以及南海诸岛dat文件中省界之间有交错,所以没有采取其省界
-
十段线参考了MeteoAI(zhangqibot)的九段线地图,该地图省级行政边界与RESDC的省级行政边界重合,九段线与GMT中文社区提供的中国国界、省界、十段线以及南海诸岛dat文件的十段线重合(缺少台湾东侧那一根),以此判断GMT中文社区提供的dat文件中十段线的可靠性
-
GMT中文社区提供的仅包含十段线数据dat文件里有13段线,有点奇怪,所以没深究,直接手动从其提供的中国国界、省界、十段线以及南海诸岛dat文件中提取所需的十段线
-
cartopy自带的全球国家行政边界数据和我国领土主张不符(很明显的差别如藏南等地区),所以中国地图和全球国家行政边界数据均选用来自RESDC比较规范。有个小问题是RESDC的中国领土边界和全球国家行政边界数据在中国国境线上还是有点交错的,可能是分辨率不同的原因?但是不放大看看不出来
网址
-
中国科学院资源环境科学数据中心2015年中国省级行政边界数据
http://www.resdc/data.aspx?DATAID=200 -
GMT中文社区地学数据
https://gmt-china/data/ -
MeteoAI(zhangqibot)省级行政边界含九段线
https://cloud.tencent/developer/article/1484356 -
整理后的shp文件
链接: https://pan.baidu/s/1Di_mEd27LQ343mXdmZxdQg 提取码:nkde
Python绘图示例
import numpy as np
import cartopy.crs as ccrs
import cartopy.feature as cfeat
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
from cartopy.io.shapereader import Reader as shpreader
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
extent = [70, 140, 0, 60]
Chinese_land_territory_path = r'.\Chinese_land_territory\Chinese_land_territory'
Chinese_10dash_line_path = r'.\Chinese_10-dash_line\Chinese_10-dash_line'
world_countries_path = r'.\world_countries\world_countries'
# 创建坐标系
prj = ccrs.PlateCarree()
fig = plt.figure(figsize=(10, 8), dpi=350)
ax = fig.subplots(1, 1, subplot_kw={'projection': prj})
ax.set_extent(extent, crs=prj)
# 绘制中国陆地领土边界
Chinese_land_territory = shpreader(Chinese_land_territory_path).geometries()
Chinese_land_territory = cfeat.ShapelyFeature(Chinese_land_territory,
prj, edgecolor='k',
facecolor='none')
ax.add_feature(Chinese_land_territory, linewidth=1)
# 绘制中国十段线
Chinese_10dash_line = shpreader(Chinese_10dash_line_path).geometries()
Chinese_10dash_line = cfeat.ShapelyFeature(Chinese_10dash_line,
prj, edgecolor='r')
ax.add_feature(Chinese_10dash_line, linewidth=2)
# 绘制世界各国领土边界
world_countries = shpreader(world_countries_path).geometries()
world_countries = cfeat.ShapelyFeature(world_countries,
prj, edgecolor='k', alpha=0.3,
facecolor='none')
ax.add_feature(world_countries, linewidth=0.5)
# 添加自带地形数据
ax.stock_img()
# 绘制网格点
gl = ax.gridlines(crs=prj, draw_labels=True, linewidth=1.2, color='k',
alpha=0.5, linestyle='--')
gl.xlabels_top = False # 关闭顶端的经纬度标签
gl.ylabels_right = False # 关闭右侧的经纬度标签
gl.xformatter = LONGITUDE_FORMATTER # x轴设为经度的格式
gl.yformatter = LATITUDE_FORMATTER # y轴设为纬度的格式
gl.xlocator = mticker.FixedLocator(np.arange(extent[0], extent[1]+10, 10))
gl.ylocator = mticker.FixedLocator(np.arange(extent[2], extent[3]+10, 10))
fig.savefig('demo.png')
本文标签: 中国地图
版权声明:本文标题:中国地图 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1725881202a1046870.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论