2 583
edições
Sem resumo de edição |
mSem resumo de edição |
||
Linha 18: | Linha 18: | ||
-- drop view vw01_ibge_pontos_raw cascade; | -- drop view vw01_ibge_pontos_raw cascade; | ||
Create table ibge_pontos_raw2 as | Create table ibge_pontos_raw2 as | ||
SELECT * FROM ( | SELECT ST_GeoHash(geom,9) as ghs9, * FROM ( | ||
SELECT cod_unico_endereco::bigint as gid, -- invalido, tem duplicação. | SELECT DISTINCT cod_unico_endereco::bigint as gid, -- invalido, tem duplicação. | ||
COD_MUNICIPIO::int AS jurisdic_id, -- cod_ibge | COD_MUNICIPIO::int AS jurisdic_id, -- cod_ibge | ||
substring(cod_setor,1,15)::bigint as num_setor, -- melhor que CEP para nome de via unico | substring(cod_setor,1,15)::bigint as num_setor, -- melhor que CEP para nome de via unico | ||
Linha 32: | Linha 32: | ||
ST_SetSRID(ST_MakePoint(LONGITUDE::float,LATITUDE::float),4326) AS geom | ST_SetSRID(ST_MakePoint(LONGITUDE::float,LATITUDE::float),4326) AS geom | ||
FROM ibge_pontos_raw | FROM ibge_pontos_raw | ||
) t WHERE via>'' | ) t WHERE via>'' -- AND geom is not null; -- nulls não ocorreram | ||
-- | ORDER BY jurisdic_id, 1; | ||
-- ~10 minutos para criar. Sem distinct 109478707 linhas, com distinct 105202888. | |||
</syntaxhighlight> | </syntaxhighlight> | ||
* a condição <code>NOM_TIPO_SEGLOGR = 'EDF'</code> ocorre | |||
* a condição <code>NOM_TIPO_SEGLOGR = 'EDF'</code> ocorre apenas em Brasília, em quase a totalidade dos endereços (96% dos casos). Iremos por hora remover Brasília até estabelecer como tratar. | |||
* a coondição <code>dsc_modificador='SN'</code> também ocorre com frequência em Brasília, e tem predominância superior a 50% também no estado 52 (Goiás). Provavelmente cidades-satelite de Brasilia, municípios com mais de 90%: 5201405, 5200050, 5208806, 5220454 ... 5204854. | |||
* COD_SETOR e NUM_FACE serão substitutos do CEP quando este falhar (tipicamente em cidades com cep unico). Uma alternativa mais segura seria truncando o Geohash, visto que todos eles são meramente para reduzir o risco de rua duplicada. | * COD_SETOR e NUM_FACE serão substitutos do CEP quando este falhar (tipicamente em cidades com cep unico). Uma alternativa mais segura seria truncando o Geohash, visto que todos eles são meramente para reduzir o risco de rua duplicada. | ||
* ntot_geral2=105202888 (95.0% de 110744837 ou 94,7% de 111102875); <code>select count(*) ntot_geral from ibge_pontos_raw2;</code> | |||
== Filtros na origem == | == Filtros na origem == | ||
Linha 85: | Linha 91: | ||
: select count(*) from ibge_pontos_raw where NOM_TIPO_SEGLOGR = 'EDF'-- 1266130 | : select count(*) from ibge_pontos_raw where NOM_TIPO_SEGLOGR = 'EDF'-- 1266130 | ||
: select count(*) from vw01_ibge_pontos_raw where via='' or via is null; -- 1266130 | : select count(*) from vw01_ibge_pontos_raw where via='' or via is null; -- 1266130 | ||
: Nota sobre Uso do Geohash6 na não-duplicação de nome de rua. [https://www.movable-type.co.uk/scripts/geohash.html movable/geohash] estima que Ghs6 tem ~1km2 e Ghs5 da ordem de 25km2. Ghs6 mellhor para pequenos municípios, dentro ou abaixo da mediana Brasil. <code>select PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY round(sqrt((info->'area_km2')::float)) ) sqside_km_mdn from optim.jurisdiction where jurisd_base_id=76 and isolevel=3 ; -- 20km </code>. | : Nota sobre Uso do Geohash6 na não-duplicação de nome de rua. [https://www.movable-type.co.uk/scripts/geohash.html movable/geohash] estima que Ghs6 tem ~1km2 e Ghs5 da ordem de 25km2. Ghs6 mellhor para pequenos municípios, dentro ou abaixo da mediana Brasil. <code>select PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY round(sqrt((info->'area_km2')::float)) ) sqside_km_mdn from optim.jurisdiction where jurisd_base_id=76 and isolevel=3 ; -- 20km </code>. |
edições