Как разместить изображение в формате PNG на карте базовой карты? - PullRequest
0 голосов
/ 16 мая 2019

Я использую код для импорта изображения с сервера ArcGIS и использую его в качестве фонового рисунка.На этом фоне я добавляю розу ветров, импортирую розу ветров с помощью функции imread и вставляю ее с помощью imshow.

Однако я не знаю, как расположить ее накарта.Как я могу поставить центр розы ветров в нужное мне положение?Я тоже не знаю, как установить его размер.

Я использую Базовую карту, потому что это был самый простой способ вставить World Imagery в качестве фона.

Я исследовал другие подобные проблемы на форуме, но ни один из них не дал мне решения.

Ниже приведен код, который я использую:

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

Аргумент «origin» в функции imshow используется потому, что роза ветров была с осью и инвертирована.

С помощью этого кода я могу вставить розу ветров, но она вставлена ​​в фиксированное положение, яне знаю, как расположить его на карте.

Я хотел бы знать, есть ли что-то, что я могу сделать в своем коде, который позволяет мне устанавливать положение роз на ветру, я также хотел быустановить его размер.

Если кто-нибудь знает другой способ сделать это, я открыт для предложений.

Заранее большое спасибо.

...