2017-06-09 77 views
1

我要求瞭解如何在geotiff圖像頂部疊加抖動速度圖。我一直在使用gdal來處理速度數據的geotiff和netcdf4庫。用顫動陰謀覆蓋圖在python中繪製geotiff

到目前爲止,我已經使用imshow()來繪製geotiff,放大我的研究區域。在範圍論證中,x和y是域東和北的numpy數組。以下是我的代碼,以及我最終形象的照片。

# plot study area 
fig, ax = plt.subplots(figsize=(8, 8)) 
fig = plt.imshow(data[:3,:,:].transpose((1, 2, 0)), extent = 
     [x[1000],x[2000],y[750],y[2000]]) 

imshow() figure of study area, zoomed in

在模型區,我有電流爲顫動的情節,其中eenn是東進與北進的速度的座標的速度大小。速度和座標數據是從netCDF文件中提取的。以下是顫抖代碼和顫抖情節的鏈接。

plt.figure(figsize=(12, 12)) 
plt.quiver(ee,nn,test_u,test_v, scale=75) 
plt.show() 

quiver plot to overlay

我想覆蓋在上面的速度大小在我的GeoTIFF。以下是我的嘗試代碼來做到這一點。我相信我的imshow人物單位和我的箭袋單位沒有正確排列。

plt.figure(figsize=(12, 12)) 
plt.imshow(data[:3,750:2000,1000:2000].transpose((1, 2, 0)), 
     extent = [x[1000],x[2000],y[750],y[2000]]) 
plt.quiver(ee,nn,test_u,test_v, scale=75) 
plt.show() 

任何有關如何通過這個呃逆的提示,我們感激不盡。如何設置我的imshow單位,使像素與地理座標相匹配,以及如何獲得此圖以匹配顫抖圖的單位。我在Python和numpy,gdal和相關的庫中工作有點新。謝謝。

回答

2

您需要使用extent並將其設置爲您擁有的實際單位。在這裏,看來你只需通過1000

extent = [x[1000]*1000,x[2000]*1000,y[750]*1000,y[2000]*1000] 

繁殖在x的數據。但是,只有你肯定知道的座標eenn如何與圖像的像素。