DNGS/Proj: mudanças entre as edições

De Documentação
(add)
 
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
A seguir as projeções e o seletor de jurisdição, para entregar a projeção correta de cada jurisdição.
A seguir as projeções e o seletor de jurisdição, para entregar a projeção correta de cada jurisdição.
 
Apesar do requisto de igual-área, o país tem a liberdade de optar por projeções "quasi igual-área", como foi o caso da Colômbia (por estar próxima do Equador a projeção UTM tem distorção de área pequena e satisfatória para o censo).


== Igual-área ==
== Igual-área ==
Linha 13: Linha 15:
* Albers Africa: https://epsg.io/102022
* Albers Africa: https://epsg.io/102022
* Lambert cilindrica equatorial: a matematica mais simples https://wiki.addressforall.org/doc/DGGS/Proj/rHEALPix
* Lambert cilindrica equatorial: a matematica mais simples https://wiki.addressforall.org/doc/DGGS/Proj/rHEALPix
* Europa: [[wikipedia:European grid]] adota [[wikipedia:Lambert azimuthal equal-area projection]] com centro em 52° N, 10° E.
* Europa: [[wikipedia:European grid]] adota [[wikipedia:Lambert azimuthal equal-area projection]] com centro em 52° N, 10° E. (multipurpose Pan-European mapping standard de 2003)
* Glance... padrão continental da NASA para fotos de satélite.
* Glance... padrão continental da NASA para fotos de satélite.


Linha 19: Linha 21:


