Portugal; Distritos, Concelhos e Freguesias

Portugal; Distritos, Concelhos e Freguesias

Bom, tenho andado bem ocupado com alguns projectos pessoais que nem tenho tido muito tempo aqui para o blog, no entanto venho falar de algo que com certeza vai ser bem util para quem desenvolve aplicações web que usem algum recurso de geo-localização. Devido a uma troca de mensagens no GTalk, o responsável pelo projecto que estou a desenvolver perguntou-se se eu conseguiria arrajar uma lista de Distritos, Concelhos e Freguesias de Portugal Continental e Ilhas, foi entõ que parti à procura.

Estava de caras que não seria facil encontrar isto de mão beijada, pois então parti em busca de tal informação, encontrada em alguns sites de vendas de imóveis em Portugal, nas paginas amarelas e também em alguns documentos dos CTT.

Claro que não vou aqui informar a fonte dos dados, mas com cerca de 45 Linhas de código PHP consegui obter todos estes elementos de um Request JSON de uma destes sistemas, e eis o resultado:

3 Tabelas MYSQL prontinhas a usar: Distritos, Concelhos e Freguesias. Todos os dados estão relacionados entre si, com uma simples query SQL facilmente listamos as freguesias de determinado concelho de um determinado distrito / ilha.
Para resumo, este SQL contém:
– 18 Distritos ( + 11 Areas administrativas das Ilhas )
– 308 Concelhos
– 4.284 Freguesias

Claro que não vou distribuir aqui publicamente, no entanto posso fornecer estas tabelas caso me seja feito um pedido explicando a sua necessidade e também o objecto do seu uso. Por isso, se necessitar disto para um próximo projecto é só entrar em contacto aqui.

P.S. Este post serve também para provar que os http requests, mesmo em SSL, expõem muitos dados, e com um pouco de criatividade e algum trabalho conseguimos consumir todos os dados do serviço.

Abraço.

Edit: Corrigi o artigo, na realidade (seguindo a dica de um dos comentários aqui em baixo, não expliquei bem), os distritos são 18, no entanto contam-se ainda as areas administrativas das ilhas (+11).


11 comments

add yours
  • Paulo A. silva January 31, 2011

    Esses dados são certamente públicos, a questão que se coloca é sobre quão acessíveis estão.
    Certamente pouco.

    Relativamente à tua oferta, compreendo que não os queiras publicar na esperança que o teu trabalhado venha a ser recompensado.
    Pessoalmente colocaria uma CSV aqui neste post e trabalharia o SEO da página afim de ter esse retorno com a publicidade.

    Há poucos dias também fiz uma coisa parecida: países x cidades.
    Quero definitivamente criar uma partição da base de dados com estes dados e relacionamentos.
    A origem dos dados é facilmente encontrada http://www.iso.org/iso/english_country_names_and_code_elements
    e para evitar os 158,00 CHF pela base de dados fiz um XSL para gerar um CSV que vai direitinho para a minha base de dados.

    Ainda não escrevi sobre o assunto, mas se entretanto for útil a alguém comuniquem.

  • Joao January 31, 2011

    Pelo contrário… é muito fácil encontrar isto de mão beijada. É visitar o site do Instituto Geográfico Português e descarregar a CAOP.

  • cromosdocosmos January 31, 2011

    29 Distritos!!!

    Corrige isso, quem ainda enganas os miúdos.
    (Não terás obtido, os NUTS III?)
    http://pt.wikipedia.org/wiki/Subdivis%C3%B5es_de_Portugal

  • cromosdocosmos January 31, 2011

    onde está quem deverá ler-se que.

  • Carlos Silva February 1, 2011

    Não sei qual foi a tua fonte de dados, mas o CTT disponibiliza a custo 0 a lista (em csv) de todos os CPs do país que incluem essa informação :)

  • Mário Santos February 1, 2011

    João,
    O que foi feito em cima, que acabei por esquecer de falar, é que todas as tabelas estão relacionadas entre si, ou seja, facilmente posso listar os concelhos de um distrito ou as freguesias de um concelho. Este ponto é muito importante na hora de usar estes dados numa aplicação.

    O CAOP, apesar de ser uma grande referência é uma informação visual que terás que passar manualmente para uma base de dados para o poderes usar, além de teres que criar grande parte das ligações relacionais.

  • Mário Santos February 1, 2011

    cromosdocosmos,
    Tens razão quanto ao facto de não serem 29 Distritos, no entanto também não são exactamente as divisões “NUTS III”, ele inclui os distritos de Portugal Continental e as areas administrativas das ilhas (Madeira e Açores).

    Obrigado pela dica, vou informar correctamente no post.

  • Mário Santos February 1, 2011

    Carlos,
    Os CTT incluem sim os Distritos, Concelhos e Todas as Localidades (freguesias, villas, aldeias) / Códigos postais. NO entanto as entradas nesses arquivos csv, apenas têm relações directas entre concelhos, distritos e localidade.
    Já o caso das freguesias ele além de não as apresentar directamente, ainda aumenta a complexidade dos dados com os códigos postais. No caso de a aplicação necessitar de códigos postais sim, esse aquivo é a melhor fonte de dados até porque não existe outra mais correcta que ela, mas no caso das freguesias dificilmente conseguirias o mesmo resultado em tão pouco tempo e com tão pouco trabalho.

    Pelo menos foi bem menos complexo de fazer!

  • Mário Santos March 20, 2011

    Ola Milord,
    Ter isso num documento é diferente de ter isso numa base de dados pronto a usar ;)

    Abraço.

  • Paulo Dias January 10, 2012

    3 tabelas? não deveria estar numa só tabela, com auto-associações? Para facilitar pesquisas e ligação a outras tabelas que necessitem desses dados.

Leave a Comment

Post