Согласно базовой карте , документации , etopo
использует данные со страницы NOAA (которая обеспечивает разрешение в 1 угловую минуту) для отображения рельефа.С координатами, которые вы указываете в своем коде, я бы ожидал, что максимальное разрешение составляет около 33x25 пикселей.
Теперь, в соответствии с документацией Базовой карты, etopo принимает ключевое слово scale
, чтобы уменьшить масштаб данных, по умолчанию None
, но в действительности они не указывают, какой диапазон значений принимается.Я начал играть с этим и, используя scale=5
, в вашем (слегка адаптированном) коде:
from matplotlib import pyplot as plt
from mpl_toolkits.basemap import Basemap
west, south, east, north = -74.26, 40.50, -73.70, 40.92
m = Basemap(projection='merc', llcrnrlat=south, urcrnrlat=north,
llcrnrlon=west, urcrnrlon=east, lat_ts=south, resolution='i')
result = m.etopo(scale=5)
print(result.get_size())
plt.show()
Я получаю следующее изображение (ВНИМАНИЕ: это занимает некоторое время):
Вывод команды print
(т. Е. Размер изображения в пикселях) равен
(32, 32)
, что меня озадачивает, так как яне ожидал, что разрешение станет таким высоким в широтном направлении.Я предполагаю, что происходит некоторая интерполяция, но, чтобы быть уверенным, нужно пройти через код, чтобы увидеть, что на самом деле делает ключевое слово scale
.