osmc talk:Metodologia/Algoritmo SQL: mudanças entre as edições

De Documentação
(Criou página com '== 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. <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_po...')
 
Etiqueta: Substituído
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.

Edição das 21h40min de 1 de junho de 2024