Open ppKrauss opened 1 year ago
Exemplo de BR-SP-Cunha, onde sobra reserva, mas não tem mancha urbana relevante... Podemos optar pelo apoio ao turismo, abrangendo uma vasta área rural nos entornos das pequenas manchas urbanas:
Foram eleitas:
A cidade tem vocação para o Turismo Rural, apesar dessa tendência não ser destacada nos indicadores (expressam por bares, restaurantes e serviços de alojamento e alimentação) e artesanal (principalmente cerâmica)... Há que se decidir localmente se essa será a ênfase, ou se preferem as coberturas overlay hiper-otimizadas para a mancha urbana:
Com apenas a o tamanho da área já poderiamos tomar a decisão em diversos municípios. A relação entre área A_tot total do município e a área A_urb da sua mancha urbana corrente, A_urb / A_tot, permite inferir o overlay através da seguinte heurística a ajustar:
se maior que 50% então é um município muito urbano e não há como melhorar por overlay a cobertura, exceto se houver muito reserva.
se menor que 50% então podemos otimizar 1 dígito
se menor que 1% então podemos otimizar 2 dígitos, e já estimar e cobrir o centro dado pela Wikidata e suas 8 vizinhanças.
Por exemplo BR-SP-Caiua é menos que 1% e resulta em
Consistente com dado do IBGE, de área urbana é de 1,49 km². Contra os 553 km² do seu polígono, potanto 0,3%.
Ver também Wiki com algoritmos, https://github.com/osm-codes/GGeohash/wiki/Algoritmos-de-cobertura
Densidade populacional:
Mancha urbana e classificação
Expansão da mancha urbana:
Exemplo de mapa vetorial das manchas, IBGE 2019 sobre São Carlos e Araraquara (com o cuidado que alguns polígonos são classificados como "Vazio Intraurbano").
Para download no IBGE:
Planilha: Tabela 8418 - Áreas urbanizadas, Loteamento vazio, Área total mapeada e Subcategorias
Ver resultados de
select * from (
select *, round(100*urban_km2/(km2+1)) perc_area_urb from (
select j.isolabel_ext, (info->'area_km2')::float as km2, u.area_km2 as urban_km2
from optim.jurisdiction j INNER JOIN br_jurisdic_urban_area u
ON u.jurisd_local_id=j.jurisd_local_id AND j.jurisd_base_id=76
) t
where isolabel_ext like 'BR-%-%' order by 1
) t2
where perc_area_urb < 2;
-- where perc_area_urb >50 order by perc_area_urb DESC, 1;
Exemplo amostral, cidades de SP denominadas "Camp*":
isolabel_ext | km2 | urban_km2 | perc_area_urb |
---|---|---|---|
BR-SP-Campinas | 795 | 245.1428 | 31 |
BR-SP-CampoLimpoPaulista | 80 | 23.6015 | 29 |
BR-SP-CamposJordao | 290 | 23.9904 | 8 |
BR-SP-CampinaMonteAlegre | 186 | 1.9667 | 1 |
BR-SP-CamposNovosPaulista | 484 | 0.942 | 0 |
Analisando mapas e coberturas-base: Campinas e CampoLimpoPaulista requerem mapas de densidade ou mancha urbana. CamposJordao já tem cobertura-base boa (densa), usaria o centro histórico como referência e apenas seu region-grow como overlay. CampinaMonteAlegre e CamposNovosPaulista são unimodais (uma só mancha) e podem usar o algoritmo do entorno do centro (dispensa análise de polígono ou densidade da mancha urbana!).
Municipios com 50% ou mais:
isolabel_ext | km2 | urban_km2 | perc_area_urb |
---|---|---|---|
BR-DF-Brasilia | 449 | 590.2166 ? | 131? |
BR-RJ-SaoJoaoMeriti | 35 | 35.2135 | 98 |
BR-SP-SaoCaetanoSul | 15 | 15.3307 | 96 |
BR-PE-Olinda | 41 | 39.7902 | 95 |
BR-SP-Osasco | 65 | 60.619 | 92 |
BR-SP-TaboaoSerra | 20 | 18.6092 | 89 |
BR-SP-Carapicuiba | 36 | 32.5745 | 88 |
BR-SP-Diadema | 31 | 27.5114 | 86 |
BR-MG-BeloHorizonte | 331 | 274.042 | 83 |
BR-CE-Fortaleza | 312 | 253.6912 | 81 |
BR-RJ-BelfordRoxo | 78 | 62.8938 | 80 |
BR-SP-Jandira | 17 | 14.4152 | 80 |
BR-SP-Poa | 17 | 14.2376 | 79 |
BR-PR-Curitiba | 434 | 336.5066 | 77 |
BR-SP-Maua | 62 | 42.5349 | 68 |
BR-SP-Barueri | 64 | 43.5192 | 67 |
BR-PE-Recife | 219 | 142.9853 | 65 |
BR-SP-FerrazVasconcelos | 29 | 17.9475 | 60 |
BR-SP-Hortolandia | 62 | 37.5767 | 60 |
BR-SP-SaoPaulo | 1524 | 914.5644 | 60 |
BR-RN-Natal | 167 | 99.3168 | 59 |
BR-RS-Canoas | 131 | 74.4304 | 56 |
BR-RS-Cachoeirinha | 44 | 24.7179 | 55 |
BR-RS-Esteio | 27 | 15.2541 | 54 |
BR-SP-VarzeaPaulista | 35 | 19.4947 | 54 |
BR-RJ-RioJaneiro | 1202 | 640.3365 | 53 |
BR-SP-Itaquaquecetuba | 82 | 43.8388 | 53 |
BR-MG-Contagem | 195 | 102.3259 | 52 |
BR-PB-JoaoPessoa | 211 | 110.8201 | 52 |
BR-RJ-Niteroi | 134 | 70.5238 | 52 |
BR-RJ-SaoGoncalo | 247 | 129.8256 | 52 |
BR-BA-LauroFreitas | 62 | 31.9123 | 51 |
Eexemplo de caso onde excedeu em um ou dois
Sugestão de decisões para escolha do overlay:
Avaliar a inclusão de critério sobre a proporção da área construída (urbano/rural) ou área ocupada, com o risco de incluir overlay urbana em municípios com vocação rural.
Outra opção é fazer o overlay simples em todos os casos e overlay urbano/rural apenas sob demanda.
No caso do overlay urbano, podemos utilizar as células excedentes para expandir o overlay a cada 10 anos, após a publicação da grade estatística ou outro produto da área construída.
@0e1 reunir conclusões técnicas e propostas/justificativas @luisfelipebr em página Wiki para encerrar aqui.
Sobre a heurística e estatísticas preliminares: ver tabela br_ibge_urbanizadas_t8418
com áreas urbanas (loteamentos ocupados ou não) de 2019 (in2019_km2
)... Nela aparecem alguns problemas, como Campinas com apenas 30% de urbanização, e DF com mais de 100%. No caso do DF pode ser diferença de geometria (IBGE 2019 vs OSM 2020).
Um efeito interessante é que mais de 90% dos municípios do Brasil possuem menos de 50% de áreas urbanizadas, segundo essa query: não deve estar tão errada. O percentual de urbanização será tão mais sensível quanto menor for o município. Talvez seja interessante agrupar "grandes", "médios" (mais que 100 km2) e "pequenos" (menos que 100 km2) para uma análise mais consistente dos critérios estatísticos.
-- base dl06t_main
select *, round(100.0*in2019_km2/geom_km2)::int as perc
from (
select jurisd_local_id, isolabel_ext,
(info->'area_km2')::real as geom_km2,
round(b.in2019_km2)::real as in2019_km2
from optim.jurisdiction j INNER JOIN br_ibge_urbanizadas_t8418 b ON b.ibge_id=j.jurisd_local_id
where isolabel_ext like 'BR-%-%'
) t order by 5 desc, isolabel_ext;
jurisd_local_id | isolabel_ext | geom_km2 | in2019_km2 | perc |
---|---|---|---|---|
5300108 | BR-DF-Brasilia | 449 | 590 | 131 |
3305109 | BR-RJ-SaoJoaoMeriti | 35 | 35 | 100 |
3548807 | BR-SP-SaoCaetanoSul | 15 | 15 | 100 |
2609600 | BR-PE-Olinda | 41 | 40 | 98 |
3552809 | BR-SP-TaboaoSerra | 20 | 19 | 95 |
3534401 | BR-SP-Osasco | 65 | 61 | 94 |
3510609 | BR-SP-Carapicuiba | 36 | 33 | 92 |
3513801 | BR-SP-Diadema | 31 | 28 | 90 |
3106200 | BR-MG-BeloHorizonte | 331 | 274 | 83 |
3525003 | BR-SP-Jandira | 17 | 14 | 82 |
3539806 | BR-SP-Poa | 17 | 14 | 82 |
2304400 | BR-CE-Fortaleza | 312 | 254 | 81 |
3300456 | BR-RJ-BelfordRoxo | 78 | 63 | 81 |
4106902 | BR-PR-Curitiba | 434 | 337 | 78 |
3505708 | BR-SP-Barueri | 64 | 44 | 69 |
3529401 | BR-SP-Maua | 62 | 43 | 69 |
2611606 | BR-PE-Recife | 219 | 143 | 65 |
3515707 | BR-SP-FerrazVasconcelos | 29 | 18 | 62 |
3519071 | BR-SP-Hortolandia | 62 | 38 | 61 |
3550308 | BR-SP-SaoPaulo | 1524 | 915 | 60 |
2408102 | BR-RN-Natal | 167 | 99 | 59 |
4303103 | BR-RS-Cachoeirinha | 44 | 25 | 57 |
4304606 | BR-RS-Canoas | 131 | 74 | 56 |
4307708 | BR-RS-Esteio | 27 | 15 | 56 |
3523107 | BR-SP-Itaquaquecetuba | 82 | 44 | 54 |
3556503 | BR-SP-VarzeaPaulista | 35 | 19 | 54 |
2507507 | BR-PB-JoaoPessoa | 211 | 111 | 53 |
3303203 | BR-RJ-Nilopolis | 19 | 10 | 53 |
3303302 | BR-RJ-Niteroi | 134 | 71 | 53 |
3304557 | BR-RJ-RioJaneiro | 1202 | 640 | 53 |
... | ... | ... | ... |
Exemplo de https://osm.codes/BR-SP-RioClaro
Potencial falha na cobertura-base?
O poligono pode ser coberto por 30 células,![image](https://user-images.githubusercontent.com/1651447/219903463-77a0aec3-dbe2-4770-a7b1-ad42855afaf5.png)
Vantagens: 1. menor área de interseção com outros municípios (otimiza análise de fronteiras?). 2. sem custo adicional da resolução de overlay (? avaliar se representa custo já que seria por prefixo apenas).
Desvantagens: 1. pouca reserva, e 2. eventual desperdício em área rural.
... Mas atualmente (2023-02-15) se encontra coberto por 4 células maiores:![image](https://user-images.githubusercontent.com/1651447/219903656-2a115331-ba24-4321-9ab2-a8525d29df7e.png)
Vantagens do atual: 1. mais reserva; 2. mímina cobertura-base (maior performance no scan geométrico?); 3. overlay cumprindo com o papel esperado (custo ou maior performance por prefixo?).
Desvantagens do atual: maior área de interseção com outros municípios (representa custo na análise de fronteiras?).
Falha de otimização na cobertura-base de fronteira mínima
Podemos reduzir em fronteiras mínimas:
Vantagem: redução das áreas de interseção.
Desvantagem: descontinuidade (sai do padrão esperado pelo usuário) no número de dígitos da área rural.