Como reverter a georreferência com o QGIS?

16

Eu tenho um mapa com uma projeção "estranha" (é basicamente pintada à mão, não exatamente). Posso georreferenciá-lo facilmente no QGIS usando o plug-in Georeferencer e a transformação Thin Plate Spline com um conjunto de alguns pontos de controle 2000-3000 em uma simples projeção "latlong" WGS 84 (EPSG: 4326) e processá-lo / aperfeiçoá-lo ainda mais com outros dados, como da Terra Natural ou do OpenStreetMap.

Agora eu gostaria de executar a operação inversa : transforme uma dessas camadas rasterizadas (ou camadas vetoriais rasterizadas) de volta na quase projeção pintada à mão, idealmente usando o mesmo conjunto de pontos de controle, para que as imagens correspondam quando sobrepostas. um editor gráfico. Como eu faço isso?

Martin Sojka
fonte
8
situação interessante. Talvez você não georeferencie o mapa pintado à mão. Use o mapa pintado à mão como 'verdade do solo' e obtenha seus pontos de controle com base no sistema de coordenadas local (por exemplo, o canto superior esquerdo do mapa pintado à mão é 0,0 e cada pixel é uma unidade). Em seguida, georeferencie seus rasters para esse sistema de coordenadas local.
spatialthoughts
1
@spatialthoughts: Isso funcionaria muito bem para os rasters, mas eu também perderia a precisão das camadas vetoriais e a possibilidade de fazer cálculos com elas (área de um recurso, comprimento de um segmento e assim por diante). Isso não é um problema intransponível, é claro. Ser capaz de reverter o georreferenciamento simplesmente não teria essas limitações.
Martin Sojka
@ Martin Você deseja os cálculos de vetor no WGS84 ou nas coordenadas da imagem pintada à mão? No primeiro caso, parece que a sua necessidade de transformar vetores em coordenadas pintadas à mão é totalmente separada da sua necessidade de fazer cálculos no vetor - e eu gostaria de sugerir sugestões de pensamentos espaciais. Apenas significa que você precisa executar essas tarefas em projetos QGIS separados.
Jeff G
1
Em geral, não é garantido que exista um inverso para todas as transformações. Com transformações polinomiais, se você conseguir que o plug-in registre os coeficientes usados, poderá calcular matematicamente o inverso. Com ranhura placa fina, talvez o inverso também é possível: a função GDALCreateTPSTransformer leva um "bReversed" argumento: gdal.org/gdal__alg_8h.html#a245802b88a8126c138d24febe6c9822a
Jeff G

Respostas:

1

Se você estava usando o ArcGIS, usa a barra de ferramentas de ajuste espacial. No entanto, o QGIS oferece uma funcionalidade semelhante por meio de plugins.

Vá para o gerenciador de plugins e instale 'Affine Transformations'

Instale também o 'Vector Bender'

Página inicial: https://github.com/trenneman/qgsAffine ;

https://plugins.qgis.org/plugins/VectorBender/

Como você já possui os pontos de controle, poderá transformar seus dados novamente na "projeção" original. Carregue seus pontos de controle no plug-in e execute a transformação. Eu não tentei isso ainda, então você pode ter que brincar com os pontos de controle. O plugin de transformações afins usa constantes para executar a transformação. Como você já tem pontos de controle, convém usar o dobrador de vetor para executar uma 'folha de borracha'.
O vetor bender não está no repositório de plug-ins, portanto, você precisará instalá-lo manualmente, adicionando-o a C: \ Users.qgis2 \ python \ plugins \ VectorBender.


Segunda opção (pode funcionar apenas para rasters, não foi testada com vetores) - No georreferenciador, você pode salvar seus pontos de controle em um arquivo. Você também pode carregar pontos de controle de um arquivo.

Aqui está o que você precisa fazer:

Salve o arquivo cpg. Mude a extensão para .csv. Abra o arquivo no excel. Troque os valores nas colunas de / para. Salve . Mude a extensão novamente para .points.

Depois de configurar os pontos de controle, você pode se transformar usando os pontos de controle e seu método de transformação preferido.

jbalk
fonte
A barra de ferramentas de ajuste espacial não faz parte do Arcgis Desktop? Não sei se há algo semelhante no QGIS.
Andrej
@AndreJ Por favor, veja minhas edições.
jbalk
0

Eu tive que fazer isso sozinho uma vez para uma camada raster e demorei um pouco para ver que não precisava do inverso. Para fazer com que as imagens correspondam à projeção estranha original, escreva um script para criar uma grade nessa projeção, correspondente aos pixels no seu editor de gráficos. Transforme adiante para cada ponto da grade para selecionar o valor da camada que você possui no WGS 84. (semelhante ao comentário de pensamentos espaciais )

Nick Mulgan
fonte