Gdal.translate создает карту с перевернутой осью широты. ⇐ Python

Программы на Python
Anonymous
Gdal.translate создает карту с перевернутой осью широты.

Сообщение Anonymous »

Я пытаюсь обработать дождевые радиолокационные изображения метеорологической службы Великобритании MET для определенной зоны водосбора.
Я объединяю изображение из нескольких файлов PNG, а затем привязываю его к географической привязке с помощью gdal.translate.По непонятным мне причинам ось широты (северная ось на скриншоте) переворачивается, когда я использую правильный порядок координат для вывода. Границы. Перевернута только ось, само изображение имеет правильную ориентацию. Меняем порядок координат для вывода.Bounds ось находится в правильном направлении. Ориентация самого изображения не меняется (и, следовательно, остается правильной).
Код в приведенном ниже блоке кода (с «неправильным» порядком входных координат) создает карты как показано на скриншоте (с нужной ориентацией оси Y).

Код: Выделить всё

# corresponds to 'boundary box for this image is 48° to 61° north and 12° west to 5° east'
full_cover_radar_coordinates = {"north": 1255449.1294913862,
"south": -162566.0277786366,
"west": -345474.8065004799,
"east": 778063.4254725212}

for file in files: #loop to produce images for every requested timestep
files = 'path'+file

ds = gdal.Open(files)

# Set the output file path
out = 'gif/'+file+'.tif'
output_path = out

# Perform translation using gdal.Translate --- coords should be west, south, east, north
gdal.Translate(output_path,
ds,
outputBounds=[full_cover_radar_coordinates.get('west'),
full_cover_radar_coordinates.get('north'),
full_cover_radar_coordinates.get('east'),
full_cover_radar_coordinates.get('south')],
outputSRS="EPSG:27700")

# Close the input dataset
ds = None

src = rasterio.open(out)

path = 'gif/new/'+file

gb = gpd.read_file("../shapefile_path/GBR_adm1.shp")
gb = gb.copy()
gb = gb.to_crs(epsg=27700)

ax = gb.plot(edgecolor='black', facecolor='None')
gb.plot(edgecolor='black', facecolor='None', ax=ax)
show(src.read(), transform=src.transform, ax=ax)
pyplot.xlabel("Eastings")
pyplot.ylabel("Northings")
Изображение

Устранены ошибки:
  • проверены координаты.
  • проверена система координат png-файлов, запрошенных из потока данных MET.
  • проверил правильность моей функции «сшивания png-файлов вместе».
  • проверил созданные изображения на соответствие официальным изображениям на сайте дождевого радара MET
  • использовал команду ax.invert_yaxis() из rasterio, но она также переворачивает содержимое изображения
Подводя итог, все работает так, как я хочу, но ось Y перевернута. Что мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/790 ... pside-down

Вернуться в «Python»