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

8 435 bytes adicionados ,  20 de novembro de 2023
 
(13 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.
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 ==
Projeções nacionais:
Projeções nacionais:
Linha 8: Linha 12:
Projeções continentais:
Projeções continentais:


* Qualquer DNGS é válida, mas aqui o foco é na baixa complexidade, reusando projeções tradicionais e prevendo um ajuste linear conforme altitude mediana de cada país.
* Albers Africa: https://epsg.io/102022
* Albers Africa: https://epsg.io/102022
* Lambert equatorial: https://wiki.addressforall.org/doc/DGGS/Proj/rHEALPix
* Lambert cilindrica equatorial: a matematica mais simples https://wiki.addressforall.org/doc/DGGS/Proj/rHEALPix
* Equi7: 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
* 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.
 
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 ===
[[Arquivo:GLANCE-ContinentsGrid1.png|thumb|420px|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 [https://gis.stackexchange.com/q/469283/7505 calibrando conforme altitude mediana].
 
<pre>
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]]
</pre>
 
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 ==
Nacional:
* UTM Colômbia: https://github.com/AddressForAll/pg_pubLib-v1/blob/main/src/pubLib05pgis-extraSRID.sql
* UTM Colômbia: https://github.com/AddressForAll/pg_pubLib-v1/blob/main/src/pubLib05pgis-extraSRID.sql
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
* Dual Equidistant for simple DGGS, https://www.mdpi.com/2220-9964/12/7/289
== 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.
[[Arquivo:DNGS-BR-gradeBase16-coverL0.png|miniaturadaimagem|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.]]
[[Arquivo:DNGS-bboxCover-example1.png|centro|semmoldura|520px]]
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.
[[Arquivo:DNGS-BBOXes-exemplo2.png|centro|semmoldura|520px]]


== See also==
== See also==
* [[DNGS/Poliedro das nações]]
* [[DNGS/Poliedro das nações]]
2 402

edições