En aquel Imperio, el Arte de la Cartografía logró tal Perfección que el Mapa de una sola Provincia ocupaba toda una Ciudad, y el Mapa del Imperio, toda una Provincia. Con el tiempo, estos Mapas Desmesurados no satisficieron y los Colegios de Cartógrafos levantaron un Mapa del Imperio, que tenía el Tamaño del Imperio y coincidía puntualmente con él. Menos Adictas al Estudio de la Cartografía, las Generaciones Siguientes entendieron que ese dilatado Mapa era Inútil y no sin Impiedad lo entregaron a las Inclemencias del Sol y los Inviernos. En los Desiertos del Oeste perduran despedazadas Ruinas del Mapa, habitadas por Animales y por Mendigos; en todo el País no hay otra reliquia de las Disciplinas Geográficas.
[Del rigor en la ciencia, Jorge Luis Borges]

2011-04-27

transformações epsg:9606 e epsg:9607

Nas tabelas seguintes sintetizam-se os códigos de operações de transformação com 7 parâmetros registadas na base de dados EPSG para Portugal Continental.
Como se referiu anteriormente, existem duas convenções alternativas para o sinal dos parâmetros de rotação. Por isso, inclui-se uma tabela com operações de transformação registadas com a convenção Position Vector(epsg:9606) e outra tabela para transformações registadas com a convenção Coordinate Frame Rotation (epsg:9607).
Para começar a discussão, incluem-se só as instâncias mais recentes de parâmetros para cada combinação datum de origem vs. datum de destino.

Position Vector(epsg:9606)






PARA ► ETRS89 WGS 84
DE ▼ epsg 4258 4326
Datum 73 4274 epsg:5037
[ano de 2009]
epsg:1658
[copiada de epsg:1657]
[desactualizada]
Lisbon 4207 epsg:1997
[ano de 2001]
[desactualizada]
epsg:1656
[copiada de epsg:1655]
[desactualizada]
ED50 4230 [copiar de espg:1989]
[em falta]
[usar espg:1989]
[em falta]
Lisbon 1890 4666 [copiar de espg:1990]
[em falta] 
[usar espg:1990]
[em falta] 

Questões a resolver:
  1. Para transformações a partir de Datum Lisboa, existem parâmetros mais recentes publicados pelo IGP em 2009;
  2. Para transformações de Datum 73 para WGS84, e seguindo o critério do próprio EPSG, deveria ser criada uma cópia da operação epsg:5037
  3. Para transformações a partir de ED50 ou de Datum Lisboa (Bonne), não estão registados os  ajustes realizados pelo IGP em 1998 - embora constem da base de dados mas com a convenção Coordinate Frame Rotation (ver a seguir).
Coordinate Frame Rotation(epsg:9607)






PARA ► ETRS89 WGS 84
DE ▼ epsg 4258 4326
Datum 73 4274 epsg:1992
[ano de 2001]
 [desactualizada]
epsg:1987
[ano de 1998]
[desactualizada]
Lisbon 4207 [em falta] epsg:1988
[ano de 1998]
[desactualizada]
ED50 4230 [copiar de espg:1989]
[em falta]
epsg:1989
[ano de 1998]
Lisbon 1890 4666 [copiar de espg:1990]
[em falta] 
epsg:1990
[ano de 1998]

Embora esta notação não seja a aconselhada pelo ISO 19111, por uma questão de consistência seria útil resolver as seguintes questões:
  1. Para transformações a partir de Datum Lisboa ou de Datum 73, existem parâmetros mais recentes publicados pelo IGP em 2009;
  2. Para transformações a partir de ED50 ou de Datum Lisboa (Bonne), só conheço parâmetros de transformação para WGS84, publicados em 1998 pelo IGP. Seguindo o critério do próprio EPSG, poderia ser criada uma cópia das operações, considerando-as aplicáveis também a transformações para ETRS89.
Parâmetros das transformações acima listadas
Para referência futura, segue-se tabela com os parâmetros das transformações referidas nas tabelas anteriores [a laranja assinala-se transformações com valores "desactualizados"]...

