osm-codes / EC_new

New Ecuadorian Hierarchical Grid
0 stars 0 forks source link

Célula L0 retangular. #2

Closed 0e1 closed 2 years ago

0e1 commented 2 years ago

Atualmente, as funções str_ggeohash_encode3 e str_ggeohash_decode_box2 esperam que, numa sequencia de bits, latitude e longitude estejam intercaladas. Em outras palavras, num sistema de coordenadas planas, o processo de dividir o bbox começa no eixo y, dividindo a caixa na horizontal.

Isso funciona bem para células L0 quadradas.

No caso do Ecuador, foi escolhido um nível L0 com células retangulares (com a maior dimensão na horizontal).

Aplicar as funções atuais numa grade L0 retangular provoca a não intercalação (entre quadrado e retângulo) entre níveis adjacentes, como mostra a figura:

Com células retangulares o algoritmo usado nas funções mencionadas tem que começar dividindo o bbox no eixo x, na vertical. Ou seja, a sequencia de bits deve intercalar longitude e latitude.

0e1 commented 2 years ago

Foi implementada flag para informar a a divisão inicial é em x ou em y.