Converter uma imagem arbitrária do mapa sem metadados em projeto QGIS


9

Minha formação: programador experiente, historiador amador, iniciante em GIS (estou usando o QGIS). Aprendi a usar a ferramenta de georreferenciador QGIS.

A entrada: suponha que eu tenha uma imagem como esta Wikipedia: File: VoyagesOfRabbanBarSauma.jpg . Suponha que seja um arquivo JPG "nu" sem metadados geográficos e o autor não possa fornecer essas informações. A imagem de entrada é licenciada sob o GNU FDL, na qual estou feliz em divulgar meus trabalhos derivados.

O objetivo: importar o caminho mostrado no mapa da Wikipedia para o QGIS, para que eu possa alterar a projeção, sobrepor a elevação, adicionar rótulos para geografia física etc.

A ressalva: uma solução alternativa pode ser apenas inserir o lat / long dos locais no mapa em um novo projeto GIS. Não quero seguir esse caminho porque gostaria de ter um registro da estimativa desse autor em particular das informações geográficas.

O que eu tentei: apliquei o QGIS Georeferencer no arquivo JPG de varredura com vários pontos nas bordas dos continentes. O alinhamento de pontos no interior do continente é mais ou menos.

O que eu gostaria de saber: as distorções deste mapa em particular são bem visíveis na borda norte da Eurásia, e parece que é uma projeção bastante padrão. Parece-me que deveria haver uma maneira algorítmica de identificar os parâmetros de projeção e projeção que geraram esse mapa e recuperar uma conversão precisa de não interpolação entre pixels da imagem e lat / long?

Eu vejo duas perguntas sobre isso:

  1. Identificando o sistema de coordenadas do Shapefile quando desconhecido?
  2. Sistema de coordenadas desconhecido no desenho antigo

Eles parecem falar sobre um método de força bruta envolvendo GDAL ou QGIS, e para um iniciante em GIS, parecem um pouco trabalhosos (basicamente georreferenciados e adaptam-nos a projeções conhecidas), mas estou disposto a experimentá-los e ver se consigo automatize-os.

As instruções em ambos os GIS.SE são um pouco mais altas do que minha experiência permite, e qualquer dica sobre como exatamente fazer esse método de força bruta seria muito apreciada. Por exemplo, a pergunta 2 acima mostra como usar o gdaltransform para converter uma lista de coordenadas em lat / long. As coordenadas de entrada estão localizadas em pixels xy?

Respostas:


7

Como mencionado, seu mapa de exemplo é Plate Carree, que no QGIS é WGS84 / lat lon, EPSG: 4326. Ele georreferencia bem no QGIS usando o método Helmert Linear com apenas dois pontos. No meu caso, usei um ponto próximo ao canto superior esquerdo da imagem e outro ponto próximo ao canto inferior direito da imagem. As coordenadas lat / lon usadas para georreferenciamento foram obtidas no Google Earth. Lembre-se de que quando o georreferenciamento Latitude é "y" e Longitude é "x".

Apenas por diversão, carreguei a varredura georreferenciada no QGIS e tracei rapidamente a rota, salvando-a como um arquivo de forma de linha. Em seguida, carreguei uma imagem raster da Terra Natural e a sobreponho à rota (veja a figura em anexo para uma parte do mapa resultante).

As imagens de varredura do Natural Earth são georreferenciadas (para EPSG: 4326), bonitas e gratuitas, você pode obtê-las aqui:

Terra natural

Eles são ideais para uso como mapas de base para plotagem de dados históricos.

Adicionado mais tarde:

Não sei quase nada sobre mapeamento em escala mundial, mas observei seus comentários sobre a distorção óbvia no mapa WGS84 lat / lon original (EPSG: 4326). O QGIS possui um bom conjunto de ferramentas para reprojetar dados vetoriais e rasterizados, então (em parte para minha própria auto-educação!). Pensei em tentar encontrar um CRS que apresentasse o mapa de uma maneira mais "natural".

A imagem em anexo mostra uma varredura cortada da Terra Natural transformada em uma projeção de área igual de Albers personalizada. Os dados vetoriais no mapa foram transformados a partir de WGS84 lat / lon on-the-fly. Por que Albers? Bem, parecia uma coisa razoável de se tentar. Obviamente, em um mapa acabado, seria cortada a gratícula de vetor (também cortesia da Natural Earth) na imagem. Mesmo assim, acho que as formas no mapa são razoavelmente naturalistas e que o mapa também destaca o fato de que a notável jornada de Bar Sauma foi feita em um globo.

