matplotlib Basemap中如何加载shp文件
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下matplotlib Basemap中如何加载shp文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!matplotlib是python中的一个画图插件;matpl
千家信息网最后更新 2025年12月02日matplotlib Basemap中如何加载shp文件
小编给大家分享一下matplotlib Basemap中如何加载shp文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
matplotlib是python中的一个画图插件;
matplotlib支持二维图的效果,也支持三维图的效果,在大数据的制作中,可以以地图为底,在旁边加上柱状图的效果,达到一个三维立体的效果,python现成的库有很多,这在开发中就比较方便,可以直接import进来使用。
matplotlib的Basemap中包含解析常用的shp格式矢量数据,通过读取shp文件,可以很方便的在Basemap上进行画图。
下边是根据Basemap的一个例子,说明如何读取shp,并将shp里的数据画在地图上:
#引用相应的类库
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap as Basemap
# 设置地图的坐标系和坐标显示范围
m = Basemap(llcrnrlon=-100.,llcrnrlat=0.,urcrnrlon=-20.,urcrnrlat=57.,
projection='lcc',lat_1=20.,lat_2=40.,lon_0=-60.,
resolution ='l',area_thresh=1000.)
fig=plt.figure()
# 读取shp文件,注意第二个参数是shp文件在地图里的名称,接下来要用的.
shp_info = m.readshapefile('huralll020','hurall',drawbounds=False)
print(shp_info)
#在地图中找到shp文件,读取shp文件中的属性
names = []
for shapedict in m.hurall_info:
cat = shapedict['CATEGORY']
name = shapedict['NAME']
if cat in ['H4','H5'] and name not in names:
if name != 'NOT NAMED': names.append(name)
print(names)
print(len(names))
# 根据属性,在地图上画图
for shapedict,shape in zip(m.hurall_info,m.hurall):
name = shapedict['NAME']
cat = shapedict['CATEGORY']
if name in names:
xx,yy = zip(*shape)
# plot为在地图上画图
if cat in ['H4','H5']:
m.plot(xx,yy,linewidth=1.5,color='r')
elif cat in ['H1','H2','H3']:
m.plot(xx,yy,color='k')
# 在地图上画其他辅助要素,国界,经纬度线等
m.drawcoastlines()
m.drawcountries()
m.drawmapboundary(fill_color='#99ffff')
m.fillcontinents(color='#cc9966',lake_color='#99ffff')
m.drawparallels(np.arange(10,70,20),labels=[1,1,0,0])
m.drawmeridians(np.arange(-100,0,20),labels=[0,0,0,1])
#设置图的标题
plt.title('Atlantic Hurricane Tracks (Storms Reaching Category 4, 1851-2004)')
plt.show()
看完了这篇文章,相信你对"matplotlib Basemap中如何加载shp文件"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
地图
文件
效果
数据
坐标
属性
篇文章
三维
支持
接下来
例子
参数
名称
国界
坐标系
完了
常用
插件
更多
标题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
直销网络技术厂家价格
MES系统使用什么数据库
奥的斯 服务器
酒馆有没有网络技术
宏杉存储 挂载服务器
理想连线网络技术
如何破解测试数据库
软件开发纳税筹划案例分析
工业控制系统网络安全展板
s-numen核心防护的服务器
计算机网络技术710202
nba2k22登录不了服务器
和别的软件共用一个数据库吗
密切警校协作共筑网络安全防线
数据库原理第六章第六题
php数据库
用友数据库恢复
剑灵有哪些服务器
怎样入侵网站和服务器
erp跟数据库关系大吗
idc低成本云数据库
软件开发的工程
河南省网络安全年度报告
修改数据库实例用户的主目录
软件开发工具数据库
计算机网络技术考试试题拓展题
国家医疗质量数据库
web向数据库写入数据
软件开发测算报告
温汉区鑫瑞网络技术工作室