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


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ê ....


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.