|
|
Linha 1: |
Linha 1: |
| == Chutando o quadrado inicial de um país == | | == Chutando o quadrado inicial de um país == |
|
| |
|
| A função f(x) que retorna potências side e next ajuda tanto a avaliar a área de uma célula de cobertura, para saber pelo side (se diff_perc é zero então é interior), como avaliar qual poderia ser um quadro envolvente de cobertura de um país ou município, sempre em km2. Abaixo a área do Brasil.
| | ver [[osmc:Metodologia/Algoritmo_SQL/Issues#Issue_02_-_Função_estimadora_de_cobertura_interior_e_quadrado_envolvente]] |
| | |
| <pre>
| |
| -- A = 8510417.771 km2:
| |
| with t as (select sqrt(8510417.771 *1000^2) as x)
| |
| select p as side_pow_exp, 2^p as side_pow_val,
| |
| round( (100.0*(2^p-x)/2^p)::numeric , 2)::real side_diff_perc,
| |
| p+1 as next_pow_exp, 2^(p+1) as next_pow_val,
| |
| round( (100.0*(2^(p+1)-x)/2^(p+1))::numeric , 2)::real next_diff_perc
| |
| from (select round(log(x)/log(2)) p,x from t) t2;
| |
| -- side_pow_exp | side_pow_val | side_diff_perc | next_pow_exp | next_pow_val | next_diff_perc
| |
| -- -------------+--------------+----------------+--------------+--------------+----------------
| |
| -- 21 | 2097152 | -39.11 | 22 | 4194304 | 30.45
| |
| -- A = 757637 km2:
| |
| side_pow_exp | side_pow_val | side_diff_perc |
| |
| --------------+--------------+----------------|
| |
| 20 | 1048576 | 16.99 |
| |
| -- A = 1099512 km2:
| |
| 20 | 1048576 | 0 |
| |
| </pre>
| |
| No caso da área do Brasil (de 8510417.771 km2) temos o next como estimativa de quadrado envolvente, com lados de 2^22 km:
| |
| # quadrado com 2^22 metros de lado contém o Brasil.
| |
| # Primeiro dígito base4 é a cobertura de 4 quadrados com 2^21 metros cada
| |
| # Primeiro dígito base16 é a cobertura de 16 quadrados com 2^20 metros de lado cada.
| |
| | |
| Nas áreas de células conferimos qual tem ''side_diff_perc=0'', que foi apenas o caso de A = 1099512 km2.
| |