Я добавляю плитки ArcGIS к картографическому графику в Python, но когда я настраиваю ax.set_extent
, чтобы увеличить фигуру для меньшего региона, плитки искажаются для определенных экстентов.Различные проекции с разной степенью вызывают проблему, и я не понимаю шаблон, но я подозреваю, что это связано с основным меридианом.Несколько примеров показаны ниже. Есть ли способ предотвратить искажение изображений листов при настройке экстента карты?
Начните с этого:
import cartopy.crs as ccrs
import cartopy.io.img_tiles as cimgt
arcgis_url = 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}.jpg'
tiles = cimgt.GoogleTiles(url=arcgis_url)
Пример 1: плитки работают должным образом наполное изображение PlateCarree:
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(1,1,1, projection=ccrs.PlateCarree())
ax.coastlines()
ax.add_image(tiles,1)
![enter image description here](https://i.stack.imgur.com/l99FY.png)
Пример 2: плитки также работают, как и ожидалось, с Ламбертом Конформное изображение, увеличенное для США и Атлантического океана:
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(1,1,1, projection=ccrs.LambertConformal(central_longitude=-100))
ax.coastlines()
ax.add_image(tiles,1)
ax.set_extent([-130, -10, 10, 50], crs=ccrs.PlateCarree())
![enter image description here](https://i.stack.imgur.com/trgsh.png)
Пример 3: плитки НЕ работают при увеличении плиты Карри к западу от основного меридиана:
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(1,1,1, projection=ccrs.PlateCarree())
ax.coastlines()
ax.add_image(tiles,1)
ax.set_extent([-130, -10, 10, 50], crs=ccrs.PlateCarree())
![enter image description here](https://i.stack.imgur.com/iMtvT.png)
Пример 4. Плитки НЕ работают для этого Ламберта. Конформная степень:
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(1,1,1, projection=ccrs.LambertConformal(central_longitude=-100))
ax.coastlines()
ax.add_image(tiles,1)
ax.set_extent([-130, -40, 20, 50], crs=ccrs.PlateCarree())
![enter image description here](https://i.stack.imgur.com/APy3y.png)