osmc:Convenções/Grade científica multifinalitária: mudanças entre as edições

m
 
(43 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Requesitos de uma Grade Científica Multifinalitária. Inicialmente lançados os requisitos em {{xref|KraEtAll2022a}}, detalhamos melhor nesta Wiki, com base no [[Open Data Index]].
Requisitos de uma Grade Multifinalitária. Lançados em {{xref|KraEtAll2022a}}, os requisitos foram melhor detalhamos em 2023, orientando-se pelos resultados do [[Open Data Index]].


== Requisitos==
== Requisitos==
* '''Comparabilidade direta entre grades''': tamanhos de célula padronizados.<br/>Racional: para que as informações contidas nas grades de diferentes países possam ser comparadas entre si. <br/> Consequência: necessário que todas células apresentem a mesma área.
O [[DNGS|padrão DNGS]] busca preservar o máximo das aplicações do [[Discrete Global Grid Systems|padrão DGGS]], consequentemente boa parte dos requisitos. Os requisitos específicos do DNGS podem ser resumidos da seguinte forma:


* Grade hierárquica: a união geométrica das células-filhas resultando exatamente na célula-mãe.
* '''Comparabilidade direta entre grades''' de diferentes países: formato e área de célula padronizados.
** ''Justificativa'': para que as informações contidas nas grades de diferentes países possam ser comparadas entre si. Aplicações científicas e estatísticas exigem que as áreas sejam iguais e as células com formato semelhante.


* Geocódigos com '''hierarquia''' consistente, e máxima eficiência na compactação da informação.
* Grade '''geometricamente hierárquica''': a união geométrica das células-filhas resultando exatamente na célula-mãe.
** ''Justificativa'': para aplicações geométricas baseadas em [[Subpavimentação|cobertura]] e aplicações baseadas em geocódigos hierárquicos. Álgebras de grade também exigem consistência entre diferentes escalas, resultando em sistemas hierárquicos.


* Máxima interoperabilidade entre geocódigos.  
* '''Geocódigos com hierarquia''' consistente, e '''máxima eficiência na compactação da informação'''.
** ''Justificativa'':  aplicações baseadas em geocódigos hierárquicos, complemento das aplicações das geometrias hierárquica. Álgebras simbólicas de grade (com geocódigos ou sua representação binária) substituem a álgebra geométrica em alguns casos, oferecendo performance muito maior.


Nota: os requisitos de grade e geocódigo levaram à definição dos [[GGeohash|GGeohashes]].
* Máxima '''interoperabilidade''' entre geocódigos logístico e científico: na eventual [[DNGS/Decisões_soberanas#D3a._Área_territorial_pequena?|decisão soberana]] de ter dois geocódigos ao invés de apenas um, porém ambos rotulando a mesma grade.
** ''Justificativa'': a  referência numa mesma grade (logística subconjunto da científica) garante interoperabilidade operacional. A fácil (alta performance) conversão entre geocódigos garante a aplicações secundárias.
 
Nota: os requisitos de grade e geocódigo levaram à definição do [[GGeohash|<abbr title="Generalized Geohash">GGeohash</abbr>]].


==Convenção resultante==
==Convenção resultante==
[[Arquivo:Osmc-potencias2-grades.png|miniaturadaimagem|Tamanhos de grade quadrada, seguindo-se as potências de 2 a partir do metro. <br /> O nível ''L0'' do Brasil (BR), por ser um país de área maior, requer células de cobertura maiores do que a Colômbia (CO).]]
[[Arquivo:Osmc-potencias2-grades.png|miniaturadaimagem|Tamanhos de grade quadrada, seguindo-se, de baixo para cima, as '''potências de 2 a partir do metro'''. <br /> O nível ''L0'' do Brasil ('''BR'''), por ser um país de área maior, requer células de cobertura maiores do que a Colômbia ('''CO''').]]


O requisito matemático de "dividir a célula-mãe por 4" é  utilizado nos [[GGeohash|GGeohashes]]. A divisão por 4 corresponde a uma matriz 2×2, ou seja, com 2 unidades de lado: disso resulta a série das potências de 2.
As grades '''[[DNGS|<abbr title="Discrete National Grid Systems">DNGS</abbr>]] são quadriláteras''', pressupondo algoritmos [[GGeohash|<abbr title="Generalized Geohash">GGeohash</abbr>]]. São classificadas pelo tamanho do lado ''h''<sub>L</sub> de suas {{DNGS-term|Célula|células}} de nível ''L''. Partindo de ''L''0 as células são {{DNGS-term|Refinamento|refinadas}} dividindo-se a {{DNGS-term|Célula-mãe|célula-mãe}} por 4. As células-filha são organizadas numa matriz quadrada 2×2, com '''2 unidades de lado''': do processo de refinamentos sucessivos resulta o padrão de grades baseado em uma ''série de potências de 2''.


[[Arquivo:Osmc-refinamentoQuadrada-v2.png|centro|480px]]
[[Arquivo:Osmc-refinamentoQuadrada-v2.png|centro|480px]]


O requisito da "comparabilidade direita entre grades" (de diferentes países) demanda a escolha de uma célula de referência: '''adotou-se a célula de 1 metro quadrado''' (1 m²) como referência.
O requisito da "comparabilidade direta entre grades" (de diferentes países) demanda a escolha de uma célula de referência: '''adotou-se a célula de 1 metro quadrado''' (1 m²) como referência no padrão [[DNGS|<abbr title="Discrete National Grid Systems">DNGS</abbr>]]. Características, conforme tabela ao lado, com níveis ''L'' de BR e CO, e colunas "power of 2" e ''value'':
 
:As potências de 2 são: <math>2^0=1</math>; <math>2^1=2</math>; <math>2^3=4</math>; <math>2^4=8</math>; ...; <math>2^{10}=1024</math>; ...; <math>2^{19}=524288</math>; <math>2^{20}=1048576</math>.
 
:Cada país tem seu ''h''<sub>0</sub> conforme cobertura nacional:
::no Brasil '''''h''<sub>0</sub>=1 Mim''' ≈ 1049 km;
::na Colômbia '''''h''<sub>0</sub>=512 Kim''' ≈ 524 km.  


:As potẽncias de 2 são: <math>2^0=1</math>; <math>2^1=2</math>; <math>2^3=4</math>; <math>2^4=8</math>; ...; <math>2^{10}=1024</math>; ...; <math>2^{20}=1048576</math>.
:Série  ''h''<sub>20</sub>,  ''h''<sub>19</sub>, ..., ''h''<sub>0</sub>, das células lado ''h''<sub>L</sub> do Brasil: 1 m; 2 m; 4 m; 8 m; 16 m; ... 1048576 m.


:A série correspondente aos tamanhos de lado das células é: 1 m, 2 m, 4 m, 8 m, 16 m etc.
:Série  ''h''<sub>19</sub>,  ''h''<sub>17</sub>, ..., ''h''<sub>0</sub>, das células lado ''h''<sub>L</sub> da Colômbia: 1 m; 2 m; 4 m; 8 m; 16 m; ...; 524288 m.


=== Prefixos binários===
=== Prefixos binários===


Conforme as convenções [[wikipedia:International Electrotechnical Commission|IEC]] para '''[[wikipedia:Binary_prefix#IEC_prefixes|prefixos binários]]''', os prefixos ''K'' (quilo) e ''M'' (mega) foram adaptados para a notação posicional binária (potências de 2) da seguinte forma, partindo da lingua inglesa: "K binary" simbolizado ''Ki'' (pronuncia-se "kibi") e "M binary" simbolizado ''Mi'' (pronuncia-se "mebi").
Conforme as convenções [[wikipedia:International Electrotechnical Commission|<abbr title="International Electrotechnical Commission">IEC</abbr>]] para '''[[wikipedia:Binary_prefix#IEC_prefixes|prefixos binários]]''', os prefixos ''K'' (quilo) e ''M'' (mega) foram adaptados para a notação posicional binária (potências de 2) da seguinte forma, partindo da lingua inglesa: "K binary" simbolizado ''Ki'' (pronuncia-se "kibi") e "M binary" simbolizado ''Mi'' (pronuncia-se "mebi").
<br/>Em valores,  <math>\text{1 Ki} ~= 2^{10} = 1024</math>; <math>\text{1 Mi} ~= 1024^2 = 2^{20}</math>.
<br/>Em valores,  <math>\text{1 Ki} ~= 2^{10} = 1024</math>; <math>\text{1 Mi} ~= 1024^2 = 2^{20}</math>.


Aplicados à grandeza ''byte'' (''B'') formam o "kibi byte", ''KiB'', e o  "mebi byte", ''MiB''. <br/>Analogamente, aplicados à grandeza ''metro'' (''m'') formam o "kibi meter", '''''Kim''''', e o  "mebi meter", '''''Mim'''''.
Aplicados à grandeza ''byte'' (''B'') formam o "kibi byte", ''KiB'', e o  "mebi byte", ''MiB''. <br/>Analogamente, aplicados à grandeza ''metro'' (''m'') formam o "kibi meter", '''''Kim''''', e o  "mebi meter", '''''Mim'''''.


* <math>\text{1 Kim} ~= 1\times \text{Ki}\times \text{m} ~ = 2^{10}~\text{m} ~= 1024~\text{m}  </math>
* <math>\text{1 Kim} ~= 1\times \text{Ki}\times \text{m} ~ = 2^{10}~\text{m} ~= 1024~\text{m}  </math> &nbsp;&nbsp; (2% a mais que <math>\text{1 Km} = 10^3 \text{m}</math>)
 
* <math>\text{1 Mim} ~= 1\times \text{Mi}\times \text{m} ~ = 2^{20}~\text{m} ~= 1024^2~\text{m}  ~= 1048576~\text{m}</math> &nbsp;&nbsp; (5% a mais que <math>\text{1 Mm} = 10^6 \text{m}</math>)
 
===Cobertura ''L''0 de cada país===
Cada país tem a liberdade de escolher a projeção e a cobertura (nível ''L''0) mais adequadas. Como a grade de cobertura tem seus geocódigos expressos na [[base16h]], o padrão [[DNGS|<abbr title="Discrete National Grid Systems">DNGS</abbr>]] recomenda que a cobertura tenha no máximo 16 células, garantindo geocódigos mais curtos para as suas células.
 
<gallery heights="360px" widths="360px" class="center">
File:OSMC-BR-grid-L0-v1.png|Brasil:  projeção oficial IBGE/2016, cônica Albers.
File:OSMC-CO-grid-L0-v2.png|Colômbia:  projeção oficial IGAC/2020, cilíndrica Mercator.
</gallery>
 
===Comparabilidade nos níveis superiores===
Exceto pelo Vaticano, todos os países possuem cobertura ''L''0 com lado maior que 100 km, de modo que dois países que adotam o padrão [[DNGS|<abbr title="Discrete National Grid Systems">DNGS</abbr>]] poderão comparar as informações contidas em células de grade de mesmo tamanho.
 
Brasil e Colômbia podem ter suas células comparadas a partir dos 524 km, valendo a comparabilidade para todas as escalas até 1 m.
 
<gallery heights="280px" widths="280px" class="center">
File:OSMC-BR-cellCienc-7r.png|Brasil:  célula <code>[https://osm.codes/BR+7r 7r]</code> da grade científica.
File:OSMC-CO-cellCienc-9.png|Colômbia:  célula <code>[https://osm.codes/CO+9 9]</code> da grade científica.
</gallery>
 
==Grades degeneradas de nível meio==
Em aplicações que não são afetadas pela perda de uniformidade e simetria da geometria da grade, é possível fazer uso da '''grade&nbsp;degenerada''', com geocódigos expressos na base [[Código_natural/Notação_posicional#Algoritmos_base_h|Base h]], e viabilizando bases não-múltiplas de 4 ([[DNGS/Glossário#Taxa_de_refinamento|''taxa de refinamento'' GGeohash adotada]]), como a base32.
 
No exemplo abaixo, com ''taxa de refinamento''&nbsp;4, é natural a escolha da base4, e a [[base 4h|base&nbsp;4h]] pode ser adotada para os geocódigos das grades degeneradas.
 
[[Arquivo:GGeohash-base4-niveisMeio.png|centro|semmoldura|680px]]
 
As grades degeneradas são também ditas "de nível meio", pois correspondem a níveis hierárquicos intermediários: L½, L1½, L2½, L3½, etc. O algoritmo para a geração da representação geométrica das grades degeneradas, inclusive para o caso mais complexo da Curva de Hilbert, é apresentado em [[Generalized Geohash/pt#Representação geométrica]].
 
Com ''taxa de refinamento'' 4 outras [[Código natural/Notação posicional|notações posicionais de código]] também poderiam ser utilizadas,  bases&nbsp;8, 8h, 16, 16h, 32 e 64, restringindo-se as grades:
 
{| class="wikitable"
|'''Notação'''
|'''Dígitos de'''
|'''''Grades'''''
|-
| Base 8 || 3 bits|| de 1 célula; de 2<sup>3</sup>=8 células (degenerada); de 2<sup>6</sup>=64 células; de 2<sup>9</sup>=512 células (degenerada); ...
|-
|[[Base 8h]] ||livre|| todas as grades, degeneradas ou não.
|-
| Base 16|| 4 bits||  de 1 célula; de 2<sup>4</sup>=16 células; de 2<sup>8</sup>=256 células; de 2<sup>12</sup>=4096 células; de 2<sup>16</sup>=65536 células; ...
|-
| [[Base 16h]] ||livre|| todas as grades, degeneradas ou não.
|-
| Base 32 || 5 bits||  de  1 célula; de 2<sup>5</sup>=32 células (degenerada); de 2<sup>10</sup>=1024 células; de 2<sup>15</sup>=32768 células (degenerada); ...
|-
| Base 64 || 6 bits|| de 1 célula; de 2<sup>6</sup>=64 células; de 2<sup>12</sup>=4096 células; de 2<sup>18</sup>=262144 células; ...
|-
|colspan="3"|<small>Nota. As bases 8h e 16h possuem hierarquia restrita, equivalente à base "sem h"; ou seja, hierarquia a cada 3 bits na 8h, a cada 4 bits na 16h.</small>
|}
A base32 é utilizada em países de território maior, para gerar o geocódigo logístico, e a base 16h foi eleita como padrão na grade científica. O geocódigo base32 só tem representação geométrica onde existe geocódigo, o que corresponde às grades de nível L0, L2½, L5, L7½, L10, etc.


* <math>\text{1 Mim} ~= 1\times \text{Mi}\times \text{m} ~ = 2^{20}~\text{m} ~= 1024^2~\text{m}  </math>
[[Arquivo:GGeohash-niveis-base32.png|centro|semmoldura|860px]]


==Convenções para uso da base32 e base4h==  
A ''base32'' é um subconjunto da ''base16h''. O geocódigo ''base16h'' está disponível em todos os níveis, mas apresenta hierarquia apenas na ''base16'', ou seja, nas grades de nível inteiro par, L0, L2, L4, L6, etc.
 
[[Arquivo:GGeohash-Niveis-Base16h.png|centro|semmoldura|860px]]
 
Ver animações em https://git-site.osm.codes/Sfc4q/
 
==Diferentes geocódigos==
 
<!-- Tendo em vista o exemplo do Geohash clássico, que demonstrou a usabilidade da base 32 em geocódigos, a sua generalização como [[GGeohash|<abbr title="Generalized Geohash">GGeohash</abbr>]] também oferece ...-->
 
Nos países onde os geocódigos "científicos" não podem ser adotados como "logísticos" por serem muito longos, comprime-se um pouco mais através da adaptação da notação ''base32''. Perdem-se níveis hierárquicos, de modo que a nova notação logística e sua grade, serão  subconjunto da grade e notação científicas.
 
Por exemplo na Colômbia a mesma célula pode ser expressa pelos dois tipos de geocódigo:
 
*'''Grade de 1 Km da ''OSMcodes-Logistica de Tunja''''', [https://osm.codes/CO-15001~K CO-15001~'''K''']<br />onde "15001" é o código postal  do município Tunja. Para habitantes de Tunja, por lo tanto o geocódigo tem '''1 carácter''', "K".
 
*'''Grade de 1 Km da ''OSMcodes-Cientifica''''', mesma célula,   [https://osm.codes/CO+c3583v CO+'''c3583v''']<br />ou seja, '''6 caracteres''' na grade científica.
 
[[Arquivo:OSMC-explain01.png|center|580px]]<center>A cada nível hierárquico corresponde uma grade.<br />A '''Grade Logística''' do município de Tunja (em amarelo a direita) '''é um  subconjunto da Grade Científica'''.</center>
 
===Grade e Notação Científica===
... por padrão a [[base16h]] deve ser adotada. Não há encurtamento por jurisdição (exceto em países onde a convenção dispense uso de reindexação).
 
===Grade e Notação Logística===
Faz uso de técnicas de '''encurtamento''' do geocódigo:
*Encurtamento por contexto: prefixos podem ser eliminados quando são conhecidos a priori e uma convenção garante que será subintendido. Por exemplo contexto do país.
 
*Prefixo mnemônico:  no lugar de geocódigos arbitrários, pode-se fazer uso de abreviações padronizadas e mais fáceis de lembrar. Essa é a principal estratégia. Também proporciona (indiretamente) o encurtamento por contexto jurisdicional. Requer a reindexação do primeiro dígito depois da abreviação.
 
*Encurtamento por base maior: quando a [[base16h]] não é suficiente, pode-se fazer uso da [[base32]].
 
A representação interna do geocódigo permanece a mesma, trata-se de um recurso apenas de "renderização" do geocódigo, para que fique mais legível para humanos.
 
Ver também [[osmc:Convenções/Coberturas municipais]]
 
===Demais subconjuntos da Grade Científica===


Tendo em vista o exemplo do Geohash clássico, que demonstrou a usabilidade da base 32 em geocódigos, a sua generalização como [[GGeohash]] também oferece ...


==Ver também==
==Ver também==


*[[osmc:Convenções/Decisões_soberanas#Multifinalidade]]
*[[osmc:Convenções/Decisões soberanas#Multifinalidade?]]
*[[Sintaxe_do_OSMcode#Notação_científica]]
*[[osmc:Convenções/Sintaxe do OSMcode#Notação científica]]
*[[osmc:Convenções/Grade científica multifinalitária/Draft-explain]] - apoio para DANE da Colômbia.
 
[[Categoria:OSMcodes]]
2 391

edições