Melhorando os resultados de georreferenciamento? [fechadas]

13

Antecedentes Esta é minha segunda pergunta relacionada ao georreferenciamento de mapas raster nus, a fim de re-visualizá-los em diferentes sistemas de coordenadas e em conjunto com outras camadas de dados. A pergunta anterior está em Converter uma imagem arbitrária do mapa sem meta-dados em projeto QGIS

Problema Meu objetivo é georreferenciar este mapa:

Estepe da Eurásia, Encyc.  Brit.?

Isso não parece ser Plate-Carrée. Assim, no QGIS, criei vários pontos de controle razoáveis, os quais anexei na íntegra na parte inferior [ref: 1]. Eu forneço ao QGIS Georeferencer o mesmo SRS de destino do meu arquivo de projeto, EPSG: 4326. Eu obtenho resultados excepcionalmente ruins com Helmert e as transformações polinomiais, mas obtenho uma imagem razoável com spline de placa fina (que faz com que o geoestimado resultante passe pelos meus pontos de controle). No entanto, mesmo esse resultado é ruim, por exemplo, em latitudes mais altas (veja a costa russa ao norte do Japão). Esta é uma captura de tela da minha tela QGIS usando um fundo Terra Natural.

Resultado de georreferenciação QGIS, estrias de chapa fina

Caminho alternativo Tentei um exercício semelhante com a ferramenta muito mais fácil de usar no MapWarper: veja o resultado e os pontos de controle em http://mapwarper.net/maps/758#Preview_Map_tab, onde obtenho resultados mais ruins (provavelmente devido ao fato que eu adicionei menos pontos de controle).

Perguntas em poucas palavras

  1. Há alguns truques que estou perdendo para obter uma boa georreferenciação?
  2. Essa projeção é instantaneamente reconhecível?
  3. No Sistema de coordenadas desconhecido, no desenho antigo , gdaltransformé sugerido que você transforme vários pontos de coordenadas em um SRS de destino, com o objetivo de descobrir os parâmetros de projeção usados ​​para gerar o mapa original. Tentei algo assim: depois de salvar minha lista de pontos do QGIS, fiz um processamento de string para obter uma lista de long / lats separados por espaço cat eurasian-steppe-gcp.points | tail -n+2 | cut -d, -f1-2 | sed 's/,/ /'> tmp.txte inserir o arquivo resultante no gdaltransform: gdaltransform -s_srs EPSG:3785 -t_srs EPSG:4326 < tmp.txte alternar o s_srset_srssinalizadores (o projeto usa EPSG: 4326). Eu sei que estou filmando no escuro, esperando ter sorte, então não fiquei surpresa quando não consegui entender as saídas. Alguém pode expandir como eu usaria esse método para encontrar a melhor estimativa dos parâmetros de projeção e projeção do mapa de origem? Meu pensamento por trás disso é que, em vez de atrapalhar a colocação de inúmeros pontos de controle para uma boa georreferência, seria mais fácil obter uma georreferência quase perfeita com menos pontos de controle, apenas percorrendo todos os sistemas de coordenadas comuns? Envolve validação cruzada de cada ponto contra todos os outros, para cada CRS em teste?

Gostaria de entender esse algoritmo ou o georreferenciamento para que eu possa automatizar o processo - sempre me deparo com esse problema e até os criadores de conteúdo parar de tratar seus mapas como criações únicas que nunca serão integradas com outro conteúdo, não espero parar.

Referências

[ref: 1] arquivo QGIS GCP:

mapX,mapY,pixelX,pixelY,enable
142.632649100000009,54.453595900000003,505.941176470588232,-95.220588235293974,1
154.934252200000003,59.559921699999997,536.411764705882206,-52.779411764705742,1
80.080158100000006,9.657192300000000,291.558823529411711,-322.661764705882206,1
10.448442600000000,57.819128900000003,21.676470588235190,-103.926470588235134,1
34.007173000000002,27.761438299999998,101.117647058823422,-244.852941176470466,1
50.950890399999999,11.862196600000001,171.852941176470495,-313.955882352941046,1
29.713217199999999,60.024133200000001,90.779411764705799,-92.499999999999829,1
60.000000000000000,0.000000000000000,208.308823529411683,-362.382352941176350,1
69.867506500000005,66.639146199999999,224.088235294117567,-33.191176470588061,1
27.276107100000001,71.049154799999997,89.147058823529306,-21.764705882352814,1
140.000000000000000,0.000000000000000,536.955882352941217,-362.926470588235190,1
20.000000000000000,0.000000000000000,43.441176470588132,-362.926470588235190,1
20.196882700000000,31.243024100000000,47.249999999999901,-231.794117647058698,1
9.171861099999999,42.848309999999998,8.073529411764603,-175.205882352941046,1
131.955786100000012,43.196468600000003,481.999999999999943,-162.691176470588090,1
73.813303700000006,45.169367200000003,256.735294117646959,-161.602941176470438,1
50.602731800000001,44.589102900000000,168.044117647058727,-167.588235294117510,1
121.394975900000006,18.941421099999999,455.882352941176407,-284.029411764705742,1
103.987047000000004,1.417439300000000,389.499999999999943,-357.485294117646959,1
109.325478599999997,55.962283100000001,380.249999999999943,-98.485294117646902,1
31.454010100000001,46.562001500000001,95.132352941176379,-158.882352941176322,1
43.639560299999999,68.844150499999998,137.573529411764611,-40.264705882352814,1

