如何在底图地图上定位PNG图像?

时间:2019-05-16 18:00:21

标签: python matplotlib matplotlib-basemap imshow imread

我正在使用代码从ArcGIS服务器导入图像并将其用作背景图。在该背景下,我添加了风的玫瑰,使用函数imread导入了风的玫瑰,并使用imshow插入了它。

但是,我不知道如何在地图上定位它。如何将风玫瑰的中心放在想要的位置?我也不知道如何设置它的大小。

我正在使用底图,因为这是我发现插入世界影像作为背景的最简单方法。

我在论坛上研究了其他类似问题,但没有一个给我解决方案。

以下是我正在使用的代码:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

# Define the map boundaries lat/lon
top_right_lat = -13.68
top_right_lon = -48.16
bot_left_lat = -13.8
bot_left_lon = -48.32

# Create a Map object with cylindrical projection
m = Basemap(resolution='c',projection='cyl', \
            llcrnrlon=bot_left_lon, llcrnrlat=bot_left_lat, \
            urcrnrlon=top_right_lon, urcrnrlat=top_right_lat,)

## Add a ArcGIS background image.
fig, ax = plt.subplots(figsize=(10,10))

m.arcgisimage(service='World_Imagery', xpixels=1000, dpi=300, verbose=False)

meridians = np.arange(-48.3,-47.9,0.02)
m.drawmeridians(meridians,labels=[0,0,0,1],fontsize=14);

parallels = np.arange(-13.8,-13.68,0.02)
m.drawparallels(parallels,labels=[1,0,0,0],fontsize=14);

#Add the wind rose

datafile = 'WR_tarde.png'

im = plt.imread(datafile)

m.imshow(im, zorder=1, origin='upper', alpha=0.75)

以下是我得到的数字:

enter image description here

使用imshow函数上的“原点”参数是因为风的上升与轴成反方向。

使用此代码,我可以插入风玫瑰,但将其插入到固定位置,不知道如何在地图上定位它。

我想知道我的代码中是否可以做些什么来设置玫瑰在风中的位置,我还想设置其大小。

如果有人知道另一种方法,我愿意提出建议。

非常感谢您。

0 个答案:

没有答案