Generalized Geohash/pt: mudanças entre as edições

Linha 158: Linha 158:
<!-- [[File:MortonCurve64grid-mergingCells.png|thumb|480px|A curva da grade de 32 células foi obtida mesclando-se 2 a 2 células do "próximo nível" (grade de 64 células ilustrada) para obter uma representação geométrica do "Geohash de dígito ímpar".]]-->
<!-- [[File:MortonCurve64grid-mergingCells.png|thumb|480px|A curva da grade de 32 células foi obtida mesclando-se 2 a 2 células do "próximo nível" (grade de 64 células ilustrada) para obter uma representação geométrica do "Geohash de dígito ímpar".]]-->


No contexto do [[DNGS|padrão DNGS]] o importante é que as células de todos os níveis hierárquicos sejam quadriláteros: quadrados, losangos, retângulos ou paralelogramos. Portanto, apesar de não ser o ideal, é possível construir níveis intermediários entre grades quadradas, utilizando-se retângulos. Do ponto de vista da simetria dos quadriláteros, a grade intermediária, de nível meio, corresponde a uma degeneração.
No contexto do [[Discrete National Grid Systems|padrão DNGS]] o importante é que as células de todos os níveis hierárquicos sejam quadriláteros: quadrados, losangos, retângulos ou paralelogramos. Portanto, apesar de não ser o ideal, é possível construir níveis intermediários entre grades quadradas, utilizando-se retângulos. Numa típica grade quadrada,  considerando-se a sua simetria, a grade intermediária é uma degeneração. <!-- {figura do quadrado para dois retângulos} -->


{figura do quadrado para dois retângulos}
É possível construir a grade retangular (degenerada) a partir da grade quadrada (simétrica) mesclando-se células vizinhas e indexando a grade retangular resultante pela função <math>j = \left\lfloor\frac{i}{2}\right\rfloor</math>. As células ''C''<sub>j</sub> da grade resultante são obtidas da união de células da grade de nível superior, ''F''<sub><i>i</i></sub>, ou seja, <math>C_j = F_{j \times 2} \cup F_{j \times 2 + 1}</math>. Ilustrando com os dois tipos de [[wikipedia:Space-filling curve|curva de preenchimento]]:


É possível construir a grade retangular (assimétrica) a partir da grade quadrada (simétrica) mesclando-se células vizinhas e indexando a grade retangular resultante pela função <math>j = \left\lfloor\frac{i}{2}\right\rfloor</math>. As células ''C''<sub>j</sub> da grade resultante são obtidas da união de células da grade de nível superior, ''F''<sub><i>i</i></sub>, ou seja, <math>C_j = F_{j \times 2} \cup F_{j \times 2 + 1}</math>. Ilustrando com os dois tipos de curva de preenchimento (SFC)
[[Arquivo:MortonCurve64grid-merging32grid.png|centro|580px]]
 
A Curva de Morton acima, e a ilustração de como obter a grade de 32 células retangulares a partir da grade de 64 células quadradas.
 
[[Arquivo:HilbertCurve64grid-merging32grid.png|centro|580px]]
 
A Curva de Hilbert acima, e a ilustração de como obter a grade de 32 células retangulares a partir da grade de 64 células quadradas. Repare que a grade deixa de ser regular e passa a ser uma [[wikipedia:Domino tiling|grade aperiódica de dominós]].


Ilustramos com decimais para permitir o entendimento dos cálculos.  A propriedade mais importante do GGeohash para humanos é que ele '''preserva a ''hierarquia espacial'' nos ''prefixos do código'''''. Para demonstrar isso precisamos visualizar com a codificação [[base16h]].


[[Arquivo:MortonCurve64grid-merging32grid.png|centro|580px]]
Por exemplo, na ilustração "Grade de 1 dígito Geohash" de 32 retângulos acima, a região espacial do código e (retângulo do círculo azul acinzentado na posição 4,3) é preservada com o prefixo e na "grade de 2 dígitos" de 1024 retângulos (escala mostrando em e verde acinzentado para círculos azuis na grade).


A ilustração mostra como obter a grade de 32 células retangulares a partir da grade de 64 células quadradas.
----


[[Arquivo:HilbertCurve64grid-merging32grid.png|centro|580px]]
LIXO


The most important property of Geohash for humans is that it '''preserves ''spatial hierarchy'' in the ''code prefixes'''''. <br />For example, in the "1 Geohash digit grid" illustration  of 32 rectangles, above, the spatial region of the code <code>e</code> (rectangle of greyish blue circle at position 4,3) is preserved with prefix <code>e</code> in the "2 digit grid" of 1024 rectangles (scale showing <code>em</code> and greyish green to blue circles at grid).
The most important property of Geohash for humans is that it '''preserves ''spatial hierarchy'' in the ''code prefixes'''''. <br />For example, in the "1 Geohash digit grid" illustration  of 32 rectangles, above, the spatial region of the code <code>e</code> (rectangle of greyish blue circle at position 4,3) is preserved with prefix <code>e</code> in the "2 digit grid" of 1024 rectangles (scale showing <code>em</code> and greyish green to blue circles at grid).
Linha 175: Linha 182:


A geometria GGeohash permite uma representação espacial mista, a exemplo do que ocorre com o ''Geohashes clássicos''...
A geometria GGeohash permite uma representação espacial mista, a exemplo do que ocorre com o ''Geohashes clássicos''...
 
...
É possível construir a "Curva de Ordem И" a partir da "Curva de Ordem Z" mesclando-se células vizinhas e indexando a grade retangular resultante pela função <math>j = \left\lfloor\frac{i}{2}\right\rfloor</math>. As células ''C''<sub>j</sub> da grade resultante são obtidas da união de células da grade de nível superior, ''F''<sub><i>i</i></sub>, ou seja, <math>C_j = F_{j \times 2} \cup F_{j \times 2 + 1}</math>.


* Geohashes com 2, 4, 6, ... e dígitos (dígitos pares) são representados pela "curva de ordem Z". O par decodificado (latitude,longitude) tem incerteza uniforme, válida como [[Geo URI|incerteza Geo URI]].
* Geohashes com 2, 4, 6, ... e dígitos (dígitos pares) são representados pela "curva de ordem Z". O par decodificado (latitude,longitude) tem incerteza uniforme, válida como [[Geo URI|incerteza Geo URI]].


* Geohashes com 1, 3, 5, ... e dígitos (dígitos ímpares) são representados por "curva de ordem И". Latitude e longitude do par decodificado tem incerteza diferente (a longitude é truncada).
* Geohashes com 1, 3, 5, ... e dígitos (dígitos ímpares) são representados por "curva de ordem И". Latitude e longitude do par decodificado tem incerteza diferente (a longitude é truncada).
2 384

edições