我是靠谱客的博主 失眠信封,最近开发中收集的这篇文章主要介绍python cartopy绘制中国区域(包含国界、省界、十段线以及海南诸岛),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER


#中国行政区域数据来源GMT中文社区:https://docs.gmt-china.org/latest/dataset-CN/CN-border/
# 读取坐标数据
with open(r'D:GMTdatachina-geospatial-data-GB2312CN-border-La.gmt') as src:
    context = src.read()
    blocks = [cnt for cnt in context.split('>') if len(cnt) > 0]
    borders = [np.fromstring(block, dtype=float, sep=' ') for block in blocks]

#设置画图参数
fig = plt.figure(figsize=[12, 8])
ax = plt.axes(projection=ccrs.PlateCarree())

# ax = plt.axes(projection=ccrs.LambertConformal(central_latitude=90,central_longitude=105))
#画海洋、陆地、河流、湖泊
ax.add_feature(cfeature.OCEAN.with_scale('50m'))
ax.add_feature(cfeature.LAND.with_scale('50m'))
ax.add_feature(cfeature.RIVERS.with_scale('50m'))
ax.add_feature(cfeature.LAKES.with_scale('50m'))

#绘制国界、省界、十段线、海南诸岛数据

for line in borders:
    ax.plot(line[0::2], line[1::2], '-', color='gray',transform=ccrs.Geodetic())


# 画经纬度网格
gl = ax.gridlines(draw_labels=True, linewidth=1, color='k', alpha=0.5, linestyle='--')
gl.xlabels_top = False  #关闭顶端标签
gl.ylabels_right = False  #关闭右侧标签

gl.xformatter = LONGITUDE_FORMATTER  #x轴设为经度格式
gl.yformatter = LATITUDE_FORMATTER  #y轴设为纬度格式
ax.set_extent([80, 130, 13, 55])
plt.show()

在这里插入图片描述

最后

以上就是失眠信封为你收集整理的python cartopy绘制中国区域(包含国界、省界、十段线以及海南诸岛)的全部内容,希望文章能够帮你解决python cartopy绘制中国区域(包含国界、省界、十段线以及海南诸岛)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部