A tag townhall e a representação das câmaras municipais em Portugal continental
A tag amenity=townhall é utilizada para a representação de Câmaras Municipais de vilas e cidades. A “townhall” é tida como um edifício onde se localiza a Câmara Municipal da vila ou cidade, mesmo que não seja e nunca tenha sido utilizado com funções administrativas. Ou seja, será de ter em consideração que esta tag é passível de ser utilizada para catalogar não só as Câmaras Municipais, mas também outros edifícios.
Dadas as características da tag será de esperar que o OSM em Portugal venha a ter mais de 308 ‘townhall’, já que este é o número de Câmaras Municipais existentes. Parece, no entanto, que em Portugal o conceito seja merecedor de pequenas precisões que permitam uma melhor utilização da base de dados do OSM.
Os objectivos do exercício que se apresenta é a identificação das Câmaras Municipais que se encontram representadas no OSM em Portugal, a forma como estas se encontram representadas, verificar da adequação da utilização da tag amenity= 'townhall' e conhecer a distribuição das Câmaras Municipais representadas no OSM.
Materiais
Foram utilizados como informação de base para a realização deste exercício um ficheiro de informação do OSM referente a Portugal (portugal.osm.bz2) e a Carta Administrativa Oficial de Portugal - 2010.
Software
Como software de suporte para a realização das consultas aos dados foi utilizado o pgAdmin III e como software acessório o Quantum GIS.
Download do ficheiro do OSM
O ficheiro do OSM que serviu para a realização do exercício foi obtido através de um download, a partir de um servidor de dumps em http://download.geofabrik.de/osm/europe/
Download da Carta Administrativa Oficial de Portugal- 2010
A Carta Administrativa Oficial de Portugal foi obtida na última versão (2010) a partir do sítio da Internet do IGEO (http://www.igeo.pt/produtos/cadastro/caop/inicial.htm), em formato ESRI Shapefile e apenas para a área de Portugal Continental.
Criação de uma nova base de dados
Para a realização do exercício foi criada uma nova base de dados com a designação TOWNHALL, usando o modelo template_postgis.
Importação o ficheiro do OSM- Portugal para a base de dados TOWNHALL
Usando a consola utilizou-se o comando osm2pgsql da seguinte forma:
osm2pgsql -H localhost -m -U geobox -W -d TOWNHALL portugal.osm.bz2
Nota:
Será necessário ter a aplicação osm2pgsql instalada, caso não esteja deverá ser instalada através do seguinte comando:
sudo apt-get install osm2pgsql
Transformação do sistema de coordenadas da CAOP- 2010
A utilização da CAOP- 2010 pretende servir de referência espacial para a concretização de um conjunto de consultas a efectuar.
A CAOP - 2010 encontra-se no sistema de coordenadas ETRS 1989 – TM06-Portugal, diferente do que é utilizado no OSM. Desta forma, para simplificar a realização de algumas consultas, escusando a utilização do comando ‘st_transform’ em todas as consultas que impliquem relacionamentos espaciais, realizou-se uma transformação do sistema de coordenadas. Caso esta transformação não fosse efectuada, teria de se incluir o comando st_transform (wkb_geometry, 900913), ou seja, comando (atributo da tabela que contém a geometria, sistema de coordenadas de destino - OSM), na realização das referidas consultas.
- ->Abriu-se o QGIS.
- ->Adicionou-se o ficheiro CAOP - 2010 usando do comando “Adicionar camada vectorial” através do menu “Camada”.
Obtendo o seguinte resultado:
- ->Utilizou-se o comando “Exportar para uma nova projecção” disponível no menu “Vector / Ferramenta de gerenciamento de dados”, definiu-se como novo sistema o sistema 900913 e indicou-se um novo nome para o ficheiro (CAOP2010_900913).
O resultado da transformação pode ser observado na figura que se segue:
Inclusão da CAOP - 2010 na base de dados TOWNHALL
Para incluir a CAOP 2010 na base de dados TOWNHALL, onde já se encontrava o ficheiro OSM, utilizou-se a opção “Load data from shapefile” disponível no menu “Data” do “PostGIS Manager” acessível através do menu “Extensões” do QGIS.
CONSULTAS À BASE DE DADOS
* Quais as “townhall” representadas no OSM?
No OSM a tag “townhall” tanto pode corresponder a um ponto ou a um polígono, pelo que as questões a efectuar terão de contemplar as duas tabelas.
Nota:
Por uma questão de simplificação foi utilizado um Alias para substituir o nome completo das tabelas.
select p.name from planet_osm_point p where p.amenity = 'townhall' union all select po.name from planet_osm_polygon po where po.amenity = 'townhall'
- - Criação de uma tabela com os resultados da consulta “Quais as “townhall”representadas no OSM?”
Por uma questão de facilidade de acesso aos dados optou-se por construir uma nova tabela, excluindo a necessidade de efectuar o comando UNION em futuras consultas, a estes dados.
create table CÂMARAS as select p.osm_id, p.amenity, p.name, p.building, p.way FROM planet_osm_point p where p.amenity = 'townhall' union all select po.osm_id, po.amenity, po.name, po.building, po.way from planet_osm_polygon po where po.amenity = 'townhall'
* Quantas “townhall”estão representados no OSM?
select count(*) from CÂMARAS
Contudo, nada garante que as Câmaras Municipais estejam apenas catalogadas como “townhall”, é bem possível que algumas estejam catalogadas como “public_building”, “building”, sem nome e com possíveis combinações entre si. Este facto complicou bastante a elaboração de uma consulta que isolasse esta informação, pois uma “townhall” pode ter sido catalogada como “building”, mas outras não, umas como “public_building”, e um “building” pode ser uma Câmara Municipal sem assim estar catalogada.
Assim, foi necessário efectuar um conjunto de consultas associadas, de forma obter o resultado de todos os objectos catalogados como “townhall” e, simultaneamente, os objectos que, não estando catalogados desta forma, continham no nome a referência a uma Câmara Municipal.
create table CÂMARAS2 as select p.osm_id, p.amenity, p.name, p.building, p.way FROM planet_osm_point p where p.amenity = 'townhall' union all select po.osm_id, po.amenity, po.name, po.building, po.way from planet_osm_polygon po where po.amenity = 'townhall' union all select p.osm_id, p.amenity, p.name, p.building, p.way FROM planet_osm_point p where p.name ilike 'c_mara%' and p.amenity <> 'townhall' union all select p.osm_id, p.amenity, p.name, p.building, p.way FROM planet_osm_point p where p.name ilike 'c_mara%' and p.amenity is null union all select po.osm_id, po.amenity, po.name, po.building, po.way FROM planet_osm_polygon po where po.name ilike 'c_mara%' and po.amenity <> 'townhall' union all select po.osm_id, po.amenity, po.name, po.building, po.way FROM planet_osm_polygon po where po.name ilike 'c_mara%' and po.amenity is null
Simultaneamente, foi criada uma tabela para uma maior facilidade de acesso aos dados em consultas subsequentes.
Nota:
Com a consulta efectuada existe ainda a possibilidade de se terem deixado de fora algumas Câmaras Municipais cujo nome estivesse muito diferente do normal.
* Quantos objectos existem no OSM catalogados como “townhall”ou com o nome de Câmara?
Select count (*) from CÂMARAS2
A consulta anterior referente apenas à tag “townhall” tinha retornado apenas 79 valores, neste caso o valor aumentou para 104, o que quer dizer que existem pelo menos mais 15 Câmaras Municipais que não estão catalogadas como “townhall”.
* Quais as Câmaras Municipais que estão realmente representados no OSM?
Levantou-se ainda a questão de todos os objectos catalogados como “townhall” se referirem de facto a uma Câmara Municipal. Com certeza que não, pois a tag “townhall” permite a classificação de outros edifícios sem que sejam de facto Câmaras Municipais. Para sabermos quais os objectos catalogados que são Câmaras Municipais efectuou-se a seguinte consulta:
select name, amenity from CÂMARAS2 where name ilike 'C%' or name is null order by name
Nota:
Será de ter em consideração que poderão ter sido contabilizados outros objectos que não Câmaras Municipais, uma vez que a condição'C%' é demasiado abrangente, mas uma maior especificação poderia deixar de fora designações como CM.
* Quantas Câmaras Municipais estão realmente representados no OSM?
select count (*) from CÂMARAS2 where name ilike 'C%' or name is nul
Dos 104 registos da tabela, apenas 75 são referentes a Câmaras Municipais, ou seja, 29 registos de “townhall” não estavam directamente relacionados com Câmaras.
* O que é que está catalogado como "townhall", mas não é uma câmara?
select name, amenity from CÂMARAS2 where name not ilike 'C_m_ra%' order by name
Nome | Amenity |
---|---|
Antigos Paços do Concelho | townhall |
Antigos Paços do Concelho | townhall |
Centro Social de Jun queira | townhall |
Junta de freguesia | townhall |
Junta de Freguesia | townhall |
Junta de Freguesia | townhall |
Junta de Freguesia | townhall |
Junta de Freguesia | townhall |
Junta de Freguesia | townhall |
Junta de Freguesia Aveleda | townhall |
Junta de Freguesia de Água Longa | townhall |
Junta de Freguesia de Água Longa | townhall |
Junta de Freguesia de Anta | townhall |
Junta de Freguesia de Ermesinde | townhall |
Junta de Freguesia de Gondizalves | townhall |
Junta de Freguesia de Infias | townhall |
Junta de Freguesia de Junqueira | townhall |
Junta de Freguesia de Matosinhos | townhall |
Junta de Freguesia de Palme | townhall |
Junta de Freguesia de Rebordosa | townhall |
Junta de Freguesia de Refóios do Lima, Ponte de Lima | townhall |
Junta de Freguesia De Regungo Grande | townhall |
Junta de Freguesia de São Mamede de negrelos | townhall |
Junta de Freguesia de São Martinho do Campo | townhall |
Junte de Freguesia de Rio Tinto | townhall |
Município de Espinho | townhall |
Sede Columbófila | townhall |
SIRMA - Sociedade Instrutiva, Recreativa e Musical Argense | townhall |
Tribunal de Esposende | townhall |
Tribunal Judicial de Viana do Castelo | townhall |
Pela análise dos resultados, verificou-se que estão representados como “townhall” edifícios de diferentes entidades, destacando-se as Juntas de Freguesia. Na nossa opinião este tipo de catalogação não parece o ideal e será mesmo desapropriada face aos critérios de catalogação. Assim, foi efectuada uma alteração dessas catalogações.
* Alteração das "townhall" que não representam Câmaras Municipais
Como a informação foi previamente filtrada foi possível observar os conteúdos a alterar, caso contrário a tarefa seria mais difícil. Decidiu-se fazer as alterações da seguinte forma:
- - Junta de Freguesia = public_building
- - Centro Social de Jun queira= public_building
- - Sede Columbófila = building
- - SIRMA - Sociedade Instrutiva, Recreativa e Musical Argense = building
- - Tribunal = public_building
Os edifícios catalogados como Antigos Paços de Concelho e Município de Espinho não foram alterados, no primeiro dos casos, porque as características da tag o permite, no segundo por suspeita de apenas ser um nome incorrecto.
Alteração da catalogação das Juntas de Freguesia
UPDATE CÂMARAS2 SET amenity = 'public_building' WHERE CÂMARAS2.name ilike 'Junt%'
Alteração da catalogação do Centro Social de Jun queira
UPDATE CÂMARAS2 SET amenity = 'public_building' WHERE CÂMARAS2.name ilike 'Centro Social%'
Alteração da catalogação da Sede Columbófila
UPDATE CÂMARAS2 SET amenity = 'building' WHERE CÂMARAS2.name ilike 'Sede Columbófila%'
Alteração da catalogação da SIRMA - Sociedade Instrutiva, Recreativa e Musical Argense
UPDATE CÂMARAS2 SET amenity = 'building' WHERE CÂMARAS2.name ilike 'SIRMA%'
Alteração da catalogação dos Tribunais
UPDATE CÂMARAS2 SET amenity = 'public_building' WHERE CÂMARAS2.name ilike 'Tribunal%'
Alteração directa das tabelas do ficheiro do OSM - Portugal
Para fazer a alteração directa das tabelas no ficheiro do OSM Portugal e como a informação das "townhall" se encontram em duas tabelas (pontos e polígonos) será mais fácil efectuar as alterações tabela a tabela para cada uma das alterações a efectuar
Alteração da catalogação das Juntas de Freguesia
update planet_osm_point SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'junt%'
update planet_osm_polygon SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'junt%'
Alteração da catalogação do Centro Social de Jun queira
update planet_osm_point SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'Centro Social%'
update planet_osm_polygon SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'Centro Social%'
Alteração da catalogação da Sede Columbófila
update planet_osm_point SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'Sede Columbófila%'
update planet_osm_polygon SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'Sede Columbófila%'
Alteração da catalogação da SIRMA - Sociedade Instrutiva, Recreativa e Musical Argense
update planet_osm_point SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'SIRMA%'
update planet_osm_polygon SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'SIRMA%'
Alteração da catalogação dos Tribunais
update planet_osm_point SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'tribunal%'
update planet_osm_polygon SET amenity = 'public_building' where amenity = 'townhall' and name ilike 'tribunal%'
Para verificar se tudo correu bem e se não existiam erros na alteração das catalogações, bastou efectuar a seguinte consulta:
select name, amenity from CÂMARAS2 where amenity = 'townhall'
* Actualizar os registos de Câmaras Municipais que não estão catalogados como "townhall"
Identificados os registos referentes a Câmara Municipal que não estavam catalogados como “townhall”, importou alterar a sa catalogação, o que foi efectuado da seguinte forma:
update CÂMARAS2 SET amenity = 'townhall' where amenity <> 'townhall' and name ilike 'C_m_ra%'
Alteração directa das tabelas do ficheiro do OSM – Portugal
update planet_osm_point SET amenity = 'townhall' where amenity <> 'townhall' and name ilike 'C_m_ra%'
update planet_osm_polygon SET amenity = 'townhall' where amenity <> 'townhall' and name ilike 'C_m_ra%'
Nota:
Na realização desta alteração no OSM é necessário ter cuidados acrescidos, já que apesar de se ter tentado limitar a alteração apenas às Câmaras Municipais a utilização do “ilike 'C_m_ra%'”poderá provocar a alteração de outros registos.
* Contagem do número de Câmaras Municipais por tipo
Após as Câmaras Municipais estarem catalogadas de forma correcta, sabíamos por análises anteriores dos dados, que nem todas estão correctamente identificadas pelo nome, já que nem todas têm nome e outras apresenta um nome incompleto. Efectuando a consulta que se segue ficamos a compreender a dimensão destas falhas mais graves de catalogação
select count (amenity) as numero, name from CÂMARAS2 where amenity ='townhall' group by name order by numero desc
Número | Nome |
---|---|
9 | |
8 | Câmara Municipal |
3 | Camara Municipal |
2 | Antigos Paços do Concelho |
2 | Câmara Municipal de Cinfães |
2 | Câmara Municipal de Ribeira de Pena |
2 | Camara Municipal de Vila Flor |
1 | Câmara Municipal de Esposende |
1 | Câmara Municipal de Arronches |
1 | Camara Municipal de Santana |
1 | Camara Municipal de Beja |
1 | Câmara Municipal da Amadora |
1 | CM |
1 | Camâra Municipal de Torres Vedras |
1 | Câmara Municipal de Ponte de Lima |
1 | Câmara Municipal da Figueira da Foz |
1 | Câmara Municipal de Lousada - Edificio B |
1 | Câmara Municipal de Silves |
1 | Camara Municipal Porto Moniz |
1 | Camara Municipal de Vouzela |
1 | Câmara Municipal de Almada |
1 | Câmara Municipal de Nelas |
1 | Camara Municipal do Porto |
1 | Câmara Municipal das Caldas da Rainha |
1 | Camara de Lobos |
1 | Câmara Municipal da Trofa - Pólo 1 |
1 | Camara Municipal de Mafra |
1 | Camara Municipal de Resende |
1 | Câmara Municipal de Vila do Conde |
1 | Câmara Municipal de Fafe |
1 | Câmara Municipal da Póvoa de Varzim |
1 | Camara Municipal de Matosinhos |
1 | Câmara Gaia |
1 | Câmara Municipal de Paredes |
1 | Câmara da Lousã |
1 | Camara Municipal de Agueda |
1 | Câmara Municipal de Lisboa |
1 | Câmara Municipal da Póvoa de Lanhoso |
1 | Câmara Municipal de Lagos |
1 | Câmara Municipal do Porto |
1 | Câmara Municipal de Amares |
1 | C. M. Valongo |
1 | Camara Municipal de Castro Daire |
1 | Camara Municipal de Ílhavo |
1 | Câmara Municipal de Vila Real de Santo António |
1 | Câmara Munipal de Miranda do Corvo |
1 | Câmara Municipal de Lousada |
1 | Câmara Municipal de Santo Tirso |
1 | Câmara Municipal de Sintra |
1 | Câmara Municipal de Braga |
1 | Câmara Municipal de Barcelos |
1 | Câmara de Matosinhos |
1 | Município de Espinho |
1 | Câmara Municipal de Coimbra |
1 | Câmara Municipal da Trofa - Pólo 2 |
1 | Câmara Municipal de Vila Nova de Gaia |
Pela análise dos resultados foi possível constatar vários problemas: entradas sem nome, entradas como Câmara Municipal, entradas como Camara Municipal e vários erros de grafia, principalmente na designação Câmara Municipal e relacionados com a acentuação. Estes problemas são relevantes, pois poderão ser um entrave à correcta consulta e utilização da base de dados.
* Correcção dos problemas de grafia da palavra Câmara
A correcção das grafias é difícil de resolver com a aplicação de uma única consulta, mas foi possível realizar com a aplicação de 3.
Correcção da designação: Camara Municipal
update CÂMARAS2 set name = regexp_replace (name, '................', 'Câmara Municipal') where amenity = 'townhall' and name ilike 'C_m_ra%'
Correcção da designação: CM
update CÂMARAS2 set name = regexp_replace (name, '..', 'Câmara Municipal') where amenity = 'townhall' and name like 'CM'
Correcção da designação: C. M.
update CÂMARAS2 set name = regexp_replace (name, '.....', 'Câmara Municipal') where amenity = 'townhall' and name like 'C. M.%'
Alteração directa das tabelas do ficheiro do OSM – Portugal
Correcção da designação: Camara Municipal
update planet_osm_point set name = regexp_replace (name, '................', 'Câmara Municipal') where amenity = 'townhall' and name ilike 'C_m_ra%'
update planet_osm_polygon set name = regexp_replace (name, '................', 'Câmara Municipal') where amenity = 'townhall' and name ilike 'C_m_ra%'
Correcção da designação: CM
update planet_osm_point set name = regexp_replace (name, '..', 'Câmara Municipal') where amenity = 'townhall' and name like 'CM'
update planet_osm_polygon set name = regexp_replace (name, '..', 'Câmara Municipal') where amenity = 'townhall' and name like 'CM'
Correcção da designação: C. M.
update planet_osm_point set name = regexp_replace (name, '.....', 'Câmara Municipal') where amenity = 'townhall' and name like 'C. M.%'
update planet_osm_ polygon set name = regexp_replace (name, '.....', 'Câmara Municipal') where amenity = 'townhall' and name like 'C. M.%'
No final deste processo de rectificação dos nomes, ao efectuarmos a consulta anterior verificamos que todas as palavras “Câmara” se encontravam escritas de forma correcta, restando resolver outros problemas, nomeadamente, a falta da designação de algumas entradas catalogadas como “townhall”.
* Resolução da falta de nome e nome incompleto através de uma hiperligação ao OSM
select ca.osm_id, ca.name, 'https://www.openstreetmap.org/browse/way/'|| '' || ca.osm_id AS "Hiperligação", c.municipio from CÂMARAS2 ca, caop2010_900913 c where st_contains(c.the_geom, ca.way) and ca.amenity = 'townhall' and ca.name is null union all select ca.osm_id, ca.name, 'https://www.openstreetmap.org/browse/way/'|| '' || ca.osm_id AS "Hiperligação", c.municipio from CÂMARAS2 ca, caop2010_900913 c where ca.amenity = 'townhall' and ca.name not like 'Câmara Municipal d%' and st_contains(c.the_geom, ca.way) order by municipio, name
Poderíamos desejar seleccionar todas os registos de forma a corrigir todos os erros de grafia, o que, neste caso, se torna viável dada a existência de um conjunto limitado de registos. Nesse caso, teria de se usar a seguinte consulta:
SELECT ca.osm_id, ca.name, 'https://www.openstreetmap.org/browse/way/'|| '' || ca.osm_id AS "Hiperligação", c.municipio FROM CÂMARAS2 ca, caop2010_900913 c WHERE st_contains(c.the_geom, ca.way) and ca.amenity = 'townhall' ORDER BY c.municipio
Foi acrescentada a designação do concelho (município) para um melhor enquadramento da alteração. Seria possível efectuar as alterações directamente na base de dados com base no nome do concelho (município), mas, a efectuar a correcção, é recomendável que se verifique tratar-se efectivamente de uma Câmara Municipal.
Alteração com base nas tabelas do ficheiro do OSM – Portugal
select p.osm_id, p.name, 'https://www.openstreetmap.org/browse/way/'|| '' || p.osm_id AS "Hiperligação", c.municipio from planet_osm_point p, cont_aad_caop2010 c where st_contains(c.the_geom, p.way) and p.amenity = 'townhall' and p.name is null union all select p.osm_id, p.name, 'https://www.openstreetmap.org/browse/way/'|| '' || p.osm_id AS "Hiperligação", c.municipio from planet_osm_point p, cont_aad_caop2010 c where st_contains(c.the_geom, p.way) and p.amenity = 'townhall' and p.name not like 'C_m_ra Municipal d%' union all select po.osm_id, po.name, 'https://www.openstreetmap.org/browse/way/'|| '' || po.osm_id AS "Hiperligação", c.municipio from planet_osm_polygon po, cont_aad_caop2010 c where st_contains(c.the_geom, po.way) and po.amenity = 'townhall' and po.name is null union all select po.osm_id, po.name, 'https://www.openstreetmap.org/browse/way/'|| '' || po.osm_id AS "Hiperligação", c.municipio from planet_osm_polygon po, cont_aad_caop2010 c where st_contains(c.the_geom, po.way) and po.amenity = 'townhall' and po.name not like 'C_m_ra Municipal d%' order by municipio, name
Nota:
Como já referido, caso não se efectuasse a transformação inicial do sistema de coordenadas da CAOP - 2010, a expressão “c.the_geom” teria de ser substituída por “st_transform(c.wkb_geometry, 900913)”
- - Para utilizar a hiperligação criada, após a realização da consulta é necessário copiar a hiperligação e colar no browser da Internet, retirando as aspas.
- - Acedendo à página referente ao objecto em questão e após ter efectuado o login, será possível clicar na hiperligação “editar”, acedendo ao editor.
- - Acedendo ao editor e seleccionando o objecto, será possível alterar o nome ou qualquer outro aspecto que se julgue necessário.
* Quais os concelhos que têm Câmara Municipal?
Select distinct ca.municipio from CÂMARAS2 c, caop2010_900913 ca where c.amenity = 'townhall' and st_contains (ca.the_geom, c.way) order by ca.municipio
- ÁGUEDA
- ALMADA
- AMADORA
- AMARES
- ARMAMAR
- AROUCA
- ARRONCHES
- AVEIRO
- BARCELOS
- BEJA
- BOMBARRAL
- BRAGA
- CALDAS DA RAINHA
- CASCAIS
- CASTRO DAIRE
- CINFÃES
- COIMBRA
- ESPINHO
- ESPOSENDE
- ÉVORA
- FAFE
- FELGUEIRAS
- FIGUEIRA DA FOZ
- ÍLHAVO
- LAGOS
- LISBOA
- LOUSÃ
- LOUSADA
- MAFRA
- MAIA
- MATOSINHOS
- MIRANDA DO CORVO
- NELAS
- ODIVELAS
- OVAR
- PALMELA
- PAREDES
- PONTE DE LIMA
- PORTO
- PÓVOA DE LANHOSO
- PÓVOA DE VARZIM
- RESENDE
- RIBEIRA DE PENA
- SANTO TIRSO
- SILVES
- SINTRA
- TAVIRA
- TONDELA
- TORRE DE MONCORVO
- TORRES VEDRAS
- TROFA
- VALE DE CAMBRA
- VALONGO
- VILA DO CONDE
- VILA FLOR
- VILA FRANCA DE XIRA
- VILA NOVA DE FAMALICÃO
- VILA NOVA DE GAIA
- VILA REAL DE SANTO ANTÓNIO
- VISEU
- VOUZELA
Neste caso, consideramos todos os registos catalogados como “townhall” porque já foram excluídos os que não apresentavam relação directa com a tag, como Juntas de Freguesia. Contudo, restaram outros que podem distorcer um pouco a análise dos dados, como “Antigos Paços do Concelho”.
* Quais os concelhos que não têm Câmaras Municipais?
select distinct ca.municipio from caop2010_900913 ca except select distinct ca.municipio from caop2010_900913 ca, CÂMARAS2 c where st_contains(ca.the_geom, c.way) and c.amenity = 'townhall'
* ABRANTES | * CANTANHEDE | * LEIRIA | * OLIVEIRA DE FRADES | * SEIXAL |
* AGUIAR DA BEIRA | * CARRAZEDA DE ANSIÃES | * LOULÉ | * OLIVEIRA DO BAIRRO | * SERNANCELHE |
* ALANDROAL | * CARREGAL DO SAL | * LOURES | * OLIVEIRA DO HOSPITAL | * SERPA |
* ALBERGARIA-A-VELHA | * CARTAXO | * LOURINHÃ | * OURÉM | * SERTÃ |
* ALBUFEIRA | * CASTANHEIRA DE PÊRA | * MAÇÃO | * OURIQUE | * SESIMBRA |
* ALCÁCER DO SAL | * CASTELO BRANCO | * MACEDO DE CAVALEIROS | * PAÇOS DE FERREIRA | * SETÚBAL |
* ALCANENA | * CASTELO DE PAIVA | * MANGUALDE | * PAMPILHOSA DA SERRA | * SEVER DO VOUGA |
* ALCOBAÇA | * CASTELO DE VIDE | * MANTEIGAS | * PAREDES DE COURA | * SINES |
* ALCOCHETE | * CASTRO MARIM | * MARCO DE CANAVESES | * PEDRÓGÃO GRANDE | * SOBRAL DE MONTE AGRAÇO |
* ALCOUTIM | * CASTRO VERDE | * MARINHA GRANDE | * PENACOVA | * SOURE |
* ALENQUER | * CELORICO DA BEIRA | * MARVÃO | * PENAFIEL | * SOUSEL |
* ALFÂNDEGA DA FÉ | * CELORICO DE BASTO | * MEALHADA | * PENALVA DO CASTELO | * TÁBUA |
* ALIJÓ | * CHAMUSCA | * MÊDA | * PENAMACOR | * TABUAÇO |
* ALJEZUR | * CHAVES | * MELGAÇO | * PENEDONO | * TAROUCA |
* ALJUSTREL | * CONDEIXA-A-NOVA | * MÉRTOLA | * PENELA | * TERRAS DE BOURO |
* ALMEIDA | * CONSTÂNCIA | * MESÃO FRIO | * PENICHE | * TOMAR |
* ALMEIRIM | * CORUCHE | * MIRA | * PESO DA RÉGUA | * TORRES NOVAS |
* ALMODÔVAR | * COVILHÃ | * MIRANDA DO DOURO | * PINHEL | * TRANCOSO |
* ALPIARÇA | * CRATO | * MIRANDELA | * POMBAL | * VAGOS |
* ALTER DO CHÃO | * CUBA | * MOGADOURO | * PONTE DA BARCA | * VALENÇA |
* ALVAIÁZERE | * ELVAS | * MOIMENTA DA BEIRA | * PONTE DE SOR | * VALPAÇOS |
* ALVITO | * ENTRONCAMENTO | * MOITA | * PORTALEGRE | * VENDAS NOVAS |
* AMARANTE | * ESTARREJA | * MONÇÃO | * PORTEL | * VIANA DO ALENTEJO |
* ANADIA | * ESTREMOZ | * MONCHIQUE | * PORTIMÃO | * VIANA DO CASTELO |
* ANSIÃO | * FARO | * MONDIM DE BASTO | * PORTO DE MÓS | * VIDIGUEIRA |
* ARCOS DE VALDEVEZ | * FERREIRA DO ALENTEJO | * MONFORTE | * PROENÇA-A-NOVA | * VIEIRA DO MINHO |
* ARGANIL | * FERREIRA DO ZÊZERE | * MONTALEGRE | * REDONDO | * VILA DE REI |
* ARRAIOLOS | * FIGUEIRA DE CASTELO RODRIGO | * MONTEMOR-O-NOVO | * REGUENGOS DE MONSARAZ | * VILA DO BISPO |
* ARRUDA DOS VINHOS | * FIGUEIRÓ DOS VINHOS | * MONTEMOR-O-VELHO | * RIO MAIOR | * VILA NOVA DA BARQUINHA |
* AVIS | * FORNOS DE ALGODRES | * MONTIJO | * SABROSA | * VILA NOVA DE CERVEIRA |
* AZAMBUJA | * FREIXO DE ESPADA À CINTA | * MORA | * SABUGAL | * VILA NOVA DE FOZ CÔA |
* BAIÃO | * FRONTEIRA | * MORTÁGUA | * SALVATERRA DE MAGOS | * VILA NOVA DE PAIVA |
* BARRANCOS | * FUNDÃO | * MOURA | * SANTA COMBA DÃO | * VILA NOVA DE POIARES |
* BARREIRO | * GAVIÃO | * MOURÃO | * SANTA MARIA DA FEIRA | * VILA POUCA DE AGUIAR |
* BATALHA | * GÓIS | * MURÇA | * SANTA MARTA DE PENAGUIÃO | * VILA REAL |
* BELMONTE | * GOLEGÃ | * MURTOSA | * SANTARÉM | * VILA VELHA DE RÓDÃO |
* BENAVENTE | * GONDOMAR | * NAZARÉ | * SANTIAGO DO CACÉM | * VILA VERDE |
* BORBA | * GOUVEIA | * NISA | * SÃO BRÁS DE ALPORTEL | * VILA VIÇOSA |
* BOTICAS | * GRÂNDOLA | * ÓBIDOS | * SÃO JOÃO DA MADEIRA | * VIMIOSO |
* BRAGANÇA | * GUARDA | * ODEMIRA | * SÃO JOÃO DA PESQUEIRA | * VINHAIS |
* CABECEIRAS DE BASTO | * GUIMARÃES | * OEIRAS | * SÃO PEDRO DO SUL | * VIZELA |
* CADAVAL | * IDANHA-A-NOVA | * OLEIROS | * SARDOAL | |
* CAMINHA | * LAGOA | * OLHÃO | * SÁTÃO | |
* CAMPO MAIOR | * LAMEGO | * OLIVEIRA DE AZEMÉIS | * SEIA |
- A partir desta lista, todos os que se sentirem habilitados a representar uma Câmara Municipal em falta, basta copiar e colar a designação do concelho num editor do OSM e localizar a respectiva Câmara Municipal.
* Quantos Concelhos têm Câmara Municipal?
Select count(distinct ca.municipio) as contagem from CÂMARAS2 c, caop2010_900913 ca where c.amenity = 'townhall' and st_contains (ca.the_geom, c.way)
* Qual a percentagem de concelhos de Portugal Continental com Câmara Municipal?
select (select cast (count(distinct ca.municipio) as float) from CÂMARAS2 c, caop2010_900913 ca where c.amenity = 'townhall' and st_contains (ca.the_geom, c.way))*100/ (select cast(count(distinct ca.municipio) as float) from caop2010_900913 ca) as Percentagem
Pela análise dos resultados, constatou-se que a representação das Câmaras Municipais em Portugal Continental ainda é reduzida, sendo de cerca de 1/5 do total.
* Quais os distritos que têm Câmaras Municipais representadas?
Select distinct ca.distrito_ from CÂMARAS2 c, caop2010_900913 ca where c.amenity = 'townhall' and st_contains (ca.the_geom, c.way) order by ca.distrito_
- AVEIRO
- BEJA
- BRAGA
- BRAGANÇA
- COIMBRA
- ÉVORA
- FARO
- LEIRIA
- LISBOA
- PORTALEGRE
- PORTO
- SETÚBAL
- VIANA DO CASTELO
- VILA REAL
- VISEU
* Quais os distritos que não têm Câmaras Municipais representadas?
select distinct ca.distrito_ from caop2010_900913 ca except select distinct ca.distrito_ from caop2010_900913 ca, CÂMARAS2 c where st_contains(ca.the_geom, c.way) and c.amenity = 'townhall'
- GUARDA
- SANTARÉM
- CASTELO BRANCO
* Quantos distritos têm Câmaras Municipais representadas?
Select count(distinct ca.distrito_) as contagem from CÂMARAS2 c, caop2010_900913 ca where c.amenity = 'townhall' and st_contains (ca.the_geom, c.way)
Existem ainda três distritos que não têm nenhuma câmara Municipal representada.
* Número de Câmaras Municipais por distrito?
Select count(distinct ca.municipio) as contagem, ca.distrito_ from CÂMARAS2 c, caop2010_900913 ca where c.amenity = 'townhall' and st_contains (ca.the_geom, c.way) group by distrito_ order by contagem desc
CONCLUSÃO:
- Não parece apropriada a utilização da tag “townhall” para a catalogação de edifícios que não a actual Câmara Municipal, todos os restantes edifícios deveriam ser catalogados como “public_building” ou “building”, dependendo do que representam.
- No caso português, como noutros países, deveria ser criada uma tag que representasse o edifício sede de um nível administrativo inferior ao município, no nosso caso a Junta de Freguesia. Esta tag a criar poderia ser algo como “minor_townhall”.
- A cobertura de Câmaras Municipais em Portugal Continental é baixa já que das 278 existentes, apenas 61 estão representadas, o que significa 21,9% do total. Mesmo neste caso algumas poderão não corresponder efectivamente a Câmaras Municipais devido à catalogação de edifícios como “Antigo Paços do Concelho” como “townhall”.
- O processo de correcção da representação das Câmaras municipais é um processo difícil, pois verifica-se uma grande confusão na catalogação destes edifícios e a utilização de diferentes grafias no nome.