O documento descreve uma abordagem para consultar e visualizar grandes volumes de dados geográficos de forma rápida na web. Os autores obtiveram dados do IBGE sobre malhas territoriais e logradouros, prepararam os dados, criaram índices e implementaram APIs para geocodificação, sumarização e visualização dos dados em mapas.
4. IDÉIA PARA RESOLUÇÃO DO PROBLEMA
USAR UM MOTOR DE BUSCA COM SUPORTE A DADOS
GEOGRÁFICOS
5. CRIANDO UM PROBLEMA PARA TESTAR A IDEIA
● USAR OS DADOS DO IBGE PARA CRIAR UM SERVIÇO DE GEOCODIFICAÇÃO
● APROVEITAR OS DADOS PARA TESTAR O LANCE DA SUMARIZAÇÃO E DA
VISUALIZAÇÃO NO MAPINHA.
6. PONDO A MÃO NA MASSA
FOI ADOTADA A SEGUINTE LINHA DE TRABALHO
1. Obter os dado do IBGE;
a. Cadastro Nacional de Endereço para fins Estatísticos;
b. Frente de Logradouros;
2. Preparar dos dados;
3. Importar dados para o PostgreSQL;
4. Unir os dois conjuntos de dados;
5. Distribuir os pontos de endereço sobre as Frentes de Logradouros;
6. Criar uma estratégia de consulta e visualização;
7. Criar índices; e
8. Implementar um Backend para Geocoding, “sumarização” e recuperação de dados para
visualizar no mapinha.
7. MALHAS TERRITORIAIS - OBTENÇÃO DOS DADOS
ftp://geoftp.ibge.gov.br/organizacao_do_territorio/malhas_territoriais/malhas_municipais/municipio_20
10/
54 ARQUIVOS
8. FACES DE LOGRADOUROS - OBTENÇÃO DOS DADOS
ftp://geoftp.ibge.gov.br/recortes_para_fins_estatisticos/malha_de_setores_censitarios/censo_2010/ba
se_de_faces_de_logradouros/
10906 ARQUIVOS
9. FACES DE LOGRADOUROS - OBTENÇÃO DOS DADOS
ftp://ftp.ibge.gov.br/Censos/Censo_Demografico_2010/Cadastro_Nacional_de_Enderecos_Fins_Esta
tisticos/
10903 ARQUIVOS
10. OBTENÇÃO DOS DADOS
PARA FACILITAR A TAREFA DE FAZER DOWNLOAD DOS DADOS FOI DESENVOLVIDO UM SCRIPT
PARA FAZER O TRABALHO PESADO.
17. “MANIPULANDO” OS DADOS
FACESCNEFE
OS ENDEREÇOS SÃO DISTRIBUÍDOS SOBRE AS FACES DE FORMA HOMOGÊNEA.
● SE UMA FACE POSSUI 1 ENDEREÇO, O ENDEREÇO FICA NO CENTRO. 0.5
● SE UMA FACE POSSUI 2 ENDEREÇOS, OS ENDEREÇOS FICAM A 0.25 E 0.75
● …
DESSA FORMA AS DISTÂNCIA MÁXIMAS A SE PERCORRER DE UM PONTO ALEATÓRIO
EM UMA FACE PARA UM ENDEREÇO MAIS PRÓXIMO NA MESMA FACE SERÁ SEMPRE
IGUAL
MANIPULAÇÃO
19. CRIANDO UMA ESTRATÉGIA PARA VISUALIZAÇÃO
Para possibilitar a visualização dos dados criou-se a estratégia de visualizá-los da seguinte forma:
1. Agregados por estados - 1 - 8
2. Agregados por município - 8 - 11
3. Clusterizados - > 11
Foram criados os seguintes índices:
1. Estados
2. Municípios
3. CNEFE
21. CRIANDO OS ÍNDICES
index docs.count store.size pri.store.size
estados 27 1mb 537.1kb
municipios 5564 240.5mb 120.2mb
cnefe 50379021 24.3gb 12.1gb
22. IMPLEMENTANDO AS APIs
Foi implementada uma api em node com os seguintes endpoints:
● / - Retorna o Geojson com os dados agregados
○ bbox
○ zoom
○ filtros
● /search_string - Geocodigicação
○ query
● /cnefeInfo - Retorna os endereços de um ponto
○ clusterID
○ filtros
● /clusterInfo - Retorna o sumário dos endereços
○ clusterType
○ clusterID
○ filtros
● /obterEndereco/ Retorna o endereço mais próximo a uma coordenada
○ lat
○ long