Escrevi um script em python que faz uma busca usando o scroogle.org (poderia ser outro buscador, como o google ou yahoo) por: "nome da cidade"+"estado"+CEP.

Daí ele procura por números de CEP na página de resultado, analisa qual o CEP que mais se repete e me mostra o CEP.

Fiz um teste passando pra ele os 75 municípios do estado de Sergipe e a taxa de acerto foi por volta de 50%, mas ainda estou tendo muita ocorrência de timeout.

Também daria pra melhorar o algoritmo informando a faixa de CEPs de cada estado e mandando ignorar os números que estão fora dessa faixa de CEP.

Creio que isso seria uma boa solução para termos uma base de dados dos municípios que possuem um único CEP. E acho que isso não infringe direitos autorais... o que acham?

Quem quiser dar uma olhada no script, tá em anexo.



On 13-01-2012 14:59, Aun Johnsen wrote:
O differente do CEP aqui no Brasil e o Postcode no Reino Unido e que
no Reino Unido o Postcode refere um area mas o CEP refere um rua ou
linha (pelo menus nos cidades maiores).

Os municipios que tem um CEP para municipo inteiro poder incluir este
dados no relacao do fronteira

talvez podemos pega o applicacao do FreeThePostcode e mudar pouco para
o applicacao recoler os dados em jeito que precicamos em Brasil?

On 1/13/12, vitor<vitor.geo...@gmail.com>  wrote:
Todos os elementos endereçáveis nesta cidade (o seu nó de "centro", ruas e
pontos de interesse) devem ter a tag "addr:postcode=00000-555".

2012/1/12 Jose Carlos Medeiros<j...@psabs.com.br>

Vitor,


Acho que não entendi direito isso.

Ex. tenho a cidade "Teste" e ela tem um cep para todas as ruas,
00000-555.

Coloco a tag "addr:postcode=00000-555" na cidade, e nas ruas
"addr:postcode=*" ?



[]'s
José Carlos


Em 12 de janeiro de 2012 21:44, vitor<vitor.geo...@gmail.com>  escreveu:

Sim, e por coerência todos pontos endereçáveis desta cidade também.


2012/1/12 Wille<wi...@wille.blog.br>

  Uma dúvida: no caso de cidades que tenham um único CEP, devo apenas
colocar a tag
addr:postcode<http://wiki.openstreetmap.org/wiki/Key:addr:postcode>=*
no node que identifica a cidade??



On 12-01-2012 21:10, vitor wrote:

No caso do CEP do Brasil, não são necessárias as coordenadas, pois o
número do CEP aponta para um logradouro, uma string.

  http://pt.wikipedia.org/wiki/Sistema_de_endereçamento_postal_no_Brasil

  O colaborador utilizaria um formulário parecido com o Free the
Postcode, onde informaria a cidade/localidade, o nome do logradouro e a
faixa de número de endereços, se aplicável.

  Obviamente este é um trabalho gigante de mapeamento, em que seria
necessário muita gente para mapear o Brasil todo, mas não é impossível.

  O principal benefício deste projeto, assim como o Free the Postcode, é
trazer visibilidade para a questão do CEP não ser livre.

  2012/1/12 Jose Carlos Medeiros<j...@psabs.com.br>

Projeto legal este, simples e eficaz. Mas tenho uma dúvida, como levar
isso para a base, de forma que o mesmo CEP não fique duplicado em
várias
localizações de latitude e longitude?

Pelo que vi o problema la foi bem parecido com o que temos aqui, os
Correios cobram um valor absurdo para quem quer comprar o CD com a base
de
dados, e ainda é uma assinatura, tem que pagar de tempos em tempos. E,
obviamente os dados não são livres.

Inicialmente, pensei que os Correios fosse uma empresa mista entre
pública e privada, mas de acordo com a seguinte lei, parece ser apenas
pública.
---
LEI Nº 12.490, DE 16 DE SETEMBRO DE 2011
altera o Decreto-Lei nº 509, de 20 de março de 1969, que dispõe sobre a
transformação do Departamento dos Correios e Telégrafos em empresa
pública.

http://www.planalto.gov.br/CCIVIL_03/_Ato2011-2014/2011/Lei/L12490.htm
--

Sendo pública, porque os dados não poderiam ser de domínio público?

Eu não faço a mínima idéia de como fazer algum tipo de pressão para
liberarem os dados ou com quem deveríamos falar, por isso que acho mais
simples criar uma base livre.

Quanto ao Ceplivre e afins, concordo que não tem nada de livre, ja que
não podemos utilizar o banco todo, mesmo que pagando por isso.

[]'s
José Carlos


Em 12 de janeiro de 2012 19:22, vitor<vitor.geo...@gmail.com>escreveu:


  O projeto ao que o Aun se refere é o Free The Postcode. O governo
britânico, depois de receber pressões de todas as partes para abrir os
dados, liberou a base. O site ainda está no ar, deem uma olhada:

  http://www.freethepostcode.org/

  Não vejo impedimento de realizar um projeto similar, onde as pessoas
atribuem um logradouro para um CEP que elas coletaram pessoalmente.

  Tecnicamente é simples, poderia ser feito até no Google Docs, por
meio de formulários, ou criar um site bem básico em rails ou outros
framework.

  Este site pode ajudar a criar uma base realmente livre, que poderia
ser redistribuida para fins comerciais ou não.

  O ceplivre parece ser um serviço interessante, mas, apesar do nome,
não oferecem informações realmente livres. O meu conceito de livre é
ter
acesso ao banco de dados completo e poder compartilhá-lo e utilizar
para
qualquer fim.



_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-br



_______________________________________________
Talk-br mailing
listTalk-br@openstreetmap.orghttp://lists.openstreetmap.org/listinfo/talk-br



_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-br


_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-br


_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-br


_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-br

#
#  Copyright (c) 2012 Wille Marcel Lima Malheiro and contributors
#
#
#  This programm is free software under terms of the GNU General Public
#  License version 3 (GPLv3) as published by the Free
#  Software Foundation. See the file README for copying conditions.
#

import urllib2
from BeautifulSoup import BeautifulSoup
import re


def search_cep(cidade, estado):
    web_page = BeautifulSoup(urllib2.urlopen('http://www.scroogle.org/cgi-bin/nbbw.cgi?Gw="%s"+"%s"+cep&n=5' % (cidade, estado)).read())
    web_page = web_page.findAll('ul')

    results = []
    for i in web_page:
        i = re.sub(r'<.*?>', '', str(i))
        i = re.findall('([.0-9]*?)[ -]{0,2}[0]{3,5}', i)
        if len(i) > 0:
            results.append(re.sub(r'[.]*', '', i[0]))

    incidence = []

    for i in results:
        incidence.append(results.count(i))
    try:
        return results[incidence.index(max(incidence))] + "-000"
    except:
        print "Not found CEP"


_______________________________________________
Talk-br mailing list
Talk-br@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-br

Responder a