Ir para o conteúdo

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

sem sumário de edição
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>
|}
|}
2 384

edições