2 583
edições
m (→Core: areas) |
(movimentando conteudo para seção de fórmulas e definições) |
||
Linha 37: | Linha 37: | ||
[[Arquivo:MortonCurve IJ-JI.png|580px|center]] | [[Arquivo:MortonCurve IJ-JI.png|580px|center]] | ||
== | === Fórmulas e definições === | ||
Por imposição do [[Discrete National Grid Systems/pt|padrão DNGS]] temos <math>S_{L}=2^{Lmax-L}</math>. No caso do Brasil ''Lmax''=20, no caso de Camarões ''Lmax=18''. | Por imposição do [[Discrete National Grid Systems/pt|padrão DNGS]] temos <math>S_{L}=2^{Lmax-L}</math>. No caso do Brasil ''Lmax''=20, no caso de Camarões ''Lmax=18''. | ||
A fórmula de ''S'' funciona também para níveis-meio, por exemplo ''L''=1.5. Isso se deve à suposição de que o "tamanho do lado genérico ''S'' de um retângulo" seja a raiz quadrada da área do retângulo; e pela [[Generalized_Geohash/pt#Representação_geométrica|construção geométrica dos níveis-meio]], cujas células (necessariamente de áreas iguais) são a união de 2 células do próximo nível inteiro: <br /> <math>S_{Lhalf}=\sqrt{2\cdot{Area_{\lceil Lhalf\rceil}}} = \sqrt{2} \cdot \sqrt{{{S_{\lceil Lhalf\rceil}}^2}} = 2^{Lmax-\lceil Lhalf\rceil + 0.5}</math> onde <math>Lhalf = \forall L | L = \lceil L \rceil - 0.5</math>. <br />A mesma fórmula de ''S'' também nos permite calcular, conforme [[osmc:Metodologia/Algoritmo_SQL/Issues#Issue_05_-_Cálculo_de_dígitos_base32|issue 05]], o número de dígitos base32 para se chegar no metro, a partir do nível ''Lcover'' do município: <math>Ndig1m = 1+\lceil (Lmax-Lcover)/2.5 \rceil</math>. | |||
O número de células por face, no nível ''L'', pode ser obtido por <math>nCells_L = (S_0/S_{L})^2 = (2^{Lmax-Lmax+L})^2=2^{2L}</math>. É invariante por país, e válido para "níveis meio". A área de uma célula qualquer de nível ''L'' é <math>{S_{L}}^2 = 2^{2\cdot(Lmax-L)}</math>. | O número de células por face, no nível ''L'', pode ser obtido por <math>nCells_L = (S_0/S_{L})^2 = (2^{Lmax-Lmax+L})^2=2^{2L}</math>. É invariante por país, e válido para "níveis meio". A área de uma célula qualquer de nível ''L'' é <math>{S_{L}}^2 = 2^{2\cdot(Lmax-L)}</math>. | ||
A | O número de células por município de área ''A'', no nível ''L'', pode ser obtido por <math>nCellsA_L=A/{S_L}^2=A\cdot 2^{2\cdot(L-Lmax)}</math>. A cobertura uniforme municipal de ''m'' celulas do nivel ''K'' tem área <math>M=m\cdot {S_K}^2 = m\cdot 2^{2\cdot(Lmax-K)}</math>. Portanto número de células por ''M'', no nível ''L''>''K'', será | ||
<math>nCellsM_L=M/{S_L}^2= m\cdot 2^{2\cdot(Lmax-K)} \cdot 2^{2\cdot(L-Lmax)}= m\cdot 2^{2 \cdot(Lmax-K) + 2\cdot(L-Lmax)} = m\cdot 2^{2 \cdot (L-K)}</math>. O valor de ''M'' sempre será maior do que ''A'', de modo que o fator ''M''/''A'' será sempre maior que 1, ou <math>M/A \geq 1</math>. Dessa desigualdade de áreas, substituindo pelos valores correspondentes de número de células, podemos provar que <math>nCellsM_L\geq nCellsA_L</math>. | |||
==Core Lib== | |||
Tanto o padrão DGGS como o DNGS são relativos a "Discrete Grid Systems", ou seja, um conjunto hierárquico de grades, cada qual no seu nível ''L'', e assumindo apenas valores ''discretizados'' de posição. As "funções ''core''" do padrão DNGS garantem a ida e volta entre os diversos sistemas de coordenadas necessários à manipulação dos dados, antes e depois da ''discretização''. | |||
'''Discretizadores''': transformam as coordenadas contínuas XY, de posição no plano projetado, em coordenadas discretas IJ, de localização na grade hierárquica. Quem amarra a posição hierárquica — ''grid hierarchical level'' do sistema de grades — com localização XY é o tamanho de lado ''S'' (''side size'') da célula de nível ''L''. | |||
<!-- Na cultura escolar brasileira XY é horizontal-vertical. Na cultura das imagens de satélite e geoprocessamento XY é vertical-horizontal. Adotamos a "cultura PostGIS", das funções ''standard spatial type'' (aquelas com prefixo "ST_").--> | |||
<syntaxhighlight lang="sql" style="font-size: 80%;"> | <syntaxhighlight lang="sql" style="font-size: 80%;"> |
edições