osmc:Convenções/Coberturas municipais/Algoritmos: mudanças entre as edições

(→‎Poeira: Especifica passos no tratamento de poeira.)
Linha 139: Linha 139:
=== Algumas estatísticas sobre cobertura-base com p próximo de 30 e geocódigos de 5 dígitos em 5.7m ===
=== Algumas estatísticas sobre cobertura-base com p próximo de 30 e geocódigos de 5 dígitos em 5.7m ===


Para em um município termos geocódigos de 5 dígitos em 5.7m, considerando indexação, a sua cobertura-base deve ser composta de células de 5.7km. Então a área do município deve ser menor que 1024km2. A consulta anterior mostra que 603 municípios em Brasil e Colômbia se encaixariam nessa situação.
Para em um município termos geocódigos de 5 dígitos em 5.7m, considerando indexação, a sua cobertura-base deve ser composta de células de 5.7km (4 dígitos).


Isso indica que a maneira de fornecer 5 dígitos em 5.7m em municípios com áreas maiores que 1024km2 é tendo uma cobertura-base com células de 32km de lado e uma cobertura-overlay com células de 5.7km de lado. Campinas é um exemplo dessa situação: https://osm.codes/BR-SP-Campinas. Ou seja, uma cobertura-base enxuta e a maior quantidade de overlays possível.


A tabela osmc.tmp_coverage_citynew3 possui cobertura geradas automaticamente.


A tabela osmc.tmp_coverage_city possui cobertura geradas automaticamente e que possuem p<33. Notar que as cobertura comlobianas são anteriores a realização do shift na grade logística.
As consultas a seguir mostram que aproximadamente 4009 municípios brasileiros e colombianos podem ser cobertos com coberturas de células de 5.7km de lado, considerando q=30.
Além disso, em 94 coberturas foram removidas poeiras.


As consultas a seguir mostram que aproximadamente 1913 municípios brasileiros podem ser cobertos com coberturas de células de 5.7km de lado, tal que q>8, por exemplo http://osm.codes/BR-AL-BarraSantoAntonio. Se considerarmos q=2, 90% de 2551 podem ser cobertos com cobertura-base de 5.7km de lado.
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
-- número de municípios com cobertura-base com células de 5.7km de lado:
SELECT split_part(isolabel_ext,'-',1) AS country, length_cell, count(*)
SELECT COUNT (*)
FROM
FROM
(
(
    SELECT *, length(cover[1]) AS lgth_prefix
  -- seleciona cobertura com células de mais digitos
    FROM osmc.tmp_coverage_city
  SELECT isolabel_ext, MAX(length_cell) AS length_cell
    WHERE unioncontainsproperly IS TRUE
  FROM osmc.tmp_coverage_citynew3
) a
  WHERE number_cells < 31 -- 2 sobras
WHERE lgth_prefix = 4 and isolabel_ext like 'BR%';
  GROUP BY isolabel_ext
-- count  2551
)f
GROUP BY split_part(isolabel_ext,'-',1), length_cell
ORDER BY 1,2
;


-- percentil 75 , 90 :
country | length_cell | count
SELECT percentile_cont(0.75) within group (order by number_cells asc) as percentile_75,
---------+-------------+-------
      percentile_cont(0.90) within group (order by number_cells asc) as percentile_90
BR      |          2 |    67
BR      |          3 |  2255
BR      |          4 |  3244
BR      |          5 |    4
CO      |          2 |    5
CO      |          3 |  350
CO      |          4 |  760
CO      |          5 |    1
(8 rows)
 
 
SELECT length_cell, count(*)
FROM
(
  -- seleciona cobertura com células de mais digitos
  SELECT isolabel_ext, MAX(length_cell) AS length_cell
  FROM osmc.tmp_coverage_citynew3
  WHERE number_cells < 31 -- 2 sobras
  GROUP BY isolabel_ext
)f
GROUP BY length_cell
ORDER BY 1
;
 
length_cell | count
-------------+-------
          2 |    72
          3 |  2605
          4 |  4004
          5 |    5
(4 rows)
 
SELECT count(*)
FROM
FROM
(
(
     SELECT *, length(cover[1]) AS lgth_prefix
  -- seleciona cobertura com células de mais digitos
    FROM osmc.tmp_coverage_city
  SELECT isolabel_ext, MAX(length_cell) AS length_cell
    WHERE unioncontainsproperly IS TRUE
  FROM osmc.tmp_coverage_citynew3
) a
  WHERE flag_poeira IS TRUE AND number_cells < 31 -- 2 sobras
WHERE lgth_prefix = 4 and isolabel_ext like 'BR%' order by 1;
  GROUP BY isolabel_ext
)f
;
count
-------
     87
(1 row)
 
SELECT count(*)
FROM
(
  -- seleciona cobertura com células de mais digitos
  SELECT isolabel_ext, MAX(length_cell) AS length_cell
  FROM osmc.tmp_coverage_citynew3
  WHERE unioncontainsproperly IS false AND number_cells < 31 -- 2 sobras
  GROUP BY isolabel_ext
)f
;
count
-------
    7
(1 row)
</syntaxhighlight>
</syntaxhighlight>
<pre> percentile_75 | percentile_90
---------------+---------------
            25 |            30
</pre>


=== Poeira ===
=== Poeira ===