Parâmetro ▼ Código da operação de transformação ▼
Código Nome Unidade 5037 1658 1997 1656 1992 1987 1988 1989 1990
8605 X-axis translation m -230.994 -238.200 -282.100 -280.900 -231.034 -239.749 -288.885 631.392 -74.292
8606 Y-axis translation m 102.591 85.200 -72.200 -89.800 102.615 88.181 -91.744 -66.551 -135.889
8607 Z-axis translation m 25.199 29.900 120.000 130.200 26.836 30.488 126.244 481.442 -104.967
8608 X-axis rotation '' arco 0.633 0.166 -1.529 -1.721 -0.615 -0.263 1.691 -1.090 0.524
8609 Y-axis rotation '' arco -0.239 0.046 0.145 0.355 0.198 -0.082 -0.410 4.445 0.136
8610 Z-axis rotation '' arco 0.900 1.248 -0.890 -0.371 -0.881 -1.211 0.211 4.487 -0.610
8611 Scale difference ppm 1.950 2.030 -4.460 -5.920 1.786 2.229 -4.598 -4.430 -3.761

transformações epsg:9603

Na tabela seguinte sintetizam-se os códigos de operações de transformação com 3 parâmetros registadas na base de dados EPSG para Portugal Continental. 

Para cada transformação indica-se também o ano de publicação dos parâmetros de transformação pelo IGP ou, nos casos aplicáveis, se se trata uma transformação "derivada", i.e., se se considera aplicáveis os valores de parâmetros estimados para um datum de destino diferente.

Todos os valores encontrados se baseiam em ajustes de transformações de Molodensky publicados pelo IGP (embora alguns já não estejam actualmente disponíveis no respectivo site). 
Como descrito anteriormente, as operações de transformação estão associadas ao método Geocentric Translations (geog2D domain) com o código epsg:9603.
  

PARA ► ETRS89 WGS 84
DE ▼ epsg 4258 4326
Datum 73 4274 epsg:5036
[ano 2009]
epsg:1983
[ano 2009]
Lisbon 4207 epsg:5038
[ano 2009]
epsg:1984
[ano 1998]
ED50 4230 epsg:5040
[copiada de espg:1985]
epsg:1985
[ano 1998]
Lisbon 1890 4666 epsg:5039
[copiada de espg:1986]
epsg:1986
[ano 1998]

Para referência futura, a tabela seguinte lista os valores dos parâmetros para cada transformação:


Parâmetro ▼ Código da operação de transformação ▼
Código Nome Unidade 5036 1983 5038 1984 5040 1985 5039 1986
8605 X-axis translation m -223.150 -223.237 -303.861 -304.046 -87.987 -87.987 508.088 508.088
8606 Y-axis translation m 110.132 110.193 -60.693 -60.576 -108.639 -108.639 -191.042 -191.042
8607 Z-axis translation m 36.711 36.649 103.607 103.640 -121.593 -121.593 565.223 565.223

