Usar CNEFE para completar (talvez automaticamente) o OSM

Ola,

O OSM ainda é uma novidade para mim, mas me parece um projeto fantástico. Trabalho no Ipea e sempre sentimos falta de uma base de dados completa e precisa e gratuita de ruas no Brasil. Acho que tenho uma idéia sobre como explorar o máximo de informação que tem no CNEFE para completar o OSMs, talvez de forma semi automatizada. Como não conheço quase nada do OSM, nem do que já foi tentado, coloco aqui as idéias inicias.

Buscando no google encontrei algumas referências a pessoas usando o CNEFE para completar ou comparar dados com o OSM (por exemplo este post de poucos dias atrás: http://forum.openstreetmap.org/viewtopic.php?id=24791)). Entretanto, os resultados que encontrei usam como informação espacial no CNEFE a apenas a o município.

O CNEFE tem uma enorme potencialidade por permitir saber o setor censitário de cada um dos endereços. E shape com os setores censitários é fornecido pelo IBGE. Setores censitários são unidades de coleta de informação, com 250 a 350 domicílios em áreas urbanas, um pouco menos em áreas rurais. Isto é, em áreas mais densas ele corresponde a 1 ou uns poucos quarteirões. Não é possível saber a localização da rua dentro de cada setor, mas saber que tal rua passa por tais e tais setores já dá uma ótima idéia do trajeto desta.

Isto poderia servir para:
(a) ter uma lista detalhada por bairro, conjuntos de 1 a 3 quarteirões das ruas que precisam ser incluídas no mapa
(b) para áreas não mapeadas criar um mapa-rascunho, com base apenas nas informações sobre os setores em que as ruas passam. Isso poderia ser usado para correções futuras.

Queria coletar idéias a respeito e, se o projeto fizer sentido para as pessoas, angariar interessados em ajudar nisso. Tenho certo conhecimento sobre os setores censitários e CNEFE, mas muito pouco de programação e detalhes do OSM

Complementando.

Acho que tenho uma idéia sobre como implementar uma 1a versão do “shape-rascunho” do CNEFE

  1. Para cada rua do CNEFE listar os setores que a compõem junto com as coordenadas dos centroides destes setores. Portanto teremos uma lista de pontos para cada rua. O problema é que estes pontos não estariam ordenados
  2. Para cada rua (= conjunto de pontos) encontrar como determinar a sequência de pontos ordenados que forma uma linha que não se auto intersecte. Não encontrei um algoritmo para isso, mas imagino que deva existir (para polígnos encontrei uma sugestão sugerida no link: http://stackoverflow.com/questions/5278801/validity-of-algorithm-for-creation-of-a-non-self-intersecting-polygon)). Com base nesta sequência estes pontos podem ser representados como uma linha de um shapefile. O fato da linha não se auto interceptar não significa que seja a linha correta, pode ficar um zigue-zague, etc. Mas pelo menos vai dar uma idéia da direção geral e localização da rua.

Nos dados do CNEFE tem algumas informações adicionais como quarteirão e face de quarteirão. Então temos o número de quarteirões em cada setor, que também pode ser uma informação útil.

Além disso da para explorar a extrutura de Logradouro-número-complemento para estimar a altura dos prédios … (muitos domicílios com o mesmo logradouro, só mudando pelo complemento, etc…)

CNEFE — Cadastro Nacional de Endereços para Fins Estatísticos

IPEA — Instituto de Pesquisa Econômica Aplicada

LucasMation, independentemente de você reunir parceiros para esse projeto, quero dizer-lhe que, ao meu ver, o projeto OpenStreetMap está precisando de um material (em texto ou vídeo) que apresente uma visão geral d’O que o IBGE nos entrega.

A respeito de dados abertos, o que você achou da argumentação contida na palestra sobre a Consulta da base de CEP dos Correios. Aquela consulta retorna dados bem úteis, se são livres.

Eu concordo com aquela argumentação. Mas, se quem tem poder (judiciário) não concordar/admitir, os que entrarem naquele barco morrerão todos afogados, sem chance.

Você já conhece o IBGETools? http://tiles.tmpsantos.com.br/cities.txt. Esse e outros projetos são divulgados na lista talk-br.

Oi Alexandre,

em primeiro lugar queria deixar claro que minha participação é na pessoa física, não tenho poder/autoridade para falar em nome do IPEA muito menos de outras partes do governo. Eu concordo que a base de CEPs deveria ser pública, quer dizer, o Correio ficaria como responsável por definir a estrutura dos CEPs e ter a versão oficial da base, mas que ela deveria ser de acesso público gratuito. Mas, novamente, não tenho poder, influência, ingerência, etc… nenhuma sobre isso. Acho que eles tinham o mesmo problema na inglaterra (http://www.freethepostcode.org/) mas parece que já liberaram.

Sobre os dados do IBGE, de novo, nós aqui o no IPEA também somos usuários/consumidores do dado. O IBGE costuma documentar bem as bases e colocar tudo público, só as vezes é meio difícil de achar as coisas no site deles. Eu posso falar sobre as bases com as quais já trabalhei: a malha de setores censitários e os dados associados a esta malha. Talvez pudéssemos marcar um “hangout” semana que vem para falar sobre isso.

O Shape de setor censitário tem uns problemas. As vezes ele não bate quando você joga uma imagem de satélite por trás. E o grau de imprecisão pode variar de cidade a cidade. Tem casos em que tá tudo deslocado uns 20-30 metros em alguma direção, o que talvez seja mais factível de corrigir. Tem outros casos em que o problema de imprecisão no traçado de algumas linhas específicas. Enfim, já houve alguma tentativa do pessoal aqui do OSM de corrigir/compatibilizar aquela malha?

Não conhecia o “IBGE tools”. Para que serve? Qual é a fonte disso? Seria a malha de quarteirões associada ao CNEFE? Que eu saiba isso não era divulgado (ou talvez só seja divulgado nesta interface, sem liberar os o banco de dados).

Solicitei acesso à lista ontem. No aguardo. Vi agora que há uma tread bem similar sua com o Hermann na lista. É melhor seguir a troca de idéias por aqui ou por lá?

Finalmente, voltando ao tópico original, entrei no chat dos desenvolvedores (IRC #oms-dev) e troquei algumas idéias com “jongleur” sobre como criar um proto-mapa a partir do CNEFE + Shape de setores censitários. Coloquei o log da conversa aqui: https://sites.google.com/site/lucasmation/ideais-osm-chat . Resumindo a conversa:

a) partir do conjunto de pontos de cada Rua para obter a sequencia que melhor os conecta para que eles forem uma linha/rua/way é computacionalmente complicado (algoritmos NP-Complete). De todo modo este problema se chama : Noncrossing Hamiltonian paths in geometric graphs (http://dl.acm.org/citation.cfm?id=1240392) ou algo assim.
b) Foi questionado se isso valeria a pena, pois as vezes os voluntários preferem mapear a partir de um mapa em branco do que, mas quando falei que seria apenas uma linha indicando um possível traçado das ruas ele concordou que seja útil.
c) Outra idéia possível é fazer uma visualização que mostre as ruas faltantes de certa área, numa lista a esquerda da tela, e o mapa numa lista à direita. Ao clicar num nome de rua o mapa faria um highlight dos setores por onde esta rua passa.
d) Ele mencionou uma ferramenta de um alemão que faz as comparações entre tabelas de ruas de cadastros (ex: CNEFE) contra o OSM. É aqui: http://regio-osm.de/listofstreets/hierarchy . Tem pro Brasil inclusive.

Independentemente de você ter algum poder de decisão, pelo conhecimento que você tem, você pensa o uso do postmon estar na legalidade? Todos aqueles dados “crus” (ou em outro esquema: o JSON do projeto) poderiam ser usados no OSM? Eu penso que sim, no geral. Com dúvidas sobre o cache. Aliás, eu já partilhava daquela linha de argumentação antes dela ser exposta em “Hackeando Códigos Postais”.

Tenho percebido que o IBGE documenta o que disponibiliza. Penso que seria útil o pessoal do OSM saber o que existe e provém do IBGE, aquelas coisas que possam ser consideradas “matérias primas” para o OpenStreetMap. A “lista” de recursos, com descrições breves e ideias de utilização. Algo simples: só dizer que tal coisa existe e que pode ser usada, por exemplo, em situação A ou B. Já deu para perceber que o trabalho do IBGE é gigantesco.

O autor do IBGETools está usando-o para gerar tiles para algumas cidades. Visualize alguma delas naquele mapa e você entenderá. Também leia o tópico “Mudança na URL da layer TMS do IBGE” no histórico da Talk-br.

Você está enganado quanto a ter me visto na Talk-br. Não participo dela. Ás vezes eu consulto o histórico. Não sou tão envolvido com o projeto. Por isso também, soa estranho eu articular com você o Hangout.

Participe da Talk-br! Eu sou um caso a parte. Nos últimos dias eu apareci um bocado aqui no fórum porque eu estava com muitas dúvidas. Agora elas estão diluídas. Depois de alguns anos de cadastro, eram meus primeiros contatos efetivos com o projeto.

O Fernando Trebien é a pessoa que está trabalhando os algoritmos de comparação de dados que lhe atraíram, e quem tem criado o tópico de fórum correlato. Você me confundiu com ele em algum momento.

Alexandre, obrigado e desculpe, realmente estava te confundindo com o Fernando (porque ele estava na tread relacionada imediatamente abaixo da minha quando postei).

Sobre o CEP, realmente não tenho idéia sobre a legalidade do postmon, e não tenho conhecimento jurídico para ter nenhum chute minimamente educado. O vídeo também não é muito informativo, muito focado na programação, muito jargão e sem entrar muito nas questões de direitos autorais.

Finalmente olhei o IBGE-Tools com atenção. É fantástico. E foi legal saber que existem estes PDFs com os quarteirões dos setores, não sabia que isso era disponibilizado pelo IBGE. Já me vieram algumas idéias como associar os nomes de RUA segundo o CNEFE, etc.

Entrei na lista. Vou postar a idéia por lá também, acho que a lista é mais movimentada que este forum.

Em casos de municípios cujo crescimento nos ultimos 3 anos foi grande, o número de ruas mapeado no CNEFE e o número de ruas que é possível verificar no Bing Maps (p. ex) é MUITO discrepante.

De qualquer maneira, a iniciativa é válida, mas sempre existirão problemas visto que o CNEFE possui uma base bem suja, cheia de TYPOS, sem validação de CEP, e em muitos casos com o campo localidade denominando o local do conhecimento popular e não o bairro oficial dos Correios, nem do próprio IBGE.

O nível de desatualização do CNEFE (que é uma fotografia do estado do sistema de endereçamento postal de 2010) deve ser considerado também, já vi outros posts por aqui sobre a comparação CNEFE/OSM onde ruas mudam de nome (OSM mais atual), e em casos onde o mapeamento do CEP pelo Correio implica em alteração do formato lote/casa para o sistema de numeração a nível de logradouro, onde os CEPs são atribuídos no nível do logradouro (e não representando-se mais no nível de município), também pode causar input de dados desatualizados no OSM.

Só digo tudo isso pois é bom olhar também para as consequências indesejadas dessa estratégia.

É importante.

Na minha opinião, o CNEFE é bem útil como “informação auxiliar” (por exemplo, em áreas sem qualquer via mapeada, ou para revisão de áreas já mapeadas), mas exatamente pelos motivos que o djeps citou não pode ser usado para qualquer correção automática no mapa.