Memahami properti pembuatan Map Tile

10

Saya mencoba membuat peta dasar ubin. Saya memiliki gambar tempat saya ingin membuat ubin dan saya menggunakan GDAL.

Saya berhasil membuat ubin, tetapi ketika saya melihat hasilnya, tampaknya peta ubin adalah:

  1. Itu terbalik
  2. Proporsi tidak benar

Ini adalah gambar hamparan peta: gambar peta

Ini adalah hasil dari ubin:

hasil ubin

Saya memeriksa berkali-kali bahwa koordinatnya baik dengan membandingkan sudut-sudut gambar pada orthophoto.

Hal lain adalah bahwa di google earth dengan koordinat yang sama gambar peta cocok untuk google map.

hamparan google earth

Diedit

gdalinfo map_overlay.png

dengan output ini:

Driver: PNG / Portable Network Graphics Files: map_overlay.png Ukurannya 3527, 2494 Sistem Koordinat adalah `'Struktur Gambar Metadata:
INTERLEAVE = PIXEL Koordinat Sudut: Kiri Atas (0,0, 0,0) Kiri Bawah (0,0, 2494.0) Kanan Atas (3527.0) , 0,0) Kanan Bawah (3527.0, 2494.0) Pusat (1763.5, 1247.0) Band 1 Blok = 3527x1 Jenis = Byte, ColorInterp = Bendera Topeng Merah: PER_DATASET ALPHA Band 2 Blok = 3527x1 Jenis = Byte, ColorInterp = Bendera Topeng Hijau: PER_DATASET ALPHA Band 3 Blok = 3527x1 Jenis = Byte, ColorInterp =
Bendera Topeng Biru : PER_DATASET ALPHA Band 4 Blok = 3527x1 Jenis = Byte, ColorInterp = Alpha

Kemudian terjemahkan:

gdal_translate -of VRT -a_srs EPSG: 4326 -gcp 0 0 31.7431761644 35.1680410195 -gcp 3527 0 31.7493769674 35.1784535489 -gcp 3527 2492 31.7431011291 35.1784951643 -gcp04844816_pengambilanlebih banyak_pemesanan pos_pemukaan.pengaturan 400.pengambilanlebih banyak_pemesanan.de

dengan output ini:

Ukuran file input adalah 3527, 2494

dan terakhir:

gdal2tiles.py -z 14-21 map_overlay.vrt

Hamparan adalah gambar .png sederhana tanpa data khusus.

Saya akan menghargai bantuan apa pun.

Shani

shannoga
sumber
2
Tampaknya ada inkonsistensi dalam gdal_translateparameter yang Anda posting di sini: Anda mengasosiasikan (lat, lon) = (31.7431761644, 35.1680410195) dengan dua titik berbeda pada (0,0) dan (0,2494). Apakah ini benar-benar perintah yang Anda keluarkan, atau ini merupakan kesalahan salin dan tempel?
whuber

Jawaban:

5

Coba gunakan gambar terkoordinasi metrik sebelum membentuknya sebagai:

   gdalwarp -of GTiff -t_srs EPSG:3857 input.tif output.tif 

MEMPERBARUI

Catatan: bahkan jika kita menentukan gcp, gdal_translatetidak akan menentukan koordinat sudut tiff.

Selain itu, Anda tidak perlu membuat set data virtual (.vrt) karena hanya memiliki satu file ...

gunakan kode berikut:

  gdal_translate -of  GTiff  -gcp 0 0 31.7431761644 35.1680410195 -gcp 3527 0 
       31.7493769674 35.1784535489 -gcp 3527 2492 31.7431011291 35.1784951643
      -gcp 0 2494 31.7431761644 35.1680410195 map_overlay.png map_overlay.tif

kemudian

  gdalwarp -s_srs epsg:4326 -t_srs epsg:4326  map_overlay.tif warped_map_overlay.tif

dan sekarang coba gunakan gdalinfo ... jika kamu tidak melihat masalah, jalankan perintah ini:

  gdal2tiles.py -z 14-21 warped_map_overlay.tif

jika ubin Anda tidak cocok, jalankan kode di atas sebelum pembaruan, saya berikan.

Anda bisa mendapatkan info lebih lanjut di sini

semoga membantu ....

Aragon
sumber
Terima kasih. Kapan saya harus melakukan itu? seperti untuk saat ini saya sedang melakukan 1.gdalinfo map.png 2.gdal_translate -dari VRT -a_srs EPSG: 4326 -gcp .... 3. gdal2tiles.py -z 10-16 map.vrt. Apakah saya perlu melakukannya setelah menerjemahkan? haruskah saya mengubah EPSG dalam metode terjemahan?
shannoga
jika peta Anda tidak terkoordinasi, mencoba mengambil info dengan gdalinfo sia-sia.
Aragon
Jadi saya harus menggunakan gdalwarp saja?
shannoga
apakah peta Anda terkoordinasi dengan proyeksi atau tidak? jika ya coba gunakan gdalwarp untuk memproyeksikan ulang, kalau tidak buatlah itu dikoordinasikan dengan gdal_transform ...
Aragon
Hai, terima kasih untuk pasien Anda. Jika mengerti Anda benar itu tidak benar. ini adalah gambar persegi sederhana yang digambar berdasarkan peta tanpa data khusus. Saya telah memperbarui pertanyaan dengan perintah yang saya gunakan. Sekali lagi terima kasih atas upaya Anda untuk membantu.
shannoga