=== Proposta Glance ===
=== Proposta Glance ===
Em 2018 o projeto measures-glance/glance-grids (inspirado no primeiro paper do Equi7 [https://github.com/TUW-GEO/Equi7Grid Equi7Grid]) ...  Usa [[wikipedia:Lambert_Azimuthal_Equal_Area]]
[[Arquivo:GLANCE-ContinentsGrid1.png|thumb|420px|Grades continentais do GLANCE.]]


Ver template Python abaixo e resultado em https://github.com/measures-glance/glance-grids/blob/master/data/crs_wkt/GLANCE_GRIDS_V01_EU_CRS.wkt
Podemos nos inspirar no [[DGGS/Proj/GLANCE]] da NASA, e sua estratégia de "conectar levemente peças de um mosaico irregular". Usa [[wikipedia:Lambert_Azimuthal_Equal_Area]], como grande parte das projeções DGGS. Para definir as projeções da sua cobertura L0 usa um simples ''template'', de modo que podemos fazer o mesmo por país, mudando apenas os centros (''longitude_of_center'' e ''latitude_of_center'') e [https://gis.stackexchange.com/q/469283/7505 calibrando conforme altitude mediana].


<pre>
<pre>
PROJCS["BU MEaSUREs Lambert Azimuthal Equal Area - {continent} - {version}",
PROJCS["AFA Codes Lambert Azimuthal Equal Area - {country} - {version}",
     GEOGCS["GCS_WGS_1984",
     GEOGCS["GCS_WGS_1984",
         DATUM["D_WGS_1984",
         DATUM["D_WGS_1984",
Linha 33: Linha 35:
     PARAMETER["false_easting",0.0],
     PARAMETER["false_easting",0.0],
     PARAMETER["false_northing",0.0],
     PARAMETER["false_northing",0.0],
     PARAMETER["longitude_of_center",{lon_of_center}],
     PARAMETER["longitude_of_center",{longitude_of_center}],
     PARAMETER["latitude_of_center",{lat_of_center}],
     PARAMETER["latitude_of_center",{latitude_of_center}],
     UNIT["meter",1.0]]
     UNIT["meter",1.0]]
</pre>
</pre>
[[Arquivo:GLANCE-ContinentsGrid1.png|centro|semmoldura|680x680px]]
 
Para avaliar melhor os recursos de conexão entre as peças do mosaico, talvez interessante conferir algoritmos mais atualizados do [https://github.com/TUW-GEO/Equi7Grid Equi7Grid] (que não é DGGS  como o GLANCE mas usa mesma estratégia de mosaico L0).
 
===Proposta ajuste fino ===
 
O ajuste da projeção ao relevo local (altitude mediana dos locais mais povoados e sem picos extremos). Infelizmente o ajuste local requer sistema diferente do WGS84, o que pode gerar "efeitos colaterais", e portanto requer um profundo estudo antes de ser adotado.
 
Exemplo do Brasil,  projeção Albers oficial do IBGE:
* PROJ-string <code>+proj=aea +lat_0=-12 +lon_0=-54 +lat_1=-2 +lat_2=-22 +x_0=5000000 +y_0=10000000 +ellps=WGS84 +units=m</code>.<br/>Nela está implicito o Datum "D_SIRGAS2000", similar ao WGS84 com <code>[6378137,298.2572221009113]</code> (podemos aproximar a segunda para 298.257222101) e <code>UNIT["Degree",0.017453292519943295]</code>.
* <code>lat_0</code>=latitude_of_origin; <code>lon_0</code>=central_meridian; <code>lat_1</code>=standard_parallel_1; <code>lat_2</code>=standard_parallel_2; <code>x_0</code>=false_easting; <code>y_0</code>=false_northing.
 
Projeção com origem [https://gis.stackexchange.com/a/469286/7505 deslocada para 600 metro acima do nível do mar]:
* PROJ-string <code>+proj=aea +lat_0=-12 +lon_0=-54 +lat_1=-2 +lat_2=-22 +x_0=5000000 +y_0=10000000 +a=6378737 +rf=298.257223563 +towgs84=0,0,0,0,0,0,-100 +units=m +no_defs +type=crs</code>.<br/>Nela está implicito o WGS84 pelo <code>towgs84</code>, e o raio <code>+a=6378737</code> é o mesmo, mas o segundo valor, talvez seja melhor adotar do SIRGAS (298.257222101) ao invés do <code>rf=298.257223563</code> (-298.257222101=-0.0000015).
* A chave para a elevação está em <code>towgs84</code>, "Assuming a sphere with a radius of 6 million meters, 100 parts per million is 600 meters".
 
:<small>PS: as projeções  Albers dos [https://epsg.io/5070 EUA] e Brasil foram definidas com relação ao GRS80 ("is an ellipsoid/spheroid, not a true geodetic datum / geographic coordinate system").  Na prática faz uso do DATUM NAD83, que por sua vez difere apenas uma fração de metros (0.0000015) do WGS84, sendo equivalentes para praticamente 100% das aplicações. Ver [[wikipedia:Geodetic_datum#World_Geodetic_System_1984_(WGS_84)|Geodetic datum na Wikipedia]].</small>
 
<small>NOTA sobre ajuste sem impacto: uma alternativa para manter o WGS84 é tratar apenas as aplicações sensíveis. Por exemplo na medida de área de lote, apĺicar  correção do valor de área, com base na mediana das altitudes e ignorando zonas de altitudes extremas e densidade populacional zero (picos e fossas não-habitadas).</small>
 
=== Métrica das limitações de uso ===
Projeções oficiais (ex. Albers do IBGE) já estabeleceram um "uso oficial", independente do erro (distorção de área) da projeção na sua métrica de área de terrenos locais.
Ainda assim, é importante saber quais outras aplicações podem aderir à mesma projeção: é necessário expressar o erro de medida implícito na projeção, e seu perfil de distorção ao longo do território nacional.
 
Projeções não-oficiais precisam ser avaliadas. A metodologia AFAcodes sugere que as alternativas sejam  comparadas entre si, para se decidir qual usar: comparar através da métrica de distorção. <br/>A cada país pode ser necessária também uma prévia seleção das aplicações e suas exigências, como requisito mínimo.
 
Dentro da metodologia AFAcodes estabelecemos os seguintes critérios e métricas:
 
# Projeções locais de referência: tipicamente projeções municipais (ex. UTM oficial do Plano Diretor) utilizadas para agrimensura ou aplicações imobiliárias, e dados oficiais com respectivos polígonos de lote e medida de área oficial.  Sugere-se avaliar 1 a 3 municípios mais populosos do país, supondo que representem amostra de mais de 50% da população.
# Comparar área dos lotes calculada pela projeção AFAcodes.
# Supor que "erro de área válido" é o implícito pela [[Subpavimentação|cobertura interior do lote]], que será a fonte de medida com erro sistemático.
# ''Fit'' de altitude pela ''altitude [[wikipedia:median|mediana]] das regiões povoadas'' (ignorar picos e vales desabitados), por serem os locais onde haverá maior demanda por múltiplas aplicações.


== Quasi-igual-área ==
== Quasi-igual-área ==
Linha 44: Linha 76:
Continental:
Continental:
* Equi7 ver [[wikipedia:Azimuthal_Equidistant]]. Ver https://cartography.tuwien.ac.at/eurocarto/wp-content/uploads/2015/09/3_6_ppt.pdf  e https://doi.org/10.1016/j.cageo.2014.07.005 . Ver https://github.com/TUW-GEO/Equi7Grid
* Equi7 ver [[wikipedia:Azimuthal_Equidistant]]. Ver https://cartography.tuwien.ac.at/eurocarto/wp-content/uploads/2015/09/3_6_ppt.pdf  e https://doi.org/10.1016/j.cageo.2014.07.005 . Ver https://github.com/TUW-GEO/Equi7Grid
* Dual Equidistant for simple DGGS, https://www.mdpi.com/2220-9964/12/7/289


== Seletor de jurisdições ==
== Seletor de jurisdições ==

Edição atual tal como às 11h28min de 20 de novembro de 2023

A seguir as projeções e o seletor de jurisdição, para entregar a projeção correta de cada jurisdição.

Apesar do requisto de igual-área, o país tem a liberdade de optar por projeções "quasi igual-área", como foi o caso da Colômbia (por estar próxima do Equador a projeção UTM tem distorção de área pequena e satisfatória para o censo).

Igual-área

Projeções nacionais:

Projeções continentais:

PS: o ajuste nacional por fator de escala não altera o geocódigo, mas o ajuste por planos oblíquos altera a área e portanto invalidam geocódigos continentais.

Proposta Glance

Grades continentais do GLANCE.

Podemos nos inspirar no DGGS/Proj/GLANCE da NASA, e sua estratégia de "conectar levemente peças de um mosaico irregular". Usa wikipedia:Lambert_Azimuthal_Equal_Area, como grande parte das projeções DGGS. Para definir as projeções da sua cobertura L0 usa um simples template, de modo que podemos fazer o mesmo por país, mudando apenas os centros (longitude_of_center e latitude_of_center) e calibrando conforme altitude mediana.

PROJCS["AFA Codes Lambert Azimuthal Equal Area - {country} - {version}",
    GEOGCS["GCS_WGS_1984",
        DATUM["D_WGS_1984",
            SPHEROID["WGS_1984",6378137.0,298.257223563]],
        PRIMEM["Greenwich",0.0],
        UNIT["degree",0.0174532925199433]],
    PROJECTION["Lambert_Azimuthal_Equal_Area"],
    PARAMETER["false_easting",0.0],
    PARAMETER["false_northing",0.0],
    PARAMETER["longitude_of_center",{longitude_of_center}],
    PARAMETER["latitude_of_center",{latitude_of_center}],
    UNIT["meter",1.0]]

Para avaliar melhor os recursos de conexão entre as peças do mosaico, talvez interessante conferir algoritmos mais atualizados do Equi7Grid (que não é DGGS como o GLANCE mas usa mesma estratégia de mosaico L0).

Proposta ajuste fino

O ajuste da projeção ao relevo local (altitude mediana dos locais mais povoados e sem picos extremos). Infelizmente o ajuste local requer sistema diferente do WGS84, o que pode gerar "efeitos colaterais", e portanto requer um profundo estudo antes de ser adotado.

Exemplo do Brasil, projeção Albers oficial do IBGE:

  • PROJ-string +proj=aea +lat_0=-12 +lon_0=-54 +lat_1=-2 +lat_2=-22 +x_0=5000000 +y_0=10000000 +ellps=WGS84 +units=m.
    Nela está implicito o Datum "D_SIRGAS2000", similar ao WGS84 com [6378137,298.2572221009113] (podemos aproximar a segunda para 298.257222101) e UNIT["Degree",0.017453292519943295].
  • lat_0=latitude_of_origin; lon_0=central_meridian; lat_1=standard_parallel_1; lat_2=standard_parallel_2; x_0=false_easting; y_0=false_northing.

Projeção com origem deslocada para 600 metro acima do nível do mar:

  • PROJ-string +proj=aea +lat_0=-12 +lon_0=-54 +lat_1=-2 +lat_2=-22 +x_0=5000000 +y_0=10000000 +a=6378737 +rf=298.257223563 +towgs84=0,0,0,0,0,0,-100 +units=m +no_defs +type=crs.
    Nela está implicito o WGS84 pelo towgs84, e o raio +a=6378737 é o mesmo, mas o segundo valor, talvez seja melhor adotar do SIRGAS (298.257222101) ao invés do rf=298.257223563 (-298.257222101=-0.0000015).
  • A chave para a elevação está em towgs84, "Assuming a sphere with a radius of 6 million meters, 100 parts per million is 600 meters".
PS: as projeções Albers dos EUA e Brasil foram definidas com relação ao GRS80 ("is an ellipsoid/spheroid, not a true geodetic datum / geographic coordinate system"). Na prática faz uso do DATUM NAD83, que por sua vez difere apenas uma fração de metros (0.0000015) do WGS84, sendo equivalentes para praticamente 100% das aplicações. Ver Geodetic datum na Wikipedia.

NOTA sobre ajuste sem impacto: uma alternativa para manter o WGS84 é tratar apenas as aplicações sensíveis. Por exemplo na medida de área de lote, apĺicar correção do valor de área, com base na mediana das altitudes e ignorando zonas de altitudes extremas e densidade populacional zero (picos e fossas não-habitadas).

Métrica das limitações de uso

Projeções oficiais (ex. Albers do IBGE) já estabeleceram um "uso oficial", independente do erro (distorção de área) da projeção na sua métrica de área de terrenos locais. Ainda assim, é importante saber quais outras aplicações podem aderir à mesma projeção: é necessário expressar o erro de medida implícito na projeção, e seu perfil de distorção ao longo do território nacional.

Projeções não-oficiais precisam ser avaliadas. A metodologia AFAcodes sugere que as alternativas sejam comparadas entre si, para se decidir qual usar: comparar através da métrica de distorção.
A cada país pode ser necessária também uma prévia seleção das aplicações e suas exigências, como requisito mínimo.

Dentro da metodologia AFAcodes estabelecemos os seguintes critérios e métricas:

  1. Projeções locais de referência: tipicamente projeções municipais (ex. UTM oficial do Plano Diretor) utilizadas para agrimensura ou aplicações imobiliárias, e dados oficiais com respectivos polígonos de lote e medida de área oficial. Sugere-se avaliar 1 a 3 municípios mais populosos do país, supondo que representem amostra de mais de 50% da população.
  2. Comparar área dos lotes calculada pela projeção AFAcodes.
  3. Supor que "erro de área válido" é o implícito pela cobertura interior do lote, que será a fonte de medida com erro sistemático.
  4. Fit de altitude pela altitude mediana das regiões povoadas (ignorar picos e vales desabitados), por serem os locais onde haverá maior demanda por múltiplas aplicações.

Quasi-igual-área

Nacional:

Continental:

Seletor de jurisdições

O padrão DNGS também prevê as convenções necessárias para se decidir qual país usar, ou seja, selecionar com rapidez e baixo custo de CPU a jurisdição presente em cada área do globo. Outra característica é que a projeção do país pode receber uma correção valor de área, com base na mediana das altitudes e ignorando zonas extremas com densidade populacional zero (picos e fossas não-habitadas).

A decisão sobre qual jurisdição usar depende do contexto (já dado a priori) ou de uma decisão algorítmica baseada nos BBOXes de cada país. Abaixo o exemplo dos vizinhos Brasil (BR), Colômbia (CO), Equador (EC) e Uruguai (UY). A interseção de fato é apenas um pequeno retângulo, onde destacamos em colorido a área de decisão baseada nas fronteiras. Nas demais áreas há um único país por BBOX, de modo que a decisão (baseada em BBOXes apenas) é simples e rápida.

A "grade L0" de um país (BR ilustrtado) só se torna acessível com a projeção do país, e a decisão sobre qual projeção usar é tomada pelas BBOXes. Se o ponto solicitado cai na BBOX de fronteira ainda confere a geometria de fronteira.
DNGS-bboxCover-example1.png

Uma vez identificado o país, a sua projeção é adotada, e a grade pode ser evidenciada localmente.

A BBOX original de cada país é decomposta em BBOXes "puras" e "de fronteira". As puras permitem rápida decisão (alta performance), enquanto as de fronteira requerem avaliação de pertinência ao polígono de fronteira (menor performance). Abaixo o resultado da decomposição quando analisando apenas Brasil e Colômbia.

DNGS-BBOXes-exemplo2.png

See also