osm-codes / WS

General WebServices of the OSM.codes
Apache License 2.0
0 stars 0 forks source link

Identificador de célula na sua representação interna 64 bits #27

Open ppKrauss opened 2 years ago

ppKrauss commented 2 years ago

Identificadores de célula são universais, valem para qualquer país, pois justamente iniciam com os bits do código do país... Existe além da representação universal de células, a representação de "prefixos de cobertura", que não são identficadores de célula exatamente, mas indexadores para o algoritmo de encode/decode de códigos curtos e coberturas L0.

Identificador de célula universal

Como todo sistema de Generalized Geohash se base em dividir quadrados em quatro, todos os "blocos de bit" da célula precisam ser compatíveis com base4... Com algumas exceções. Blocos do identificafor de 64 bits, concatenados 3 blocos: <$lixo',$pais,$L0,$celula_from_L0`>

prefixos de cobertura

Ver issue já resolvida.

São apenas dois

0e1 commented 2 years ago

Ver issue já resolvida.

Qual? essa, https://github.com/osm-codes/WS/issues/15?

  • $L0$celula_from_L0: 4 bits (dígito base16) ou 5 bits (país optou priorizar base32) de L0 com o resto... Sim, não precisa L0 ser múltiplo de 4 mas precisa encaixar certo com o restante, já que só completam 10 bits a cada 2 dígitos base32 (e 10 é multiplo de 2 tudo bem).

Não ficou claro qual a quantidade de bits usar para a parte L0. 10 bits? Considerando base16h e base32, são necessários até 10 bits para indexar as células L0 (ou, no caso da redução da quantidade de células no Brasil, indexar células L0 e L1, mais especificamente, 15 células L0 e 10 células L1)