Розуміння властивостей створення Карткової карти


10

Я намагаюся створити базову карту плитки. У мене є зображення, з якого я хочу створити плитку, і я використовую GDAL.

Мені вдалося створити плитку, але коли я переглядаю результат, то здається, що плиткова карта:

  1. Він перевернутий
  2. Пропорції неправильні

Це зображення накладення на карту: зображення карти

Це результат плитки:

результат плитки

Я багато разів перевіряв, що координати хороші, порівнюючи кути зображень на ортофото.

Інша справа, що в Google Earth із тими ж координатами зображення карти точно підходить до google map.

накладка Google Earth

ВИДАЛЕНО

gdalinfo map_overlay.png

з цим виходом:

Драйвер: PNG / Портативні мережеві графічні файли: map_overlay.png Розмір 3527, 2494 Координатна система - це "Метадані структури зображення:
INTERLEAVE = PIXEL Координати кута: вгорі зліва (0,0, 0,0), зліва вліво (0,0, 2494,0) вгорі праворуч (3527,0 , 0.0) Правий нижній (3527.0, 2494.0) Центр (1763.5, 1247.0) Діапазон 1 блоку = 3527x1 Тип = Байт, ColorInterp = Червоні прапори маски: PER_DATASET ALPHA Band 2 Block = 3527x1 Тип = Байт, ColorInterp = Прапор зеленої маски: PER_DATASET ALPHA Блок 3 діапазону = 3527x1 Тип = Байт, ColorInterp =
Прапор синьої маски: PER_DATASET ALPHA Діапазон 4 Блок = 3527x1 Тип = Байт, ColorInterp = Альфа

Потім перекладіть:

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 -gcp 0 2494 +31,7431761644 +35,1680410195 map_overlay.png map_overlay.vrt

з цим виходом:

Розмір вхідного файлу - 3527, 2494

і останнє:

gdal2tiles.py -z 14-21 map_overlay.vrt

Накладення - це просте зображення .png без особливих даних.

Я буду вдячний за будь-яку допомогу.

Шані


2
Здається, є невідповідність gdal_translateпараметрів, які ви опублікували тут: ви асоціюєте (lat, lon) = (31.7431761644, 35.1680410195) з двома різними точками (0,0) та (0,2494). Це дійсно команда, яку ви видали, чи це помилка копіювання та вставки?
whuber

Відповіді:


5

Спробуйте використовувати метричне узгоджене зображення, перш ніж позначати його як:

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

ОНОВЛЕННЯ

Примітка: навіть якщо ми вказуємо gcp, gdal_translateне визначати кутові координати tiff.

Крім цього вам не потрібно створювати віртуальний набір даних (.vrt) через наявність лише одного файлу ...

використовувати наступний код:

  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

тоді

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

а тепер спробуйте використовувати gdalinfo ... якщо ви не бачите проблем, виконайте цю команду:

  gdal2tiles.py -z 14-21 warped_map_overlay.tif

якщо ваші плитки не підходять, запустіть вище коду перед оновленням, я дав.

Більше інформації ви можете отримати тут

Я сподіваюся, що це допоможе тобі ...


Дякую. Коли мені це робити? на даний момент я роблю 1.gdalinfo map.png 2.gdal_translate-VRT -a_srs EPSG: 4326 -gcp .... 3. gdal2tiles.py -z 10-16 map.vrt. Чи потрібно це робити після перекладу? чи слід змінити EPSG методом перекладу?
shannoga

якщо ваша карта не є координаційною, намагання взяти інформацію з gdalinfo марно.
Арагон

Тому мені потрібно використовувати gdalwarp замість цього?
shannoga

ваша карта узгоджується з якоюсь проекцією чи ні? якщо так, спробуйте використовувати gdalwarp, щоб відхилити його, інакше зробіть його узгодженим з gdal_transform ...
Арагон

Ей, дякую за свого пацієнта. Якщо ви зрозуміли, що це правильно, це не так. це просте квадратне зображення, намальоване на основі карти, на ньому немає спеціальних даних. Я оновив питання за допомогою використовуваних команд. Ще раз дякую за ваші спроби допомогти.
shannoga
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.