Proj.4 / GDAL / QGIS Transformação entre CRSs definidos da mesma forma

8

Estou ajudando a garantir que o software de código aberto possa lidar adequadamente com o novo dado da Austrália; consulte o site da ICSM para obter detalhes sobre o projeto GDA2020.

Agora, o QGIS já inclui as definições do GDA2020, via GDAL, pelo que entendi.

Um exemplo de sistema de referência de coordenadas GDA2020 é este:

+proj=utm +zone=55 +south +ellps=GRS80 +units=m +no_defs

E se você olhar para um GDA94 CRS, é definido assim:

+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs

Como você pode ver, estes são muito semelhantes.

Agora, os dois CRSs são definidos exatamente da mesma forma, mas há uma mudança nas coordenadas no GDA94 para o GDA2020 de cerca de 1,5 m para o nordeste. (Existe um arquivo de mudança de grade no formato NTv2 que em breve estará pronto para permitir transformações precisas, mas não é disso que se trata esta pergunta.)

Porém, se você converter entre GDA94 e GDA2020 agora , usando o QGIS, não haverá alterações nas coordenadas. Essencialmente, apenas o rotula de maneira diferente.

Deveria haver uma transformação simples de 7 parâmetros implementada no Proj.4 ou outras ferramentas de código aberto que é a transformação padrão (embora imperfeita) entre o GDA94 e o GDA2020?

Ou é simplesmente o caso de as ferramentas sempre não mudarem?

Como isso deve ser tratado?

(E só quero observar novamente que a transformação usando uma grade é ideal, e isso é tratado de várias maneiras, incluindo este plugin QGIS .)

Alex Leith
fonte
1
Você acha que seria melhor esperar até que a transformação NTv2 esteja disponível, como a transformação de AGD66 para GDA94 (mas menor), se você fizer algo, faça certo ou não ... de outra forma, você terminará com coordenadas redefinidas no local errado, não muito, mas ainda errado. Considerando que o GDA2020 não é um dado estático, certamente deve haver uma data definida no CRS para quando a transformação de coordenadas foi aplicada.
precisa
As autoridades australianas forneceram esses parâmetros? Se eles tiverem o projeto Proj4, podem incluí-los como parâmetros + towgs84, mas os parâmetros devem ter um status oficial. Os usuários podem usar + towgs84 naturalmente como desejarem.
user30184
Ei pessoal, em primeiro lugar, os parâmetros + towgs84 devem ser 0,0,0,0,0,0,0, pelo que entendi, porque a diferença entre os dois dados é praticamente nada. E as transformações do NTv2 estão quase disponíveis, e não é sobre o que estou perguntando. Talvez você esteja certo, @ MichaelStimson, em fazer NÃO a transformação é melhor do que fazer uma imperfeita.
Alex Leith

Respostas:

4

Se você pesquisar o banco de dados EPSG por GDA94CoordinateTransformation, obterá:

  • Código de transformação EPSG:1150GDA94 para WGS84 (1) que possui valores zero
  • Código de transformação EPSG:8048GDA94 em GDA2020 (1) com os 7 valores fornecidos por @ user30184

Portanto, é recomendável levar os do GDA2020 para o WGS84 (cuidando de sinais e unidades!) Até que a nova mudança de grade seja publicada. Isso receberá um novo número de código de transformação.

Atualmente, existe um código de transformação EPSG:8049ITRF2014 para GDA2020 (1) informando que ambos são iguais por enquanto, com valores de aumento anuais. Assim, você também pode seguir os prazos da ITRF.

AndreJ
fonte
Ah, obrigado @AndreJ, essa é a primeira parte da minha pergunta. E agora, o que seria necessário para que essa transformação fosse usada como padrão no, digamos, QGIS?
Alex Leith
Você precisa criar um CRS personalizado para cada CRS básico do GDA2020. Observe que os valores de deslocamento estão em mm, enquanto o PROJ.4 espera metros. Você também pode editar o srs.db do QGIS, sem qualquer garantia.
Andrej
ITRF2014 e GDA2020 serão momentaneamente iguais em 1º de janeiro de 2020. Assim como o GDA94 foi brevemente alinhado ao ITRF92 em 1994. Se você deseja uma transformação precisa a qualquer momento, exceto na época 2020.0, precisará fazer uma transformação 4D que leve em consideração os parâmetros de desvio dependentes do tempo. A transformação definida no EPSG: 8049 depende do tempo e as versões recentes do pro.4 podem levar em consideração a diferença entre a época do alinhamento dos dados e quando os dados foram capturados.
Rob
2

Você perguntou:

