Harita Döşemesi oluşturma özelliklerini anlama


10

Bir karo temel haritası oluşturmaya çalışıyorum. Döşemeyi oluşturmak istediğim bir görüntü var ve GDAL kullanıyorum.

Fayans oluşturmayı başardım ama sonucu görüntülediğimde kiremitli harita şöyle görünüyor:

  1. Ters çevrildi
  2. Oranlar doğru değil

Harita yer paylaşımı görüntüsü: harita resmi

Döşemenin sonucu budur:

kiremit sonucu

Bir ortofotodaki görüntü köşelerini karşılaştırarak birçok kez koordinatların iyi olduğunu kontrol ettim.

Başka bir şey, aynı koordinatlara sahip google earth'de harita resminin google haritasına tam olarak uymasıdır.

google earth yer paylaşımı

REDAKTE

gdalinfo map_overlay.png

bu çıktı ile:

Sürücü: PNG / Taşınabilir Ağ Grafikleri Dosyalar: map_overlay.png Boyut 3527, 2494 Koordinat Sistemi `` Görüntü Yapısı Meta Verileri:
INTERLEAVE = PIXEL Köşe Koordinatları: Sol Üst (0.0, 0.0) Sol Üst (0.0, 2494.0) Sağ Üst (3527.0 , 0.0) Sağ Alt (3527.0, 2494.0) Merkez (1763.5, 1247.0) Bant 1 Blok = 3527x1 Tip = Bayt, ColorInterp = Kırmızı Maske Bayrakları: PER_DATASET ALPHA Bant 2 Blok = 3527x1 Tür = Bayt, ColorInterp = Yeşil Maske Bayrakları: PER_DATASET ALPHA Bant 2 Blok = 3527x1 Tip = Bayt, ColorInterp = Yeşil Maske Bayrakları: PER_DATASET ALPHA Bant 3 Bloğu = 3527x1 Tür = Bayt, ColorInterp = Mavi
Maske Bayrakları: PER_DATASET ALPHA Bant 4 Bloğu = 3527x1 Tür = Bayt, ColorInterp = Alfa

Sonra tercüme edin:

gdal_translate -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 -gcp 0 2494 31.7464_444

bu çıktı ile:

Giriş dosyası boyutu 3527, 2494

ve son olarak:

gdal2tiles.py -z 14-21 map_overlay.vrt

Kaplama, herhangi bir özel veri içermeyen basit bir .png görüntüsüdür.

Her türlü yardıma minnettar olurum.

Shani


2
Burada gdal_translategönderdiğiniz parametrelerde bir tutarsızlık var gibi görünüyor : (0,0) ve (0,2494) 'te iki ayrı nokta ile ilişkilendiriyorsunuz (lat, lon) = (31.7431761644, 35.1680410195). Bu gerçekten verdiğiniz komut mu, yoksa kopyala ve yapıştır hatası mı?
whuber

Yanıtlar:


5

Döşemeden önce metrik koordineli görüntüyü kullanmaya çalışın:

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

GÜNCELLEME

Not: gcp'leri belirtsek bile, tiff'in gdal_translateköşe koordinatlarını belirtmez.

Bunun yanında, sadece bir dosyaya sahip olduğunuz için sanal veri kümesi (.vrt) oluşturmanız gerekmez ...

aşağıdaki kodu kullanın:

  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

sonra

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

ve şimdi gdalinfo kullanmayı deneyin ... u herhangi bir sorun görmüyorsanız, şu komutu çalıştırın:

  gdal2tiles.py -z 14-21 warped_map_overlay.tif

senin fayans uymuyorsa, güncelleme önce kod üzerinde çalıştırın, ben verdim.

Buradan daha fazla bilgi alabilirsiniz

umarım sana yardımcı olur ....


Teşekkürler. Bunu ne zaman yapmalıyım? Şimdilik 1.Gdalinfo map.png yapıyorum 2.gdal_translate -of VRT -a_srs EPSG: 4326 -gcp .... 3. gdal2tiles.py -z 10-16 map.vrt. Çeviriden sonra yapmam gerekir mi? translate yönteminde EPSG'yi değiştirmem gerekir mi?
shannoga

haritanız eşgüdümlü değilse, gdalinfo ile bilgi almaya çalışmak boşuna.
Aragon

Bunun yerine gdalwarp kullanmam gerekir mi?
shannoga

haritanız herhangi bir projeksiyonla koordine ediliyor mu değil mi? evet ise, yeniden yansıtmak için gdalwarp kullanmaya çalışın, aksi takdirde gdal_transform ile koordine edin ...
Aragon

Hey, hastanız için teşekkürler. Eğer doğru anlıyorsanız değil. Bu, özel bir veri bulunmayan bir haritaya göre çizilen basit bir kare görüntüdür. Soruyu kullanılan komutlarımla güncelledim. Yardımcı olmaya çalıştığınız için tekrar teşekkürler.
shannoga
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.