osmc:Metodologia: mudanças entre as edições

De Documentação
(see also)
mSem resumo de edição
Linha 53: Linha 53:
== Geocódigo logístico ==
== Geocódigo logístico ==


Um subconjunto de grades obtido da representação dos 1 a 38 bits em um prefixo seguido de blocos de 5 bits (representáveis pela base32) é utilizado nas aplicações logísticas, tendo em vista que o código hexadecimal é muito longo para o ser humano memorizar.
Um subconjunto da grades científicas <!-- obtido da representação dos 1 a 38 bits em um prefixo seguido de blocos de 5 bits (representáveis pela base32) --> é utilizado nas aplicações logísticas, tendo em vista que o geocódigo hexadecimal é muito longo para o ser humano memorizar.


Para o código logístico, é necessário ter um código mais fácil de recordar, composto de:
Para o geocódigo logístico, é necessário ter um código mais fácil de recordar, composto de:


* um prefixo, muito fácil de lembrar porque é o próprio município descrito no formato: BR-SP-SJC (Exemplo de São Jose dos Campos)
* um prefixo, muito fácil de lembrar porque é o próprio município descrito no formato: <code>BR-SP-SJC</code> (Exemplo de São Jose dos Campos);
* um sufixo de 4 a 6 caracteres
* um sufixo de 4 a 6 caracteres, para se localizar a porta de casa.


Para chegar no código logístico, o prefixo BR-SP-SJC aponta para a cobertura do município, ou um índice de até 30 células que cobrem o município, sendo que cada uma é associada a um caractere, escolhido num alfabeto de 32 caracteres, descrito aqui:
Para chegar no código logístico, o prefixo <code>BR-SP-SJC</code>  aponta para a '''cobertura do município''', que consiste num conjunto indexado de até 30 células que cobrem o município, sendo que cada uma é associada a um índice, escolhido num alfabeto de 32 caracteres, descrito nas variantes da [[Base32]].


Estas 30 células cobrem o município de maneira otimizada. São as células da cobertura do município.
Estas 30 células cobrem o município de maneira otimizada. São as células da cobertura do município.
Só definimos até 30 células para ter 2 caracteres de reserva, caso tenha alguma mudança no polígono do município.
Só definimos até 30 células para ter 2 caracteres de reserva, caso tenha alguma mudança no polígono do município.


O digito correspondente à cada célula de cobertura vai ser o primeiro digito do sufixo do código logístico.
O digito correspondente a cada célula de cobertura municipal vai ser o primeiro digito do sufixo do código logístico.


Cada uma das células da cobertura é dividida em 32, sucessivamente, até chegar a um nível de 1 m. Cada vez que a célula é dividida em 32, o sufixo do código é acrescido de um digito.
Cada uma das células da cobertura é dividida em 32, sucessivamente, até chegar a um nível de 1 m. Cada vez que a célula é dividida em 32, o sufixo do código é acrescido de um digito.
Linha 74: Linha 74:


== Ver também ==
== Ver também ==
* [[osmc:Convenções/Grade científica multifinalitária]]
* Convenções AFAcodes:
* [[Código natural/Notação posicional]]
** [[osmc:Convenções/Grade científica multifinalitária]]
* [[Código natural/Representação interna]]
** [[osmc:Convenções/Coberturas municipais]]
* [[Código Natural]]:
** [[Código natural/Notação posicional]]
** [[Código natural/Representação interna]]
* [[Generalized Geohash/pt]]
* [[Generalized Geohash/pt]]

Edição das 18h18min de 6 de janeiro de 2024

Descrição do algoritmo do AFA.codes

Projeção e cobertura nacionais

Começa-se com o mapa dos limites territoriais na projeção igual-área adotada oficialmente pelo país, designada projeção igual-área nacional. Os limites podem abranger a Zona econômica exclusiva e arquipélagos, conforme decisão soberana do país.

Projeção igual-área nacional da Colômbia. Não é perfeita mas é satisfatória para o Censo.
As tonalidades (vermelhas e azuis) representam o perfil de distorção de área (inferior a 2%) na projeção cilíndrica UTM oficial da Colômbia, "resolución 471 de 2020 del IGAC".
Potências de 2, partindo do metro e crescendo até o valor correspondente à largura das células da cobertura L0.
Conforme a convenção IEC de prefixos binários, múltiplos de 1024 metros são abreviados como Kim (kilobinary meter).

Sobre o polígono dos limites territoriais é encaixada uma grade de potência de 2 (tabela ao lado), desenhado um mosaico de no máximo 16 quadrados. No caso da Colômbia o melhor encaixa foi conseguido com quadrados de 219 m de lado, ou seja, 219 m =524,29 km = 512×1024 m = 512 Kim.

Abaixo, em roxo, com ij as coordenadas i horizontal e j vertical, o conjunto dos quadrados que cobrem o território são apelidados de "cobertura nacional".

Osmc-CO-coverEx1.png

Em seguida os 16 quadrados recebem indexadores (rótulos) sequenciais no lugar de coordenadas ij.

Osmc-CO-coverEx2.png