Deveria haver uma transformação simples de 7 parâmetros implementada no Proj.4 ou outras ferramentas de código aberto que é a transformação padrão (embora imperfeita) entre o GDA94 e o GDA2020? Ou é simplesmente o caso de as ferramentas sempre não mudarem? Como isso deve ser tratado?

O FAQ em http://www.icsm.gov.au/gda2020/faq.html informa:

Os seguintes produtos estarão disponíveis:

  • Arquivos de grade de transformação e distorção 2D no formato amplamente utilizado da Canadian National Transformations versão 2 (NTv2)
  • Transformação de similaridade de 7 parâmetros (capacete)
  • Um arquivo de grade de transformação 3D - formato ainda a ser determinado.

Também serão publicados valores que suportam a transformação de conjuntos de dados entre o GDA2020 e o ITRF2014 utilizando um modelo de movimento da placa ou uma transformação de similaridade de 14 parâmetros.

Essas informações serão fornecidas diretamente ao Registro de Parâmetros Geodésicos da EPSG, referido pelos fornecedores de software e hardware espaciais em todo o mundo antes de incorporar os parâmetros de transformação no software e firmware.

Depois que o ICSM publicou os 7 parâmetros de transformação de similaridade de parâmetros, você pode começar a usá-los como

+ proj = utm + zona = 55 + sul + ellps = GRS80 + towgs84 = [novos parâmetros] + unidades = m + no_defs

Parece que eles já foram publicados em http://www.icsm.gov.au/gda2020/InterimReleaseNoteV1.0.pdf .

61,55, -10,87, -40,19, -9,994, -39,4924, -32,7221, -32,8979

Você pode tentar com esses parâmetros + towgs84, mas lembro que o Proj.4 pode querer alguns dos parâmetros com sinal invertido.

Fazer um ticket do Proj.4 quando os parâmetros estiverem oficialmente disponíveis pode acelerar o processo com o Proj.4, mas quando o banco de dados EPSG é atualizado e o Proj.4 começa a usar esse novo banco de dados, a alteração pode ocorrer automaticamente. Depende um pouco de como o GDA2020 será implementado no banco de dados EPSG e se é necessário um novo algoritmo ou se é apenas uma questão de adicionar os parâmetros towgs84.

user30184
fonte
Pode ser necessário esperar um pouco até que uma alteração no banco de dados EPSG chegue ao GDAL e PROJ.4. Atualmente, o GDAL (2.2.2) é baseado no banco de dados EPSG v9.0 de dezembro de 2016 trac.osgeo.org/gdal/ticket/6772 e não será atualizado até a v2.3.0. O PROJ.4 ainda é mais antigo: github.com/OSGeo/proj.4/issues/477 estará no próximo lançamento.
Andrej
Hey @ user30184, não acho que o parâmetro toWGS84 seja usado para essa finalidade. O site do Proj.4 diz que esses são parâmetros para transformar as coordenadoras de um dado no dado WGS84 e, com o caso GDA94 e GDA2020, os dados são os mesmos que para o WGS84 (para todos os efeitos), veja: proj.maptools .org / gen_parms.html . O que é necessário é uma maneira de transformar entre dois CRSs geodésicos que são definidos com a mesma referência elipsóide, eu acho. E observo que as definições do GDA2020 estão no registro EPSG e em ferramentas como o QGIS, portanto, não há necessidade de esperar.
Alex Leith
O Proj.4 está usando o WGS84 como um dado provisório. Se você tiver os parâmetros + wgS84 de um lado, mas não do outro, receberá uma mudança de referência. Tente com + towgs84 e relate seus resultados.
user30184
Ei, acho que o que espero conseguir disso é garantir que esses parâmetros de transformação (que, como o @AndreJ apontou que fazem parte do banco de dados EPSG) sejam usados ​​por padrão nas ferramentas de código aberto. Vou fazer algumas leituras ...
Alex Leith
1

TLDR: Eles não são os mesmos. A igualdade relatada é o resultado de aproximações e só é verdadeira em circunstâncias limitadas. As coordenadas do GDA94 / 2020 são definidas em diferentes datums e quadros de referência. A transformação apropriada entre eles depende do nível de precisão desejado.

A questão aqui é a suposição na pergunta de que o proj.4 relata corretamente os dois CRS (sistema de referência coordenado) como sendo os mesmos. Eles não são. As seqüências de proj.4 citadas não são as definições de CRS. Eles são gerados a partir da definição do CRS, e as seqüências do proj.4 não são a imagem completa. As definições de registro do EPSG nos fornecem as informações extras necessárias para entender o que realmente está acontecendo.

