Saya menggunakan gdalwarp untuk memanipulasi ubin SRTM dekat dateline (yaitu 180 °, alias antimeridian). Ubin SRTM memiliki sedikit (1/2 piksel) tumpang tindih dengan meridian. Anda dapat melihat ini menggunakan gdalinfo:
gdalinfo S16W180.hgt
Driver: SRTMHGT/SRTMHGT File Format
Files: S16W180.hgt
Size is 1201, 1201
[...]
Lower Left (-180.0004167, -16.0004167) (180d 0' 1.50"W, 16d 0' 1.50"S)
Upper Right (-178.9995833, -14.9995833) (178d59'58.50"W, 14d59'58.50"S)
[...]
Jadi sumber tersebut merentang dateline dengan jumlah kecil.
Ini menyebabkan masalah dengan gdalwarp, yang pada akhirnya menciptakan keluaran globe-spanning besar.
gdalwarp -t_srs "epsg:900913" S16W180.hgt test.tif
gdalinfo test.tif
Driver: GTiff/GeoTIFF
Files: test.tif
Size is 1703, 5
[...]
Lower Left (-20037508.330,-1806798.473) (180d 0' 0.00"W, 16d 7'13.00"S)
Upper Right (20032839.451,-1689152.120) (179d57'29.01"E, 15d 5'45.84"S)
Perhatikan rentang garis bujur (hampir) seluruh bola dunia, dan juga jumlah garis sangat kecil (5)
Apakah ini bug di gdalwarp? Jika tidak, apa saja pilihan yang benar untuk dilewatkan ke gdalwarp untuk mendapatkan hasil yang masuk akal?
Jawaban:
Salah satu solusi yang mudah adalah dengan menentukan sistem koordinat "secara manual" sebagai string PROJ. Ini memungkinkan Anda menggunakan
+over
sakelar yang menonaktifkan pembungkus antimeridian:Ketika saya melakukan itu dan kemudian melakukan
gdalinfo
hasilnya, saya mendapatkan ini:Saya mendapatkan string PROJ (tanpa
+over
) dari melihat output asligdalinfo
. Itu dimasukkan dalamEXTENSION[...]
blok sistem koordinat.sumber
Ini bekerja dalam dua langkah:
Perintah pertama memulai setengah piksel tambahan di sisi 180 ° meridian yang salah. Anda mendapatkan file output yaitu 1178P x 1222L.
Atau, dengan gdal_translate:
Membuat file output yang 1179P x 1223L.
sumber
Ketika saya menghadapi masalah yang sama, saya menulis skrip shell kecil yang mencari tahu apakah file raster melintasi dateline. Jika benar, opsi berikut ditambahkan ke gdalwarp:
Beginilah cara skrip bekerja langkah demi langkah:
MEMPERBARUI Versi naskah yang lebih baik, membutuhkan GDAL 2.0+ dan Python: Versi lama di bawah ini.
sumber
Ini masalah di perpustakaan GDAL. Tampaknya GDALSuggestedWarpOutput () memberikan output aneh untuk lebar dan tinggi file output.
Saya belum menemukan cara untuk mengatasi ini.
sumber