2 384
edições
(Criou página com 'Issues e discussões conceituais, antes de se partir para a implementação. == Issue 01 - Uso ótimo do hInt64 == Nesta issue buscamos garantir melhor ocupação nos 57 disponíveis de geocódigo hInt64. Os blocos hierárquicos de bits seriam os seguintes, concatenados: : <code>$country$L0$grid</code> * O bloco <code>$grid</code> não pode ser otimizado. Possui como principal requsito a garantia de um número par de b...') |
|||
Linha 17: | Linha 17: | ||
=== Bloco L0 === | === Bloco L0 === | ||
Se a cobertura do país for exatamente uma célula quadrada, pode ser ausente, mas em geral sua geometria precisa ser otimizada, para mais de | Se a cobertura do país for exatamente uma célula quadrada, pode ser ausente, mas em geral sua geometria precisa ser otimizada, para mais de 45% da área de L0 ser ocupada pelo polígono do território. Sem essa exigência de ocupação as aplicações de abrangência global perdem performance. As interseções entre países precisam ser minimizadas. | ||
<syntaxhighlight lang="sql"> | |||
WITH m as ( | |||
select pais, case when count(*)>16 then 16 else count(*) end*max(area_km2) as mx | |||
from report.v001_osmc_coverage_l0_list group by 1 | |||
) | |||
SELECT v.pais, count(*) n, sum(v.area_km2) as km2, round(100.0*sum(v.area_km2/m.mx))::text||'%' perc_coberto | |||
FROM report.v001_osmc_coverage_l0_list v INNER JOIN m ON m.pais=v.pais | |||
GROUP BY 1; | |||
</syntaxhighlight> | |||
<pre> | |||
pais| n | km2 | perc_coberto | |||
BR | 18 | 8729499 | 50% | |||
CM | 14 | 466041 | 48% | |||
CO | 16 | 1886770 | 44% | |||
</pre> | |||
No caso do Brasil a codificação L0 ... | O máximo de células é 16, o mínimo 2 (em países com fronteiras instáveis o mais seguro é forçar reserva). Em países com ilhas e células de cobertura com baixo percentual de uso (e possibilidade de representação com uma só célula-filha) pode-se adotar mais que 16 células de cobertura, emulando um nível L0 com mosaico de pedaços, como no caso do Brail. Vamos discutir os três casos a seguir. <br /> A questão principal é se vai permitir ou não quantidade ímpar de células. | ||
No caso do Brasil a codificação L0 requer 2 conjuntos de ilhas, depois das 16 coberturas territoriais. Basta 1 bit para codificar se é uma "falsa célula" ou não. O extremo sul do Brasil, que recebeu o rótulo <code>f</code>, teve sua área subdivida em mosaico para comportar as "falsas células" <code>10=g</code> e <code>11=h</code>. Na prática são todas <code>f</code>, e o geocódigo só "assume sua representação concreta" a partir do segundo dígito: <code>fT</code> para o território extremo sul, <code>fN</code> para as ilhas ao sul e <code>fP</code> para Fernando de Noronha. | |||
[[Arquivo:BR-L0coverSci-f.png|miniaturadaimagem|420px|Goecódigo científico do Brasil. Geometria concreta das células-filhas de "f". Apenas a partir de <code>fT</code> (e eventualmente seus vizinhos fY, fZ e fS), <code>fP</code> e <code>fN</code> que a grade existe.]] | |||
{| | |||
|- | |||
|<pre> | |||
pais | b16h | area_km2 | |||
------+------+---------- | |||
BR | 00 | 275241 | |||
BR | 01 | 757637 | |||
BR | 02 | 645014 | |||
BR | 03 | 132780 | |||
BR | 04 | 619969 | |||
BR | 05 | 1075008 | |||
BR | 06 | 1099512 | |||
BR | 07 | 1054743 | |||
BR | 08 | 103225 | |||
</pre> | |||
|<pre> | |||
pais | b16h | area_km2 | |||
------+------+---------- | |||
BR | 09 | 333725 | |||
BR | 0a | 1099383 | |||
BR | 0b | 723005 | |||
BR | 0c | 19403 | |||
BR | 0d | 714206 | |||
BR | 0e | 54071 | |||
BR | 0f | 17440 | |||
BR | 10 | 1519 | |||
BR | 11 | 3618 | |||
</pre> | |||
|} |
edições