У меня есть растровое изображение геотифа, которое имеет систему координат с долготой от 0 до 360. Горизонтальный центр изображения составляет 180 долготы. Смотрите изображение ниже:
Я хочу преобразовать его в EPSG: 4326 SRS с дальностью -180 180. И я хочу, чтобы центр изображения был на гринвичском меридиане (0). Я предполагаю, что этот srs очень широко используется. Я ожидаю, что результат будет выглядеть так:
Поэтому я использую команду gdalwarp для перепроектирования:
gdalwarp -s_srs '+proj=latlong +datum=WGS84 +pm=180dW' -t_srs EPSG:4326 test_col.tif test_4326.tif
Но я получаю только tiff с большими размерами (больше пикселей) и метаданными EPSG: 4326. Само изображение выглядит так же, как и исходное. Но я ожидаю, что это поменяет полушария.
Вопрос в том, как мне сделать изображение строго -180 180 EPSG: 4326 с центром в 0 долготы?
Это gdalinfo моего исходного файла:
Origin = (-0.102272598067084,89.946211604095552)
Pixel Size = (0.204545196134167,-0.204423208191126)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( -0.1022726, 89.9462116) ( 0d 6' 8.18"W, 89d56'46.36"N)
Lower Left ( -0.1022726, -89.9462116) ( 0d 6' 8.18"W, 89d56'46.36"S)
Upper Right ( 359.897, 89.946) (359d53'50.18"E, 89d56'46.36"N)
Lower Right ( 359.897, -89.946) (359d53'50.18"E, 89d56'46.36"S)
Center ( 179.8975000, -0.0000000) (179d53'51.00"E, 0d 0' 0.00"S)
Это gdalinfo после gdalwarp
Origin = (-180.102727401932952,89.946211604095552)
Pixel Size = (0.091397622896436,-0.091420837939082)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left (-180.1027274, 89.9462116) (180d 6' 9.82"W, 89d56'46.36"N)
Lower Left (-180.1027274, -89.9699975) (180d 6' 9.82"W, 89d58'11.99"S)
Upper Right ( 179.8211116, 89.9462116) (179d49'16.00"E, 89d56'46.36"N)
Lower Right ( 179.8211116, -89.9699975) (179d49'16.00"E, 89d58'11.99"S)
Center ( -0.1408079, -0.0118929) ( 0d 8'26.91"W, 0d 0'42.81"S)
источник
-tr xres yres
флаг?Ответы:
Вы можете явно установить диапазон выходных координат с помощью параметра целевого экстента равным gdalwarp (т. Е. "-Te -180 -90 180 90"), но вы также можете использовать параметр конфигурации CENTER_LONG, чтобы принудительно развернуть вокруг новой центральной долготы. Что-то вроде этого:
Обратите также внимание на опцию «SOURCE_EXTRA = 1000». При переупаковке вычисление исходного прямоугольника запутается из-за прерывания по долготе и потеряет некоторые изображения. Эта опция говорит тянуть в некоторых дополнительных. Без этого вы увидите пробел в данных рядом с основным меридианом.
PS. установка основного меридиана 180dW, как вы сделали, не очень хорошая идея, имхо.
источник
--config CENTER_LONG 0
ничего не делает, результат тот же растр. Что-то я здесь скучаю? Работает на GDAL версии 2.2.3.В основном вам нужно разрезать растр на две части и соединить их вместе с новым смещением / масштабом.
Вот пример того, как сделать это от [-180,180] до [0,360] с помощью gdal_translate и драйвера VRT: http://trac.osgeo.org/gdal/wiki/UserDocs/RasterProcTutorial
Сканирование до «5-минутного учебника» и детали находятся в разделе «Виртуальные файлы». Это должно быть достаточно просто, чтобы изменить пример, чтобы удовлетворить.
источник
Это можно сделать в R с помощью одной строки кода, используя
rotate
функцию сraster
пакетом.источник
Если вы просто хотите просмотреть растр в QGIS, вы можете установить собственную проекцию с параметром + lon_wrap = 180.
Насколько я понимаю, по умолчанию proj4 переносит широты от 0 -> 360 до -180 -> 180. + lon_wrap = 180 эффективно отменяет это перенос и отображает широты между 180 и 360 в западном полушарии.
Опция + over должна полностью отключить перенос, но - по крайней мере, в моем случае - растр не отображался должным образом при использовании этой опции.
См. Http://proj4.org/parameters.html#lon-wrap-over-longitude-wrapping для получения дополнительной информации.
источник
Вот функция, которую я построил, чтобы перепроектировать один тусклый массив значений сетки, используя javascript от 0-360 до -180-180. Я надеюсь, что это может кому-то помочь.
источник