2 391
edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
'''Generalização do algoritmo [[wikipedia:Geohash|Geohash]]''' para [[wikipedia:geocode|geocódigos]]. Vantagens: | '''Generalização do algoritmo [[wikipedia:Geohash|Geohash]]''' para [[wikipedia:geocode|geocódigos]], '''GGeohash''' (do inglês ''Generalized Geohash''). Vantagens: | ||
*permite representações interna (no computador) e humana (como geocódigo) totalmente compatíveis e consistentes. | *permite representações interna (no computador) e humana (como geocódigo) totalmente compatíveis e consistentes. | ||
Linha 5: | Linha 5: | ||
*permite escolha entre 2 curvas de preenchimento (Morton e Hilbert). | *permite escolha entre 2 curvas de preenchimento (Morton e Hilbert). | ||
Opções podem ser visualizadas em https://osm-codes.github.io/Sfc4q/ | Opções podem ser visualizadas em https://osm-codes.github.io/Sfc4q/ | ||
[[File:Comparing-Geoash-Hilbert.png|center|800px]] | |||
Uma das '''inovações''' do GGeohash foi a introdução do conceito de níveis-meio (''L''½), que se originam da união geométrica de células consecutivas do nível inteiro, permitindo formalizar melhor o Geohash clássico e viabilizando a curva de Hilbert. Nos níveis-meio as curvas Morton e Hilbert são degeneradas. | |||
Entre as várias opções, uma delas corresponde ao "Geohash clássico". As opções surgem da combinação dos seguintes parâmetros: | Entre as várias opções, uma delas corresponde ao "Geohash clássico". As opções surgem da combinação dos seguintes parâmetros: | ||
Linha 29: | Linha 33: | ||
| | | | ||
| | | | ||
|} | |||
== Alfabetos e convenções da notação == | |||
Lista completa de IDs com respectivos alfabetos-padrão para [[Wikipedia:Positional notation|conversão de base]], para as “bases potência de 2”. O identificador é a concatenação da palavra “base” com o valor da base e o rótulo (''label'') do alfabeto. O número de ''bits'' por dígito é o [[Wikipedia:Binary logarithm|log<sub>2</sub>]] da base. No alfabeto foram destacados os ''nhDigits'' (''non-hierarchical digits'') conforme notação [[Código natural|Natural Code]]. | |||
{| class="wikitable" | |||
|'''base''' | |||
|'''label''' | |||
|'''ID''' | |||
|'''bits''' | |||
|'''alphabet''' (depois do espaço os ''nhDigits'') | |||
|'''Reference standard''' | |||
|- | |||
|2 | |||
|js* | |||
|''base2js'' | |||
|1 | |||
|<code>01</code> | |||
|ECMA-262 | |||
|- | |||
|4 | |||
|js* | |||
|''base4js'' | |||
|2 | |||
|<code>0123</code> | |||
|ECMA-262 | |||
|- | |||
|4 | |||
|h | |||
|''base4h'' | |||
|2 | |||
|<code>0123 GQ</code> | |||
|ECMA + nhDigits alphabet | |||
|- | |||
|8 | |||
|js* | |||
|''base8js'' | |||
|3 | |||
|<code>01234567</code> | |||
|ECMA-262 | |||
|- | |||
|8 | |||
|h | |||
|''base8h'' | |||
|3 | |||
|<code>01234567 GQ HMRV</code> | |||
|ECMA + nhDigits alphabet | |||
|- | |||
|16 | |||
|js* | |||
|''base16js'' | |||
|4 | |||
|<code>0123456789abcdef</code> | |||
|ECMA-262 and <nowiki>RFC 4648</nowiki>/sec8 | |||
|- | |||
|16 | |||
|h | |||
|''base16h'' | |||
|4 | |||
|<code>0123456789abcdef GQ HMRV JKNPSTZY</code> | |||
|ECMA + nhDigits alphabet | |||
|- | |||
|32 | |||
|hex* | |||
|''base32hex'' | |||
|5 | |||
|<code>0123456789abcdefghijklmnopqrstuv</code> | |||
|ECMA-262 and <nowiki>RFC 4648</nowiki>/sec7 | |||
|- | |||
|32 | |||
|ghs | |||
|''base32ghs'' | |||
|5 | |||
|<code>0123456789bcdefghjkmnpqrstuvwxyz</code> | |||
|Geohash | |||
|- | |||
|32 | |||
|nvu | |||
|''base32nvu'' | |||
|5 | |||
|<code>0123456789BCDFGHJKLMNPQRSTUVWXYZ</code> | |||
|No-Vowels except U (near non-syllabic) | |||
|- | |||
|32 | |||
|rfc | |||
|''base32rfc'' | |||
|5 | |||
|<code>ABCDEFGHIJKLMNOPQRSTUVWXYZ234567</code> | |||
|<nowiki>RFC 4648</nowiki>/sec6 | |||
|- | |||
|64 | |||
|url* | |||
|''base64url'' | |||
|6 | |||
|<code>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_</code> | |||
|<nowiki>RFC 4648</nowiki>/sec5 | |||
|- | |||
|64 | |||
|rfc | |||
|''base64rfc'' | |||
|6 | |||
|<code>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/</code> | |||
|<nowiki>RFC 4648</nowiki>/sec4 | |||
|- | |||
| colspan="6" |<small>(*) default base. For example base32 is interpreted by default as base32hex.</small> | |||
<small> All base32 here are using with leading zeros, they are valid instances of “restricted hiearchy”, base32rh.</small> | |||
|} | |} |
edições