中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

matplotlib Basemap中如何加載shp文件

發布時間:2021-12-02 17:57:07 來源:億速云 閱讀:1054 作者:小新 欄目:大數據

小編給大家分享一下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文件

看完了這篇文章,相信你對“matplotlib Basemap中如何加載shp文件”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

达尔| 怀来县| 闽侯县| 镇赉县| 呈贡县| 集贤县| 石台县| 清水河县| 亳州市| 竹北市| 湘潭县| 衡水市| 夏河县| 江都市| 谢通门县| 浦城县| 宜兰市| 靖江市| 吉水县| 永川市| 水富县| 壤塘县| 财经| 阳高县| 南开区| 黎城县| 吕梁市| 综艺| 元江| 赤峰市| 兴仁县| 大冶市| 肥东县| 伊吾县| 孝感市| 全椒县| 江孜县| 于都县| 额敏县| 汤阴县| 宽城|