Comprender las propiedades de creación de mosaico de mapas


10

Estoy tratando de crear un mapa base de mosaico. Tengo una imagen desde la que quiero crear el mosaico y estoy usando GDAL.

Logré crear los mosaicos, pero cuando veo el resultado parece que el mapa en mosaico es:

  1. Se voltea
  2. Las proporciones no son correctas

Esta es la imagen de superposición del mapa: imagen del mapa

Este es el resultado del mosaico:

resultado del azulejo

Verifiqué muchas veces que las coordenadas son buenas comparando las esquinas de la imagen en una ortofoto.

Otra cosa es que en Google Earth con las mismas coordenadas, la imagen del mapa se ajusta precisamente al mapa de Google.

superposición de google earth

EDITADO

gdalinfo map_overlay.png

con esta salida:

Controlador: PNG / Archivos de gráficos de red portátiles: map_overlay.png El tamaño es 3527, 2494 El sistema de coordenadas es `` Metadatos de estructura de imagen:
INTERLEAVE = PIXEL Coordenadas de esquina: Superior izquierda (0.0, 0.0) Inferior izquierda (0.0, 2494.0) Superior derecha (3527.0 , 0.0) Inferior derecha (3527.0, 2494.0) Centro (1763.5, 1247.0) Bloque de banda 1 = 3527x1 Tipo = Byte, ColorInterp = Indicadores de máscara rojos: PER_DATASET ALPHA Bloque de banda 2 = 3527x1 Tipo = Byte, ColorInterp = Indicadores de máscara verdes: PER_DATASET ALPHA Bloque de banda 3 = 3527x1 Tipo = Byte, ColorInterp =
Banderas de máscara azul : PER_DATASET ALPHA Bloque de banda 4 = 3527x1 Tipo = Byte, ColorInterp = Alfa

Luego traduce:

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.7436164.png_44191910.png

con esta salida:

El tamaño del archivo de entrada es 3527, 2494

y por último:

gdal2tiles.py -z 14-21 map_overlay.vrt

La superposición es una imagen .png simple sin ningún dato especial.

Agradeceré cualquier ayuda.

Shani


2
Parece que hay una inconsistencia en los gdal_translateparámetros que publicó aquí: está asociando (lat, lon) = (31.7431761644, 35.1680410195) con dos puntos distintos en (0,0) y (0,2494). ¿Es este realmente el comando que emitió o es un error de copiar y pegar?
whuber

Respuestas:


5

Intente utilizar la imagen coordinada métrica antes de colocarla en mosaico como:

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

ACTUALIZAR

Nota: incluso si especificamos los gcp, gdal_translateno especificaría las coordenadas de esquina del tiff.

Además de esto, no necesita crear un conjunto de datos virtual (.vrt) debido a que solo tiene un archivo ...

usa el siguiente código:

  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

entonces

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

y ahora intenta usar gdalinfo ... si no ves ningún problema, ejecuta este comando:

  gdal2tiles.py -z 14-21 warped_map_overlay.tif

si sus mosaicos no encajan, ejecute el código anterior antes de la actualización, lo he dado.

Puedes obtener más información aquí

Espero que te ayude....


Gracias. ¿Cuándo debo hacer eso? por ahora estoy haciendo 1.gdalinfo map.png 2.gdal_translate -of VRT -a_srs EPSG: 4326 -gcp .... 3. gdal2tiles.py -z 10-16 map.vrt. ¿Debo hacerlo después de la traducción? ¿Debo cambiar el EPSG en el método de traducción?
shannoga

si su mapa no está coordinado, tratar de tomar información con gdalinfo es en vano.
Aragón

¿Entonces necesito usar gdalwarp en su lugar?
shannoga

¿Su mapa está coordinado con alguna proyección o no? en caso afirmativo, intente usar gdalwarp para reproyectarlo, de lo contrario, coordínelo con gdal_transform ...
Aragón

Hola, gracias por tu paciente. Si te entiendo bien, no lo es. Esta es una imagen cuadrada simple dibujada basada en un mapa sin datos especiales. He actualizado la pregunta con mis comandos usados. Gracias nuevamente por sus intentos de ayudar.
shannoga
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.