Não atualização

Análise de van der Grinten Eu escrevi uma ferramenta Python para ajustar os GCPs a qualquer projeção suportada pelo Proj4 (via Pyproj) e a apliquei ao par de projeções sugeridas nas respostas. O código fonte (um tanto desleixado, peço desculpas antecipadamente), bem como os GCPs atualizados, estão disponíveis em https://github.com/fasiha/steppe-map

O van der Grinten tem apenas 1 parâmetro para ajustar, e aqui está a imagem resultante (usando a imagem mais recente da Britannica, muito obrigado por fornecer um mapa atualizado e em alta resolução (embora ainda não possua dados de projeção)).

Ajuste de Van der Grinten

Van der Grinten tem um erro relativo de 0,035 entre os GCPs e os pontos de melhor ajuste, que é o pior do grupo que eu tentei, e a sobreposição da costa mostra isso qualitativamente.

(Pode ser útil se você abrir esta imagem em sua própria guia, ela é bastante alta. Você também verá setas verdes indicando os pontos georreferenciados (eles devem corresponder a marcos significativos na imagem), bem como setas vermelhas indicando onde esses pontos são ajustados (eles devem corresponder aos mesmos pontos de referência na sobreposição da costa) --- o desvio entre os dois pode ajudar o olho a ver as diferenças entre a imagem e o ajuste.)

Análise da área igual de Albers Tentando o mesmo com a projeção de área igual de Albers (que é o mesmo que "Albers conformal Conic"? Desculpe pela minha ignorância). Esse ajuste, envolvendo um ajuste de parâmetro 4-dimensional, é melhor, com um erro relativo de 0,025, mas parece muito ruim.

Ajuste de área igual de Albers

Análise das projeções de Robinson e Eckert V Ajustei várias projeções pseudo-cilíndricas suportadas pelo Pyproj (tudo o que pude achar que tinha um parâmetro livre) e descobri que as projeções de Robinson e Eckert V fizeram o "melhor" em termos de erro relativo entre os GCPs e os pontos ajustados, ambos com erros relativos de 0,015.

Aqui está o Robinson:

Robinson fit

E aqui está o Eckert V.

Eckert V fit

Observe os desvios da costa ajustada da costa da imagem. Eu acho que com isso eu posso concluir que o mapa não é nenhum dos anteriores?

Winkel tripel: solução possível?

Depois de tentar seqüencialmente todas as projeções neste manual do Proj de 1990 (atualizado em 2003) ftp://ftp.remotesensing.org/proj/OF90-284.pdf , finalmente cheguei à projeção tripel de Winkel. Isso produz os menores erros quantitativos (0,011) e o litoral é uniformemente bastante bom (ou equivalente, uniformemente levemente ruim). Li que esta é a projeção da National Geographic Society, o que significa que é famosa, e isso acrescenta peso à candidatura dessa projeção ao mapa da Britannica. O SRS equipados: +units=m +lon_0=47.0257707403 +proj=wintri.

Winkel tripel fit

(Desculpas por mudar a cor da costa para cinza. Se isso ofender alguém, posso produzir uma versão azul.)

Vou tentar ajustar meus GCPs para tentar diminuir o erro.

Ahmed Fasih
fonte
Isso deve ser uma projeção de Mercator (os paralelos não são equidistantes).
bhell
1
Estou errado: Mercator, é claro, deveria ter meridianos paralelos. Talvez van der Grinten ?
bhell
Você já tentou adicionar alguns pontos de controle no extremo norte? Todo lugar parece bom, mas parece que falta mais algumas informações.
Subterrâneo
1
@bhell Van der Grinten é um excelente palpite, mas não se encaixa bem. A projeção parece ser a mesma que neste mapa (que ostenta uma gratícula), também feita recentemente pela Enciclopédia Britânica. É algum tipo de projeção pseudo-policônica em um aspecto equatorial centrado no Meridiano de Greenwich, mas eu não o reconheço. Consultar na Encyclopedia Britannica é uma boa idéia.
whuber
2
Ah, então a imagem não pode ser convertida em uma projeção de Van der Grinten (que eu conheço porque é usada em um mapa 'de cabeça para baixo' na minha parede :) através de qualquer transformação afim. Bom saber!
Ahmed Fasih 11/12/12

Respostas:

3

De uma primeira análise, podemos ver que apenas o equador e o meridiano central (passando aproximadamente por Moscou, com cerca de 37,36 E de longitude) são linhas retas, enquanto todos os outros paralelos e meridianos são linhas curvas. Entre as projeções globais, esses recursos sugerem tentar o de Van der Grinten (como bhell fez em um comentário da pergunta), ou seja, a projeção padrão de mapa-múndi da National Geographic Society.

