segunda-feira, 4 de julho de 2016

Geocodificação de endereços com software livre de GIS


A geocodificação é o processo em que uma listagem de endereços passa a ter uma referência geográfica, no caso um par de coordenadas. Referenciar seus dados de negócio é o primeiro passo para poder analisar espacialmente suas informações.

Serviços de gestão de saúde pública geocodificam casos de doenças e buscam identificar padrões de agrupamento para então inferir uma possível causa. Assim como as grandes redes de varejo geocodificam os endereços dos seus clientes para identificar o padrão sócio econômico dos clientes mais próximos e assim definir e ajustar o mix de produtos das suas lojas.
 
Nesses últimos dias me vi diante da necessidade de geocodificar nada menos do que um milhão e meio de endereços únicos na cidade de São Paulo, representando quase a completude das fachadas pagadoras de IPTU da cidade de São Paulo. Sem uma base proprietária ou um sistema proprietário com software e dados à minha disposição.

Nas minhas consultorias tenho sempre a preocupação de atender as necessidades do cliente dentro da sua realidade financeira. Adequando e construindo soluções com abordagens inovadoras.
Recorri a base do Centro de Estudos da Metrópole que recentemente lançou uma versão atualizada, assim do ponto de vista dos dados meu problema já estava bem resolvido. Optei por testar a geocodificação no Terraview. Tanto a base como o software sem custo de aquisição. Em um primeiro teste com pouco mais de cem endereços os resultados foram satisfatórios, porém eu desejava que os pontos não ficassem sobre a linha, que fosse aplicado um deslocamento de 10 metros e que nas extremidades também não houvesse pontos mapeados. Para o usuário, de fato ninguém instala um estabelecimento ou mora sob a linha, na minha perspectiva ainda pretendo agrupar esses dados em polígonos e preciso portanto separar par e ímpar.
Endereços Geocodificados na Av Ipiranga, posicionados sobre a linha.
 
Frente a essa dificuldade e a meta no objetivo optei por editar as geometrias, gerando uma base para geocodificar os endereços pares e outra para os endereços ímpares. Como primeiro passo gerei um ponto nos cruzamentos e a partir dele um buffer e em seguida apaguei o trecho contido no buffer. A ideia aqui é evitar que algum endereço seja geocodificado no meio do cruzamento.

Como declarado gerei as feições próprias para cada face de quadra, fiz um tratamento último dos endereços padronizado tipo de logradouro, título e preposição e parti para a geocodificação.
Também na região central os dados geocodificados no Terra View.


 O software tem ampla documentação em português assim não vou focar nessa questão, os dados foram geocodificados em dois lotes, primeiro ímpar, depois par. Somando os dois lotes o tempo de processamento não chegou a duas horas para quase um milhão e meio de pontos.
A base de endereços já era muito boa, quase a totalidade dos registros tinham cep completo e válido, com os tratamentos adicionais ultrapassamos 95% geocodificação. Um valor ótimo que só é possível se a tabela de endereços for completa e a base de ruas atual.
O software além de permitir exportar para shape, também gera relatório resumido e detalhado, o detalhado demonstra para cada registro qual o endereço ele validou em relação a base.
A base do Centro de Estudos da Metrópole abrange toda a RMSP, para outras regiões também podemos apresentar soluções inovadoras garantindo acurácia no nível do setor censitário.

Caso necessite de serviços dessa natureza entre em contato: www.geoanalytics.com.br 

6 comentários:

  1. Olá Sandro,

    Gostei da iniciativa de compartilhar seu teste. Estou tentando geocodificar muitos (na escala de 600 mil) registros de dados sociais, assim como você fez. No entanto, acredito que estou encontrando problemas com a tabela de entrada, já que não estou encontrando um padrão para as colunas da tabela de atributos de entrada. Você teria um modelo da tabela que você criou para entrar os "100 endereços", para que eu possa reproduzir o teste? Aguardo sua resposta. Obrigado. Rodrigo

    ResponderExcluir
  2. Olá Rodrigo,
    Usei o modelo desse tutorial (http://www.dpi.inpe.br/terraview/docs/tutorial/Aula9.pdf), apenas o dado de bairro eu não tinha. Importante o passo da página 4 em que você fará a preparação da base de ruas para servir como localizador (locator), siga a risca. O mesmo para a página 5 em que você apontará a tabela que será geocodificada e os campos respectivos. Preste atenção também se os tipos de logradouro estão compatíveis nas duas fontes. (Rua e Rua e não R. e Rua) o mesmo para título (Profa. e Profa. e não Professora e Profa.) se houver diferenças você precisará tratar antes. O campo de CEP atualizado também faz muita diferença.

    ResponderExcluir
  3. Voê pode usar uma base pronta como começo, aqui em Sobral-CE estamos elaborando uma base do zero, ela vai ter campos como nome oficial, oficial antigo e popular, números inicias de cada rua tano do lado esquerdo como direito e final, além dos CEPs tanto direito como esquerdo ( Quando existir diferenciação), estamos usando o software QGIS e o plugin mmqgis

    ResponderExcluir
    Respostas
    1. Olá Manoel, uma boa base é essencial, vocês devem conhecer o OpenStreetMap. Já existe alguns vetores para Sobral. Eventualmente pode ser uma alternativa colaborar com eles, eles desenvolveram várias ferramentas para edição na web de bases de logradouro, além de ter um modelo de dados bem consolidado.

      Excluir
    2. Olá, Conheço o OpenStreetMap já colaborei com ele, o problema do uso dados dele é a direção da linha durante sua construção, é preciso que ela esteja na direção na qual os números cressem, além disso existe muitas ruas que estão erradas, parece que um engraçadinho andou fazer bagunça. Gostei bastante desta postagem sobre geocodificação, muitas sites só relatam aquela que usa a base do Google, que alias aqui em minha cidade também tem ruas erradas e faltando, além da limitação de 1200 endereço por dia.

      Excluir
    3. Entendo, se desejar alterar o sentido de digitalização em bancos de dados isso é possível. No QGIS eu não sei, mas no ArcGIS é possivel também. Obrigado pelo acesso.

      Excluir

Web Analytics