Compreendendo as propriedades de criação do Map Tile

10

Estou tentando criar um mapa base de blocos. Eu tenho uma imagem da qual quero criar o bloco e estou usando o GDAL.

Consegui criar os blocos, mas quando visualizo o resultado, parece que o mapa lado a lado é:

  1. É invertido
  2. As proporções não estão certas

Esta é a imagem de sobreposição do mapa: imagem do mapa

Este é o resultado da telha:

resultado da telha

Eu verifiquei muitas vezes se as coordenadas estão boas comparando os cantos da imagem em uma ortofoto.

Outra coisa é que, no google earth, com as mesmas coordenadas, a imagem do mapa se ajusta precisamente ao google map.

sobreposição do google earth

EDITADO

gdalinfo map_overlay.png

com esta saída:

Driver: PNG / Portable Network Graphics Arquivos: map_overlay.png O tamanho é 3527, 2494 O sistema de coordenadas é `` Metadados da estrutura da imagem:
INTERLEAVE = PIXEL Coordenadas do canto: Superior esquerdo (0,0, 0,0) Inferior esquerdo (0,0, 2494,0) Superior esquerdo (3527,0 , 0.0) Inferior direito (3527,0, 2494,0) Centro (1763,5, 1247,0) Bloco da banda 1 = 3527x1 Tipo = Byte, ColorInterp = Bandeiras da máscara vermelha: PER_DATASET ALPHA Bloco da banda 2 = 3527x1 Tipo = Byte, ColorInterp = Bandeiras da máscara verde: PER_DATASET ALPHA Bloco 3 da banda = 3527x1 Tipo = Byte, ColorInterp =
Sinalizadores de máscara azul : PER_DATASET ALPHA Bloco 4 da banda = 3527x1 Tipo = Byte, ColorInterp = Alfa

Depois traduza:

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.743176lay5.

com esta saída:

O tamanho do arquivo de entrada é 3527, 2494

e por fim:

gdal2tiles.py -z 14-21 map_overlay.vrt

A sobreposição é uma imagem .png simples, sem dados especiais.

Agradeço qualquer ajuda.

Shani

Shannoga
fonte
2
Parece haver uma inconsistência nos gdal_translateparâmetros que você postou aqui: você está associando (lat, lon) = (31.7431761644, 35.1680410195) a dois pontos distintos em (0,0) e (0,2494). Este é realmente o comando que você emitiu ou é um erro de copiar e colar?
whuber

Respostas:

5

Tente usar a imagem coordenada métrica antes de colocá-la lado a lado como:

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

ATUALIZAR

Nota: mesmo se especificarmos o gcp's, gdal_translatenão especificaríamos as coordenadas de canto do tiff.

Além disso, você não precisa criar um conjunto de dados virtual (.vrt) por ter apenas um arquivo ...

use o seguinte 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

então

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

e agora tente usar o gdalinfo ... se você não encontrar nenhum problema, execute este comando:

  gdal2tiles.py -z 14-21 warped_map_overlay.tif

Se o seu ladrilho não couber, execute o código acima antes da atualização, eu dei.

Você pode obter mais informações aqui

espero que ajude você ....

Aragão
fonte
Obrigado. Quando devo fazer isso? por enquanto estou fazendo 1.gdalinfo map.png 2.gdal_translate -of VRT -a_srs EPSG: 4326 -gcp .... 3. gdal2tiles.py -z 10-16 map.vrt. Preciso fazer isso após a tradução? devo alterar o EPSG no método de conversão?
shannoga
se o seu mapa não estiver coordenado, tentar obter informações com o gdalinfo é em vão.
Aragão
Então, eu preciso usar gdalwarp?
shannoga
seu mapa está coordenado com alguma projeção ou não? se sim tentar usar gdalwarp reprojetar-lo, caso contrário, torná-lo coordenada com gdal_transform ...
Aragon
Ei, obrigado pelo seu paciente. Se entendi bem, não é. esta é uma imagem quadrada simples desenhada com base em um mapa, sem dados especiais. Eu atualizei a pergunta com meus comandos usados. Obrigado novamente por suas tentativas de ajudar.
shannoga