Os parâmetros para o CRS customizado foram os seguintes:

+proj=aea +lat_1=22.0 +lat_2=56.0 +lat_0=20.0 +lon_0=55.0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs

Foi uma projeção razoável de usar? Sinceramente, não sei.

Usuario.

insira a descrição da imagem aqui

insira a descrição da imagem aqui


Nick, muito obrigado, é exatamente assim que eu queria ver a jornada! Se eu não soubesse que a projeção era Plate Carree, eu poderia ter o QGIS resolvido isso, como o ArcGIS parece fazer? Existem muitos mapas como este na Wikipedia ( exemplo ), onde eu gostaria de visualizar os dados geográficos em outras projeções e com diferentes origens (elevação, NDVI, clima), e parece que a primeira coisa a fazer é descobrir um projeção raster nua.
Ahmed Fasih 07/07

Até onde eu sei, o QGIS não tem a capacidade de calcular a projeção de um mapa. No caso do mapa de Bar Sauma, era fácil adivinhar que era EPSG: 4326 apenas comparando a distorção no topo com a de outros mapas do mundo Plate Carree. Em relação ao mapa do Império Mongol da Wikipedia, este não parece ser o Plate Carree ou o Mercator mundial. Penso que algumas das pessoas que fazem mapas para a Wikipedia usam projeções lat / lon equiretangulares personalizadas, como Plate Carree, mas não centralizadas em 0 ° de lat e 0 ° de lat. É possível que este mapa seja um deles. Eu vou cavar.
N

A técnica de "força bruta" à qual as duas outras perguntas do StackExchange eu vinculei não é passível de resposta ao QGIS? Um deles parece usar o GDAL com várias suposições na projeção subjacente, que deve ser programável dentro do QGIS? Obrigado novamente!
Ahmed Fasih 07/07

O problema é que esse método pressupõe que a imagem já é georreferenciada, mas para um CRS (projeção) desconhecido. As imagens com as quais você estará trabalhando provavelmente serão digitalizadas em livros ou baixadas de lugares como a Wikipedia e você terá que georeferenciá-las. O QGIS possui um método de georreferenciamento, spline de placa fina (TPS), que permite a utilização de um grande número de pontos de controle. O método TPS pode ser usado para "puxar" os mapas raster em forma e é muito poderoso, mas assume que você tem as coordenadas para um número razoável de pontos de controle. Usuario.
N / a

5

O mapa usa latitude e longitude como se fossem coordenadas cartesianas. Esta é uma versão da projeção equiretangular ou "Plate Carree". Portanto, tudo o que você precisa fazer é mudar e redimensionar as coordenadas x e y para obter longitude e latitude, respectivamente.

A ferramenta de georreferenciamento no ArcGIS 10.0 faz pouco trabalho para criar links para estimar a transformação. Embora não relate a transformação, pode-se exportar a tabela de links Re estimar os coeficientes nela. Colocando o pixel central no canto superior esquerdo da versão em alta resolução da imagem em (0,0), o resultado é

latitude = 75.71992178 + 0.0427073 * row index
longitude = -18.86514764 + 0.04275506 * column index

Os contornos de país preto da camada de referência (fornecidos pela ESRI com versões anteriores do ArcView) mostram quão bem as camadas coincidem após a aplicação dessa transformação. Os erros quadráticos médios da raiz são de 6 a 7 km ao longo de cada eixo: cerca de um pixel na imagem, quase tão bom quanto se espera.

Mapa georreferenciado


0

É provável que o mapa seja esquemático, e a localização das cidades pode não ser perfeita, tornando-as arriscadas para uso no georreferenciamento.

A melhor abordagem poderia ser capturar o mapa visualmente usando uma base apropriada no QGIS. Não corresponderá perfeitamente ao original, mas as rotas provavelmente serão indicativas, portanto é improvável que você perca qualquer precisão.


Excelentes pontos, obrigado, farei o que você aconselhar. Existe uma maneira fácil de recuperar a projeção e os parâmetros da imagem?
Ahmed Fasih 4/12/12
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.