Как спроецировать GeoTIFF на указанную площадь? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь отобразить файл GeoTIFF в указанной области. То, что я хочу сделать, это проецировать многополосный файл GeoTIFF в указанную область.

My GeoTIFF - это спутниковое изображение, содержащее 3 полосы по всей Европе. Я хочу спроецировать это в область Центральной Европы (степень определяется широтой / долей). Я пытался решить эту проблему с помощью растерио, но мне пока не повезло. Вот что я получаю после выполнения:

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

#define path to geotiff
file = "/home/lubomir/Desktop/Sentinel3_OLCI/RGB/OLCI_201812140859_Natural_Color.tif"

m = Basemap(epsg=3395,llcrnrlat=45,urcrnrlat=55,\
            llcrnrlon=5,urcrnrlon=25,lat_ts=15,resolution='f')

m.drawcoastlines(linewidth=0.5, color='g')
m.fillcontinents(color='beige')
m.drawcountries(linewidth=0.5, color='m')

#load GeoTIFF multiband file
image = georaster.MultiBandRaster(file)

plt.imshow(image.r, extent=image.extent, zorder=10)
plt.savefig('test.tiff')
plt.show()

without_geotiff

Как видите, сгенерированное изображение не содержит мой GeoTIF. Есть идеи, как это решить?

1 Ответ

0 голосов
/ 12 января 2019

Чтобы использовать проекцию Базовой карты, вы должны использовать

m.imshow(image.r, extent=image.extent, zorder=10)

вместо

plt.imshow(image.r, extent=image.extent, zorder=10)

Надеюсь, это поможет.

...