Não se considera necessária qualquer actualização ou correcção à base de dados EPSG, dado que:
  1. as transformações com 3 parâmetros são menos exactas que as transformações com 7 parâmetros; 
  2. existem transformações com 7 parâmetros disponíveis para todas as combinações de datum de origem vs. datum de destino; 
  3. a generalidade das aplicações SIG permite a utilização de transformações com 7 parâmetros. 

    inconsistências nas transformações EPSG para PT

    Conclusões da análise das (instâncias de) transformações registadas na base de dados do EPSG para Portugal Continental:
    1. Estão registadas transformações cujos parâmetros foram determinados ou publicados pelo IGP (directamente ou através do Eurogeographics) nos anos de 1998, 2000, 2001 e 2009.
    2. Nem todas as transformações cujos parâmetros foram determinados ou publicados pelo IGP (directamente ou através do Eurogeographics) nos anos de 1998, 2000, 2001 e 2009 se encontram registadas.
      Por exemplo, não estão registados os actuais parâmetros da transformação de Bursa-Wolf de Datum Lisboa (Hayford) para ETRS89.

    3. As transformações de 7 parâmetros são registadas por vezes segundo a convenção Position Vector (epsg:9606), por vezes segundo a convenção Coordinate Frame Rotation (epsg:9607), e noutros casos encontram-se replicadas nas duas notações.
    4. Num caso estranho, a transformação epsg:1792 (segundo o método epsg:9606) é assinalada como deprecated mas a transformação epsg:1992 (segundo o método epsg:9607) ainda é válida. Contudo, os valores dos parâmetros são os basicamente os mesmos e e são válidos (trata-se da transformação de Datum 73 para ETRS89 publicada pelo IGP em 2001). Admito que a epsg:1792 tenha sido retirada porque os valores não estão registados com o mesmo número de casas decimais.

    5. Por vezes (mas nem sempre), uma transformação originalmente ajustada para WGS84 é "duplicada" noutra transformação para ETRS89. A inversa também ocorre. 
    6. Não estão registadas transformações entre data locais.
    Para tornar a base de dados consistente:
    1. Registar TODAS as transformações para WGS84 ou para ETRS89 cujos parâmetros tenham sido determinados ou publicados pelo IGP (directamente ou através do Eurogeographics) nos anos de 1998, 2000, 2001 e 2009.
      Mesmo que um determinado ajuste não seja o melhor ou mais recente, convém que permaneça um registo formal da sua existência.
      O conceito de deprecated no EPSG só se aplica a registos com erros formais ou materiais. Nas observações são assinalados textualmente os casos em que um registo substitui (supersedes) ou é substuído por outro.
    2. No caso de transformações de 7 parâmetros, garantir que são registadas segundo a convenção Position Vector (epsg:9606).
      O que não invalida que se mantenham os registos que já existem e que seguem a convenção epsg:9607.
    3. No caso de transformações para ETRF89, garantir que são "duplicadas" para WGS84.
      O objectivo é simplificar a publicação/partilhar de informação geográfica em aplicações de visualização que não requeiram grande exactidão (que também não seria garantida por este tipo de transformações...)
    4. Se só estiver registada/publicada uma transformação para WGS84, garantir que é duplicada para ETRF89.
      Neste caso, o objectivo é garantir que é possível documentar a transformação utilizada para transformar dados em sistemas obsoletos para ETRF89.
    Posto isto, o passo seguinte é listar todos as transformações que já estão no EPSG e as que faltam.

      2011-04-26

      códigos ESRI para CRS

      Ligações rápidas para os códigos ESRI de CRS usados em PT continental

      • ESRI:102163: Lisboa Bessel Bonne (mas sem quadrantes invertidos)
      • ESRI:102165: Lisboa Hayford Gauss IPCC
      • ESRI:102164: Lisboa Hayford Gauss IGeoE (i.e. com coordenadas no 1º quadrante)
      • ESRI:102161: Datum 73 Hayford Gauss IPCC
      • ESRI:102160: Datum 73 Hayford Gauss IGeoE (i.e. com coordenadas no 1º quadrante) 
      Não consigo encontrar online  nenhuma lista de códigos ESRI "em vigor".

      A instalação local do ArcGIS 9.3.1 cria um ficheiro C:\Program Files\ArcGIS\pedata\gdaldata\esri_extra.wkt que contem os mesmos códigos que estão disponíveis em http://spatialreference.org.
      Transcrição dos comentários no ínicio do dito ficheiro (ipsis verbis):
      #
      # This file derived from a subset of definitions from the "epsg" directory
      # distributed with ArcGIS.  This file only contains definitions that aren't
      # real EPSG definitions.  The definitions were "morphed" into OGR WKT format,
      # and the authority clause added during processing.
      #
      # NOTE: I'm not too clear on what version of ArcGIS these definitions were
      # derived from.
      #
      Aparentemente a fonte das definições não é clara para os próprios (?).
      O ficheiro não contém a informação que se esperaria: e.g. não encontro um "GCS_Datum_73" ou o "ETRS_1989_Portugal_TM06", que já existem no ArcGIS.
      Ou seja, o ficheiro não está "sincronizado" com o conteúdo de ficheiros *.prj localizados na directoria C:\Program Files\ArcGIS\Coordinate Systems.

      bursa-wolf

      No labirinto das designações alternativas para métodos de transformação...

      A designação "transformação de Bursa-Wolf" é utilizada para transformações de Helmert com 7 parâmetros: 3 parâmetros de translação geocêntrica, 3 parâmetros de rotação e um factor de escala.
      Existem duas notações diferentes para os parâmetros de rotação, em função do que se convencione ser o sentido positivo de rotação:
      • Dextrógiro - usado no método designado por Position Vector (comum na Europa, aconselhado pela ISO 19111, utilizado pelo CRS-EU, utilizado pelo IGP) e correspondente aos métodos epsg:9606 e epsg:1033 
      • Levógiro - usado no método designado por Coordinate Frame ou Coordinate Frame Rotation (comum nos EUA e Austrália) e correspondente aos métodos epsg:9607 e epsg:1032.
        [esta convenção também é usada no método de Molodensky-Badekas].
      Ver, por exemplo:

      2011-04-15

      molodensky

      No labirinto das designações alternativas para métodos de transformação...

      Sob a designação genérica de "transformação de Molodensky" encontram-se 3 métodos distintos (cf. Deakin (2004:2)):
      It is now common in the literature to describe three Molodensky transformations:
      (i) The Molodensky-Badekas transformation: a seven-parameter conformal transformation (or similarity transformation) [...]
      (ii) The standard Molodensky transformation: a five-parameter transformation [...]
      (iii) The abridged Molodensky transformation: a modified version of the standard Molodensky transformation [...]. The abridged Molodensky transformation equations do not contain the ellipsoidal heights of points to be transformed.
      As transformações que interessam mais (neste caso particular)  são as referidas nas alíneas (ii) e (iii) e que serão discutidas mais abaixo.

      Transformação de Molodensky-Badekas

      Relativamente à transformação geocêntrica de Molodensky-Badekas (epsg:1034) vide Guidance Note Number 7, part 2, v.42, pp. 124:
      To eliminate high correlation between the translations and rotations in the derivation of parameter values for the Helmert transformation methods, instead of the rotations being derived about the geocentric coordinate reference system origin they may be derived at a location within the points used in the determination. Three additional parameters, the coordinates of the rotation point, are then required, making 10 parameters in total.
      Ou seja, para além dos 7-parâmetros de uma transformação conforme (a.k.a. Helmert ou Bursa-Wolf), é necessário dispôr das 3 coordenadas geocêntricas do ponto de avaliação da transformação (Xp, Yp, Zp), fornecidas no CRS de origem.
      Visto de outra forma, a transformação epsg:1032 (Coordinate Frame Rotation) é um caso particular da transformação de Molodensky-Badekas em que o ponto de avaliação é a origem do CRS geocêntrico.

      Na base de dados EPSG - tal como para as transformações de 7-parâmetros -  também a transformação de Molodensky-Badekas pode ser declarada sob a forma duma concatenação de operações:


      Molodensky-Badekas (geog2D domain) 9636
      1 Geographic 2D to Geographic 3D 9659
      2 Geographic 3D to Geocentric 9602
      3 Molodensky-Badekas (geocentric domain) 1034
      4 Geocentric to Geographic 3D 9602
      5 Geographic 3D to Geographic 2D 9659



      Molodensky-Badekas (geog3D domain) 1039
      1Geographic 3D to Geocentric9602
      2Molodensky-Badekas (geocentric domain)1034
      3Geocentric to Geographic 3D9602

      Transformação de Molodensky standard e abridged

      Passando agora às transformações não-geocêntricas (Guidance Note Number 7, part 2, v.42, :128):
      As an alternative to the computation of the new latitude, longitude and ellipsoid height by concatenation of three operations (geographic 3D to geocentric + geocentric to geocentric + geocentric to geographic 3D), the changes in these coordinates may be derived directly as geographic  coordinate offsets through formulas derived by Molodensky [...]

      Deakin (2004) apresenta a derivação das fórmulas para as duas variantes:
      Estas transformações requerem 5 parâmetros, 2 dos quais podem ser obtidos a partir das definições dos elipsóides de origem e de destino, designadamente a diferença dos semi-eixos maiores e a diferença de achatamento dos elipsóides. Na base de dados EPSG, que já contem as definições dos vários elipsóides, basta indicar os 3 parâmetros restantes (dϕ, dλ, dh).


      Translação geocêntrica

      As transformações de Molodensky (epsg:9604 e epsg:9605) assumem que os eixos cartesianos dos dois elipsóides são paralelos.
      Formalmente, a transformação de Molodensky standard é equivalente à translação geocêntrica (epsg:1031). Ou seja, desde que um determinado software de transformação de coordenadas realize a concatenação de operações correspondente ao método epsg:9603, os parâmetros de transformação são os mesmos.

      Em termos numéricos, existem discrepâncias (que podem ser devidas a arredondamentos nos passos de cálculo intermédios). Segue-se uma experiência simples.
      Testou-se a transformação de epsg:27493 (Datum 73/Hayford-Gauss) para epsg:3763 (ETRS89/PT-TM06), usando os parâmetros de transformação do IGP sobre uma amostra de 781 vértices geodésicos com coordenadas conhecidas nos dois CRS. Utilizaram-se os dois métodos - transformação de Molodensky standard e translação geocêntrica - implementados no software ArcGIS 9.3.1. As coordenadas foram armazenadas com precisão de 3 casas decimais.
      Os pontos transformados têm sistematicamente uma diferença de 5, 6 ou 7 mm no terreno. É obviamente irrelevante em termos posicionais, mas topologicamente os pontos são diferentes.
      É expectável que o mesmo tipo de situação surja em quaisquer implementações diferentes, devido às questões de arredondamentos.

      quantas transformações?

      quantas transformações estão registadas na base de dados EPSG para os CRS usados em Portugal?



      PARA ► PTRA08 ETRS89 WGS 84
      DE ▼ epsg 5013 4258 4326
      Azores Occidental 1939 4182 3
      2 5
      Azores Central 1948 4183

      1 1
      Azores Central 1995 4665 6
      10 16
      Azores Oriental 1940 4184

      1 1
      Azores Oriental 1995 4664 3
      4 7
      Porto Santo 4615

      1 1
      Porto Santo 1995 4663 3
      2 5
      Selvagem Grande 4616

      2 2
      PTRA08 5013

      1 1
      Lisbon 1890 4666
      1 2 3
      Lisbon 1890 (Lisbon) 4904

      2 2
      Lisbon 4207
      5 4 9
      Lisbon (Lisbon) 4803

      1 1
      Datum 73 4274
      6 4 10
      ED50 4230
      1 4 5
      ETRS89 4258

      1 1


      15 13 42 70

      O quadro anterior baseia-se na versão 7.6 da base de dados EPSG em formato MS Access, inclui transformações deprecated (por motivos que serão clarificados mais tarde) e inclui transformações do tipo:
      • epsg:9603 - Geocentric translations (geog2D domain)
        • epsg:9606 - Position Vector transformation (geog2D domain)
          • epsg:9607 - Coordinate Frame Rotation (geog2D domain)
          • operações concatenadas, que se assinalam a itálico  (e que se  reportam apenas às definições de data com referência ao meridiano de Lisboa).
            Critérios de criação de transformações

            Algumas das transformações foram criadas pelo próprio OGP de acordo com os critérios expressos na pág. 24 do Guidance Note Number 7, v. 2.1, que em seguida se transcrevem:
            Many transformations that are available are between a local or national  system and a system which is defined relative to the global standard, the International Earth Rotation Service Terrestrial Reference System (ITRS). At a geodetic level of significance these realisations of the ITRS are discrete. But at a level of accuracy  quite satisfactory for most GIS and oil industry applications  –  nominally submetre accuracy  –  the differences between these ITRS realisations are not significant. The EPSG dataset facilitates the use of these transformations in a hub implementation by:
            •  choosing the GPS satellite navigation system's CRS WGS 84, which in recent years has been maintained within 0.1m of the ITRS, as a standard for use as a hub CRS.
            •  creating transformations from national or regional realisations of the ITRS to WGS 84 which result in no change in coordinate values, with a transformation accuracy of 1m. 
            •  duplicating selected transformations to national or regional realisations of the ITRS as a transformation to WGS 84, with a transformation accuracy  of the lesser of 1 metre or that of the original transformation.
            [...]It must be recognised that these transformations may not necessarily be approved by the originator of the original transformation. It should also be recognised that CRSs other than WGS 84 may be more appropriate as a hub. For example, in Europe when there is a need  to retain positions with respect to the EuroAsian tectonic plate, because with time positions on this plate change with respect to a global best fit system such as WGS 84, the adoption of ETRS89 as a hub would be preferable.
            Ou seja, para a exactidão requerida pela generalidade das aplicações SIG (e para a exactidão permitida pela utilização de transformações ajustadas de forma a minimizar o erro quadrático médio na área geográfica de aplicação), o OGP considera equivalentes os CRS ETRF89 (epsg:4258), PTRA08 (epsg:5013) e WGS84 (epsg:4326) .

            Transformações para WGS84 

            Dado que o WGS84 (epsg:4326) é o CRS hub para as concatenações ímplicitas de transformações e/ou conversões, é importante verificar estas transformações.
            Seguir-se-á a seguinte chave de decisão:
            (if)
            Para um dado método e área geográfica de aplicação, existe mais de uma transformação para WGS84?
            (then)
            Caso exista, seleccionar a transformação mais exacta (i.e. com menor EMQ ou outro indicador agregado de erro, se comparáveis entre registos diferentes), ou mais recente (o indicador de erro pode "piorar" se forem usados mais pontos no ajuste, o que não obsta a que as estimativas dos parâmetros sejam melhores).
            * Se a fonte da transformação seleccionada não for uma NMA, manter não obstante a transformação mais exacta reportada por uma NMA.
            (elseif)
            Para um dado método e área geográfica de aplicação, existe apenas 1 transformação para WGS84?
            (then)
            Caso exista, verificar se os valores dos parâmetros correspondem aos da transformação mais exacta ou recente reportada por uma NMA (que poderá ser uma transformação para um ITRS).
            (else)
            Se não existe qualquer transformação, criar uma com base nos valores mais exactos/recentes reportados por uma NMA (que poderá ser uma transformação para um ITRS).

            Transformações para ETRS89 e PTRA08

            Como resulta da sequência anterior, para poder verificar as transformações para WGS84 é necessário verificar primeiro as transformações para outras realizações do ITRS.