2 391
edições
mSem resumo de edição |
(view e sua tabela) |
||
Linha 24: | Linha 24: | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
SELECT isolabel_ext ||' = '||(b'0000000000000000000000'||cb10::bit(32)::int ||' = '||cb10 as pais, | CREATE VIEW report.v001_osmc_coverage_l0_list AS | ||
SELECT isolabel_ext ||' = '||(b'0000000000000000000000'||cb10)::bit(32)::int ||' = '||cb10 as pais, | |||
is_contained, | is_contained, | ||
cb10::text||'.'|| | cb10::text||'.'||cb_suffix as cbits, natcod.vbit_to_baseh(cb_suffix,16) as b16, | ||
status, | status, round(st_area(geom)/1000000.0) as area_km2 | ||
FROM ( | |||
FROM (select *, substring(cbits,1,10) as cb10) from osmc.coverage) t | select *, substring(cbits,1,10) as cb10, substring(cbits,11) as cb_suffix | ||
WHERE is_country ORDER BY 1,2,cbits; | from osmc.coverage | ||
) t | |||
WHERE is_country ORDER BY 1,2,cbits | |||
; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{| class="wikitable" | {| class="wikitable" | ||
! pais !! is_contained !! cbits !! b16 !! area_km2 !! status | |||
|- | |- | ||
| BR = 76 = 0001001100 || f || 0001001100.00000110 || 06 || 1099512 || 1 | |||
|- | |- | ||
| BR = 76 = 0001001100 || | | BR = 76 = 0001001100 || t || 0001001100.00000000 || 00 || 275241 || 1 | ||
|- | |- | ||
| BR = 76 = 0001001100 || t || 0001001100. | | BR = 76 = 0001001100 || t || 0001001100.00000001 || 01 || 757637 || 1 | ||
|- | |- | ||
| BR = 76 = 0001001100 || t || 0001001100. | | BR = 76 = 0001001100 || t || 0001001100.00000010 || 02 || 645014 || 1 | ||
|- | |- | ||
| | |... | ||
|- | |- | ||
|.. | | BR = 76 = 0001001100 || t || 0001001100.00001110 || 0e || 54071 || 1 | ||
|- | |||
| BR = 76 = 0001001100 || t || 0001001100.00001111 || 0f || 17440 || 1 | |||
|- | |- | ||
| BR = 76 = 0001001100 || t || 0001001100.00010000 || | | BR = 76 = 0001001100 || t || 0001001100.00010000 || 10 || 1519 || 1 | ||
|- | |- | ||
| BR = 76 = 0001001100 || t || 0001001100.00010001 || | | BR = 76 = 0001001100 || t || 0001001100.00010001 || 11 || 3618 || 1 | ||
|- | |- | ||
| CM = 120 = 0001111000 || f || 0001111000.1001 || | | CM = 120 = 0001111000 || f || 0001111000.1001 || 9 || 68719 || 1 | ||
|- | |- | ||
| CM = 120 = 0001111000 || t || 0001111000.0001 || | | CM = 120 = 0001111000 || t || 0001111000.0001 || 1 || 2469 || 1 | ||
|- | |- | ||
| CM = 120 = 0001111000 || t || 0001111000.0010 || | | CM = 120 = 0001111000 || t || 0001111000.0010 || 2 || 24181 || 1 | ||
|- | |- | ||
|... | |... | ||
|- | |- | ||
| CM = 120 = 0001111000 || t || 0001111000.1101 || | | CM = 120 = 0001111000 || t || 0001111000.1101 || d || 47183 || 1 | ||
|- | |- | ||
| CM = 120 = 0001111000 || t || 0001111000.1110 || | | CM = 120 = 0001111000 || t || 0001111000.1110 || e || 5164 || 1 | ||
|- | |- | ||
| CO = 170 = 0010101010 || t || 0010101010.0000 || | | CO = 170 = 0010101010 || t || 0010101010.0000 || 0 || 8083 || 1 | ||
|- | |- | ||
| CO = 170 = 0010101010 || t || 0010101010.0001 || | | CO = 170 = 0010101010 || t || 0010101010.0001 || 1 || 141953 || 1 | ||
|- | |- | ||
| CO = 170 = 0010101010 || t || 0010101010.0010 || | | CO = 170 = 0010101010 || t || 0010101010.0010 || 2 || 57590 || 1 | ||
|- | |- | ||
|... | |... | ||
|- | |- | ||
| CO = 170 = 0010101010 || t || 0010101010.1110 || | | CO = 170 = 0010101010 || t || 0010101010.1110 || e || 84471 || 1 | ||
|- | |- | ||
| CO = 170 = 0010101010 || t || 0010101010.1111 || | | CO = 170 = 0010101010 || t || 0010101010.1111 || f || 61264 || 1 | ||
|} | |} | ||
A coluna ''cbits'' é composta de duas partes, o código do país e o código da sua célula ''L0'' (traduzido em hexadecimal=base16). A interseção da geometria da célula com o polígono do país tem a sua área indicada pela coluna ''area_km2''. A coluna ''is_contained'' é um flag, verdadeiro quando a célula tem interseção com as bordas do país. Analisando as áreas do Brasil, o ''flag'' foi falso apenas para os <math>1099512 \ km^2</math> de área, cuja raíz quadada é o tamanho do lado do quadrado, e uma das [[osmc:Metodologia#Projeção_e_cobertura_nacionais|potências de 2 utilizadas]], <math>\sqrt{1099512\ km^2} = 2^{20}\ km = 1048,58 \ km</math>. | |||
4.319,4 quilômetros 1048576 | |||
<br/>PS: a coluna ''is_contained'' deveria indicar que a célula está totalmente contida no polígono do país. | |||
Os códigos de país nessa versão ainda eram códigos ISO ocupando 10 bits. Por exemplo Brasil <code>0001001100</code> é 76. Na versão corrente são códigos internos (sem compromisso com ISO) de 8 bits, garantindo melhor ocupação nos 57 bits (56 bits para acomodar 14 dígitos hexadecimais) disponíveis de geocódigo [[Código_Natural/Representação_interna#hInt|hInt64]]. | |||
== Ver também == | |||
* [[osmc:Metodologia/Algoritmo SQL/Issues]] | |||
------ | ------ |
edições