A sequência de indexação é arbitrária, poderia ser de cima para baixo da esquerda para a direita. Todavia, a formação da grade, conforme veremos a seguir, exige a escolha de uma curva de preenchimento (Curva-Z no caso foi a escolha soberana da Colômbia).

Os cálculos de vizinhança na curva de preenchimento são complexos, quanto maior a quantidade de células L0 que preservarem a distribuição de vizinhança original, mais simples o algoritmo de cálculo de vizinhança. Simplificar ou não o algoritmo (otimizar) é também uma decisão soberana.

Indexação de L0 na Colômbia, ajustada à Curva-Z.

Na Colômbia a decisão foi por otimizar, ou seja, seguir-se, dentro do possível, a curva de preenchimento em L0. Na ilustração ao lado a cobertura continental em amarelo, e os índices fora de ordem em roxo. O indexador, para sua representação humana, usando a representação hexadecimal (base 16).

A partir de então, conforme veremos, é adotado como oficial (notação científica para o Censo e outras aplicações) o rótulo hexadecimal de células da grade oficial, tendo como primeiro dígito os rótulos do mapa acima, do nível L0.

Formação da grade científica nacional

A partir dos quadrados da cobertura nacional será formada a grade, de modo que são apelidados de "células da grade nivel zero" (abreviadamente "células L0"). As células são todas iguais, com mesma área e formato.

Em seguida cada célula L0 é subdividia sucessivamente em 4:

Osmc-refinamentoQuadrada-v2.png

Tomando como exemplo a Colômbia temos:

  • A primeira subdivisão das células L0 resulta em células da grade nível L1, cada uma das 4 células com lado h1h0/2 ≈ 256 km.
  • Em seguida a subdivisão das 4 células L1 resulta em células da grade nível L2, cada uma das 4 células com lado h2h1/2 = h0/4 ≈ 128 km. A cada célula L0 correspondem portanto 4×4=16 células L2.
  • Em seguida a subdivisão das 16 células L2 resulta em células da grade nível L3...
  • ... Até chegar nas células da grade nível L19, com 1 m de lado.

A grade nacional L0 tem 16 células ao todo cobrindo o territóreio nacional, de modo que são ao todo 16×4=64 células L1, células L2, e assim por diante, até que no nível L19 as células possuirão 1 metro de lado, e serão bilhões de células cobrindo o território nacional.

O indexador desse conjunto hierárquico de grades não é um número mas um código natural, de modo que a rotulação numérica hexadecimal tradicional foi extendida para que todos os códigos possam ser devidamente representados, além dos níveis pares:

OsmCodes-hierarquiaBase16h-full3.png

Há ainda a possibilidade de criar "grades degeneradas", geometricamente unindo células vizinhas da sequência de indexação. Essa união de vizinhas resulta em grades retangulares ao invés de quadradas, e seu nível hierárquico é contabilizado como "nível meio" (, L1½, L2½, ...).

O efeito prático disso é o mesmo que subdividir em 2 sucessivamente, de modo que todos os códigos binários com 1 a 19×2=38 dígitos binários (bits) podem ser representados por células em 38 grades distintas. As células dessas grades serão sempre identificadas por um código expresso na "notação científica", a base16h (que é a hexadecimal extendida).

Geocódigo logístico

Um subconjunto da grades científicas é utilizado nas aplicações logísticas, tendo em vista que o geocódigo hexadecimal é muito longo para o ser humano memorizar.

Para o geocódigo logístico, é necessário ter um código mais fácil de recordar, composto de:

  • um prefixo, muito fácil de lembrar porque é o próprio município descrito no formato: BR-SP-SJC (Exemplo de São Jose dos Campos);
  • um sufixo de 4 a 6 caracteres, para se localizar a porta de casa.

Para chegar no código logístico, o prefixo BR-SP-SJC aponta para a cobertura do município, que consiste num conjunto indexado de até 30 células que cobrem o município, sendo que cada uma é associada a um índice, escolhido num alfabeto de 32 caracteres, descrito nas variantes da Base32.

Estas 30 células cobrem o município de maneira otimizada. São as células da cobertura do município. Só definimos até 30 células para ter 2 caracteres de reserva, caso tenha alguma mudança no polígono do município.

O digito correspondente a cada célula de cobertura municipal vai ser o primeiro digito do sufixo do código logístico.

Cada uma das células da cobertura é dividida em 32, sucessivamente, até chegar a um nível de 1 m. Cada vez que a célula é dividida em 32, o sufixo do código é acrescido de um digito.

No momento de definir a cobertura do município, é possível privilegiar a cobertura da área urbana para garantir que o código seja mais curto nestas áreas, ou que a zona apontada seja menor com o mesmo número de caracteres. Podemos considerar como padrão ter sufixos de 6 dígitos, sendo que na área urbana, estes 6 dígitos apontam para células de 6m e na área rural, apontam para áreas de 32m.

As coberturas todas, de todos os municípios, não é uma caixa preta como a definição dos bairros. O padrão DNGS exige que as coberturas municipais sejam dados abertos. No caso dos AFAcodes da Colômbia, que implementam DNGS, os dados das coberturas municipais estão em https://git.afa.codes/CO_new/blob/main/data/coverage.csv

Ver também