Isso deriva de uma visão de mundo de que o WGS-84 é 'o' dado global e, historicamente, o proj.4 o usou como intermediário na conversão entre dados. O WGS-84 é redefinido a cada poucos anos ( estamos no G1762 agora, alinhado ao ITRF-08 ), pois é realinhado com as alterações no quadro de referência do ITRF, do qual o GDA também é derivado.

Isso levou a que esses atalhos e suposições fossem incorporados ao comportamento do proj, embora nas versões recentes isso esteja começando a mudar.

O rastreamento das implicações das alterações nos quadros de referência e quando elas mudaram não era grande coisa, enquanto o GPS do consumidor tinha precisão> 5m, mas os tempos estão mudando e a precisão do submetro requer que as ferramentas as considerem adequadamente.

Portanto, para responder à pergunta, precisamos rastrear em quais quadros de referência e referência o GDA94 e o GDA2020 CRS se baseiam e depois ver quais transformações disponíveis existem.

  • EPSG:7844 CRDA geográfico 2D GDA2020 (Lat / Lon), de
  • EPSG:7843 CRS geográfico 3D GDA2020 (L / L / H), de
  • EPSG:7842 GDA2020 3D geocêntrico (ECEF X / Y / Z), todos os quais usam
  • EPSG: 1168 (dado) - dado geocêntrico da Austrália, 2020

O EPSG: 1168 define seu quadro de referência de âncora:

  • Definição da âncora: ITRF2014 na época 2020.0
  • Época de realização: 01-01 2020

Se você fizer o mesmo com o GDA94, verá que o quadro de referência é ITRF92, alinhado em 01/01/1994.

Ao transformar entre os dados ITRF02 / 14 e GDA94 / GDA2020, os dados são alinhados e a transformação entre eles ocorre null apenas na data de alinhamento da época. Isso é essencialmente o que essas strings de projetos estão dizendo. Por conveniência, geralmente não gostamos de ter que mudar constantemente as coordenadas que armazenamos, por isso é mais simples alterar a deriva entre elas a cada poucos anos e aceitar um nível de erro.

Para a maioria das aplicações que exigem precisão> 1m, isso é suficiente.

Mas a realidade não muda a cada poucos anos e, se queremos uma transformação mais precisa, precisamos considerar o desvio da distância dependente do tempo dos dados antes / depois do alinhamento. É uma transformação 4D em vez de 3D.

As transformações entre GDA2020 e WGS-84 ou ITRF2014 estão descritas em:

  1. GDA2020 para WGS 84 (G1762) (1) - EPSG: 8448
  2. ITRF2014 a GDA2020 (1) - EPSG: 8049

Ao transformar entre o GDA94 e o GDA2020, as coisas são mais simples, pois precisamos apenas saber a diferença entre os quadros de referência. Tipo de. Há mais de um, e o correto a ser usado depende de quando, como e onde os dados foram referenciados ao GDA94. É uma tentativa de eliminar erros devido aos métodos menos refinados usados ​​nos anos 90.

Esses são:

  • Conforme - Rotação do quadro de coordenadas (1) - EPSG: 8048
  • Distorção localizada (2) - EPSG: 8447
  • Conformal - transformação de grade NTv2 (3) - EPSG: 8446

Para entender em que circunstâncias elas devem ser usadas, leia o manual técnico do GDA2020

Roubar
fonte
0

Com base nas respostas anteriores, a definição do proj4 é assim:

+proj=longlat +ellps=GRS80 +towgs84=-0.06155,0.01087,0.04019,-0.0394924,-0.0327221,-0.03289790,0.009994 +no_defs

Você pode usá-lo em qualquer uma das zonas de grade projetadas padrão adicionando apenas o parâmetro towgs84. por exemplo

+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=-0.06155,0.01087,0.04019,-0.0394924,-0.0327221,-0.03289790,0.009994 +units=m +no_defs

Para obter os números corretos na seção 3.1 da especificação, primeiro inverta o sinal dos parâmetros de rotação (como discutido na seção 2.2.1), mas inverta tudo, porque os parâmetros na especificação são a transformação de WGS / GDA94 e queremos a transformação em WGS para a definição proj4. Então basicamente tudo, exceto as rotações na especificação, tem seu sinal invertido.

A única outra coisa a observar é que, para proj4, a escala é o último parâmetro.

Os puristas sugerem o uso da abordagem de troca de grade NtV2, mas esses arquivos são muito grandes e eu descobri que o acima fornece uma precisão superior a 5 cm usando dados de amostra para Victoria. Eu também queria uma solução que funcionasse com o proj4js.

JohnGom
fonte