Цель состоит в том, чтобы использовать веб-карту ESRI в качестве базовой карты под шейп-файлом для сценария, который визуализирует землетрясения на Филиппинах. Но сначала я практикуюсь в использовании базовой карты в отдельном скрипте.
Чтобы получить общие границы шейп-файла Филиппин из GADM:
import geopandas as gpd
prov = gpd.read_file('Provinces.shp')
In: prov.total_bounds
Out: array([116.9283371 , 4.58693981, 126.60534668, 21.07014084])
Чтобы получить базовую карту ESRI:
import os
os.chdir(r'path')
import matplotlib.pyplot as plt
import numpy as np
os.environ['PROJ_LIB'] = r'path'
from mpl_toolkits.basemap import Basemap
tb = {'llon': 116.9283371, 'llat': 4.58693981,
'ulon': 126.60534668, 'ulat': 21.07014084}
map = Basemap(projection="tmerc", ellps='WGS84', epsg='4326',
llcrnrlon=tb['llon'], llcrnrlat=tb['llat'],
urcrnrlon=tb['ulon'], urcrnrlat =tb['ulat'],
lon_0=np.average([116.9283371, 126.60534668]),
lat_0=np.average([4.58693981, 21.07014084]))
map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels=2000,
verbose=True, zorder=1)
plt.show()
Результат - пустой график
Код основан на этой теме: Использование изображения Google Maps в качестве слоя с базовой картой Matplotlib?