Então, eu configurei o projeto SR no QGIS como SRS personalizado World_Van_der_Grinten_I (Moscow):

+proj=vandg +lon_0=37.36 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

derivado diretamente de EPSG:54029( World_Van_der_Grinten_I), alterando apenas a longitude do meridiano central. Depois, tentei georreferenciar a imagem usando a transformação projetiva com os seguintes GCPs escolhidos em uma gratícula imaginária passando pelas marcas de seleção disponíveis:

mapX,mapY,pixelX,pixelY,enable
-1930600.82502013398334384,-91.97837987072125543,43.52016129032256231,-362.54032258064518146,1
11412132.24015056900680065,-91.97837987233651802,537.54173867127497033,-362.73421498975926625,1
11804723.15208163484930992,8693410.00194966979324818,551.40707210100163138,-43.85864138853239069,1
-1651013.74878141912631691,7637895.72632359713315964,54.16126727366525984,-80.84230997717837397,1

Este é o resultado no costume World_Van_der_Grinten_I (Moscow)com GCPs (limite de administração do país do mundo em vermelho):

insira a descrição da imagem aqui

Essa georreferência pode ser melhorada ainda mais, escolhendo GCPs mais precisos (a grande dificuldade é a ausência de marcas de escala ou de gratículas); no entanto, parece que o mapa contém alguns artefatos, especialmente na Europa Central e do Norte. Por exemplo, considere a Alemanha que parece desmoronada em referência à Itália ou à posição relativa da ilha Kolguyev (que se encaixa muito bem) e da costa russa (que não se encaixa de maneira alguma).

O mesmo resultado reprojetado em WGS84( EPSG:4326):

insira a descrição da imagem aqui

Antonio Falciano
fonte
Muito obrigado por seus conselhos e iniciativa. Eu não estou familiarizado com transformações projetivas, então vou descobrir mais sobre elas. Atualizei o post principal com uma abordagem de ajuste de parâmetros que tenta encontrar a projeção de Van der Grinten que melhor se ajusta aos GCPs (era bastante próxima de 37,36) e estava bastante insatisfeita com esse ajuste. Por favor, dê uma olhada e me avise.
Ahmed Fasih
Ah, vejo que a transformação projetiva no QGIS é uma rotação + tradução, que deve ser fácil de experimentar com meus GCPs.
Ahmed Fasih
De um modo geral (e também no QGIS), a transformação projetiva não é uma roto-tradução. O guia do usuário do IMHO QGIS está errado em relação a este ponto. Além disso, considere a possibilidade de haver artefatos artesanais (?) No mapa de baixa resolução, como parece após a minha georreferência. O mais rápido possível, tentarei georreferenciar o de alta resolução.
Antonio Falciano 15/01
Obrigado pela informação, atualizarei meu QGIS e tentarei georeferenciar a transformação projetiva. (Também tentarei ver o código-fonte do QGIS para ver o que ele pode estar fazendo.) Se você quiser economizar algum tempo e usar meus GCPs, eles estão em github.com/fasiha/steppe-map/blob /master/gcp.txt (salvo pelo QGIS).
Ahmed Fasih
Consulte a publicação atualizada para uma possível solução: Winkel tripel.
Ahmed Fasih
1

há uma forte distorção no leste ("subindo"): meu palpite é uma cônica conforme Albers. Então o meridiano vertical parece estar em 40 ° (-> seu meridiano central) e o paralelo horizontal provavelmente em torno de 40 ° N. Você deve então medir sua coordenada XY a partir do eixo na interseção do meridiano 40 e paralelo 40, depois tentar ...

Nota: Os paralelos não são paralelos, portanto, você pode excluir projeções cilíndricas (Mercator) e pseudo-cilíndricas (senoidal, Eckert)

radouxju
fonte
A falta de marcas de tique angulares nos lados E e W do mapa sugere que não é cônico.
Martin F
É uma boa observação, mas há algo estranho se você observar as marcas de escala: elas não são angulares, mas quando você as junta com uma linha reta, elas não são paralelas nem horizontais. Portanto, eles devem ser curvos e os carrapatos devem ser angulados. De qualquer forma, se for conforme, provavelmente não é Lambert, pois a convergência para o polo criaria distorções muito fortes. Talvez Albers.
radouxju
Muito obrigado pelo conselho e desculpe por ter demorado tanto para tentar implementá-lo. Atualizei o post principal com minha tentativa de ajustar os dados a uma projeção de área igual de Albers em 4 dimensões (é disso que você está se referindo?) Aos GCPs que extraí. Não estou satisfeito com o ajuste e encontrei algumas outras projeções pseudo-cilíndricas (Eckert V e Robinson) que se saem (quantitativamente) um pouco melhor, mas ainda não estão próximas o suficiente para analisar o assunto do mapa. Seus pensamentos?
Ahmed Fasih