← Artigos
Nazaré

O mapa do licenciamento urbanístico na Câmara da Nazaré

1 834 deliberações, 29 atas em silêncio.

2017–2026: 2 017 deliberações de licenciamento urbanístico, três quartos delas depois de 2021

Entre a primeira ata indexada (6 de Janeiro de 2017) e a última (10 de Março de 2026), a Câmara Municipal da Nazaré produziu 2 017 deliberações com conteúdo de licenciamento, urbanismo, moradia, edificação ou loteamento — apurado sobre 245 atas e 7 689 deliberações no total. Ou seja: cerca de uma em cada quatro decisões do executivo cabe neste domínio.

A fotografia é desigual. Durante os mandatos 2017–2021 o licenciamento urbanístico concentrou-se em poucas atas, geralmente monotemáticas. A partir de Outubro de 2021 tornou-se rotina de quase todas as sessões.

Query (polis_ai v0.7, quantitative_mode): "quantas deliberações de licenciamento urbanístico em 2023?" SQL gerado: SELECT COUNT(DISTINCT f.chunk_id) FROM facts f JOIN fact_topicos ft … WHERE tipo_chunk='deliberacao' AND label_deac LIKE '%licenciamento urbanistico%' AND data_reuniao BETWEEN '2023-01-01' AND '2023-12-31'. Resultado: 24. A pipeline devolveu citações para as 5 atas-fonte mais recentes (28/2023, 27/2023, 24/2023, 23/2023 — com páginas exactas).

Volume anual: o ponto de inflexão foi 2022

AnoAtasAtas c/ licenciamentoDeliberações totaisDeliberações de licenc.% do total
201728774826134,9%
201829558423139,6%
20192721895629,6%
20202752486124,6%
2021241164414923,1%
202227211 04424123,1%
202326231 29332825,4%
202428241 37129721,7%
202524161 37834625,1%
2026*551904724,7%

Dados até 10/03/2026. Fonte: facts.db tabela facts (cruzada com fact_topicos + topicos por padrões %licenc%, %urban%, %moradia%, %edific%, %loteamento%).

Dois factos saltam à vista. Primeiro, a quebra 2019–2020: apenas 2 e 5 atas com deliberações de licenciamento, quando a média dos anos adjacentes ronda as 15 a 20. O total de deliberações em 2019 caiu para 189 (contra 748 em 2017) — é sparsity genuína, não falha de extracção. Factor provável: reuniões mais curtas nos períodos de confinamento e final de mandato. Segundo: a partir de 2022 o licenciamento urbanístico instala-se em 21 das 27 atas anuais, e em 2024 em 24 das 28. Deixa de ser um ponto ocasional e passa a ser matéria recorrente do executivo.

Por mandato: mais licenciamentos, diluídos em mais atas

MandatoAtas c/ licenc.Chunks de licenciamento
2017 – Out 202130703
Out 2021 – Out 2025821 145
Out 2025 – ...9169

No mandato 2017–2021, 703 chunks de licenciamento distribuíram-se por apenas 30 atas — média de 23 chunks por ata em que o tema entrou. No mandato seguinte, 1 145 chunks repartiram-se por 82 atas — cerca de 14 chunks por ata. A Câmara não passou a delegar menos: passou a decidir menos por sessão e a regularizar o tema em cada agenda.

Tipologia: edificação manda, moradia unifamiliar é metade disso

Contabilizando por tópicos extraídos das deliberações (tabela topicos cruzada com fact_topicos, filtros literais em label_deac):

Categoria de obraDeliberações
Edificação (geral)354
Legalização122
Urbanização115
Moradia unifamiliar103
Loteamento95
Caducidade de licença67

Legalização ocupa o segundo posto — a taxa a que a Câmara tem de voltar atrás e enquadrar obras já feitas é comparável à taxa a que aprova novas urbanizações. Caducidade, um sinal de obras iniciadas mas não concluídas, é suficientemente frequente para merecer tópico próprio (67 registos).

Alojamento local: picos de 20 licenciamentos por ano

Alojamento local é um tópico paralelo mas relevante para o urbanismo da Nazaré. Entre 2018 e 2025, a Câmara deliberou entre 10 e 20 licenciamentos de alojamento local por ano, com um mínimo pontual de 10 em 2019 e três anos empatados no topo (2018, 2022, 2023 — 20 cada). Total no período: 136.

Geografia: onde se constrói

Das entidades de tipo local associadas a deliberações de licenciamento urbanístico (tabela entidades + fact_entidades), o quadro é o esperado:

LocalidadeMenções em deliberações
Famalicão (+ variantes)84
Valado dos Frades51
Pederneira30
Sítio da Nazaré27
Serra da Pescaria14
Casal Mota14
Praia da Nazaré13
Raposos10
Fanhais (+ Fanhaes)14

Menções à "Nazaré" isolada foram excluídas — 357 registos, quase todos genéricos.

A Famalicão (da Nazaré) continua a absorver o maior número de referências explícitas em actos de licenciamento, seguida de Valado dos Frades. Pederneira e Sítio, os dois núcleos históricos, aparecem próximos. Praia da Nazaré, pelo contrário, tem pouca presença no registo — não porque não se licencie lá, mas porque os pontos na praia tendem a ser descritos por topónimo de rua ou propriedade, não por bairro.

A Divisão de Planeamento Urbanístico pesa

A entidade mais citada em chunks de deliberação de licenciamento é a Divisão de Planeamento Urbanístico — 810 menções. Segue-se Paulo Reis (387) e Fátima Duarte (334), ambos intervenientes recorrentes. A Divisão é referida não apenas como departamento técnico mas como autor do parecer: os argumentos "informação técnica favorável" (73), "informação técnica da divisão de planeamento urbanístico" (56) e "parecer técnico favorável" (41) estão entre os mais citados. Nove em cada dez deliberações de licenciamento encostam-se a um parecer que vem deste gabinete.

Votação: aparente unanimidade, divergência sistemática do PSD

A estrutura de fact_votes regista declarações de voto fundamentadas (não os totais de deliberação). No corpus inteiro, a distribuição é esta:

PartidoFavorávelContraAbstenção
PSD4374343
PCP/CDU5861212
PS014
Chega100

O PSD é o único partido cuja soma de votos contra ou abstenções ultrapassa um quinto do total — 86 em 523 declarações, 16,4%. No PCP/CDU, a mesma proporção é 4%. O PS declara voto muito pouco (só cinco vezes no período), sempre para contra ou abstenção.

Restringindo a declarações de voto associadas a pontos com tópico de licenciamento urbanístico (35 para o PSD, 8 para o PCP/CDU, 11 para o PS), o padrão fica ainda mais marcado no PSD: 7 contra, 6 abstenções e 5 favoráveis justificadas — isto é, em 18 declarações oficiais do PSD sobre licenciamento, 13 foram para registar desconforto. O PCP/CDU, em chunks de licenciamento, declara 3 contra, 1 abstenção e 1 favorável.

Outliers: quando a oposição declara um voto por cada ponto da agenda

Há pontos de agenda com um número de declarações anormalmente elevado:

  • Ponto 41/2024 e ponto 58/2024, ambos na ata 02/2024 (22/01/2024): 36 e 35 chunks de declaração de voto.
  • Pontos 152/2023 e 141/2023, ata 05/2023 (27/02/2023): 35 chunks cada.
  • Uma série contígua (425/2023 a 439/2023), ata 15/2023 (03/07/2023): 33 chunks por ponto.

O padrão é claro: em sessões de "tapete" (blocos de 15+ licenciamentos votados em série), o PSD apresenta uma única declaração de voto que cobre o bloco inteiro, e a extracção de factos agarra-se a cada ponto referenciado. A peça materialmente é uma, mas estatisticamente expande-se. Vale a pena ler uma: Ata 07/2023, 27/03/2023, traz um bloco de 17 pontos consecutivos (216/2023 a 233/2023) todos com a mesma declaração "favorável, mas..." do PSD.

O que a unanimidade esconde

Quando um vereador apresenta uma declaração de voto favorável, a deliberação vai constar como unanimidade — mas os 1 711 chunks de declaração de voto no corpus (1 711 em 20 809, ou 8,2% de todos os factos extraídos) contam outra história. O corpus revela declarações favoráveis usadas para vincar posições: "boa-fé do eleito" (21), "conformidade legal" (38), "cumprimento legal" (39) são argumentos recorrentes em declarações favoráveis do PSD. Serve, na prática, de carimbo diferenciador: "votei a favor, mas quero registado que só por respeito pelo parecer técnico".

O PCP/CDU tem 586 declarações favoráveis e o PSD 437 — conjuntamente são 80% de todas as declarações de voto produzidas no período. É um executivo com maioria de esquerda onde a oposição escolhe fundamentar o voto favorável em vez de votar contra: os 43 votos PSD claramente contra são excepção, não regra.

Sazonalidade

Por mês, as deliberações de licenciamento distribuem-se de forma não-uniforme: Junho (233), Fevereiro (206), Outubro (221) e Novembro (217) puxam para cima; Julho (101), Agosto (104), Maio (128) e Dezembro (135) puxam para baixo. A depressão de Verão é o padrão esperado (menos reuniões, cadência de férias). Mas Junho destacar-se no topo, pouco antes dessa paragem, sugere que há uma lógica de limpeza de agenda antes do Verão.

Metodologia e limites

Pipeline utilizada. alva v0.7 (2026-04-22): count.py --natural (NL → SQL contra facts.db, qwen3-35b-a3b local via llama.cpp em :8080) + polis_ai.py em quantitative_mode (mesma NL → SQL, mas com bloco de citações ancorado às top-5 fontes por data descendente). Para verificação cruzada e consultas estruturais (agregados multi-coluna, GROUP BY aninhados), SQL directo em SQLite read-only.

Tabelas de facts.db efectivamente usadas.

  • atas — data, n.º, fonte PDF, número de páginas.
  • factstipo_chunk ∈ {intervencao, deliberacao, declaracao_voto}, speaker_canonical, partido, pagina_inicio/fim, data_reuniao.
  • fact_votes — apenas liga a declaracao_voto, não a deliberacao: para cada chunk, ponto(s) e vote_type.
  • fact_topicos + topicos — rótulos normalizados (label_deac com deaccent).
  • fact_entidades + entidades — para agregação geográfica (tipo local).
  • fact_argumentos + argumentos — para a análise dos fundamentos de voto.

Consultas executadas: 22 queries (13 via count.py --natural ou polis_ai.py quantitative_mode, 9 via SQL directo). Total de linhas de resultado inspeccionadas: ~1 200.

O que a sidecar não permitiu responder.

  1. Outcome da deliberação (deferido, indeferido, adiado). fact_votes só regista declarações fundamentadas, não o sentido de cada deliberação. O status da decisão não está estruturado em coluna própria: teria de ser extraído do corpo do chunk por pesquisa textual, não SQL.
  2. Número de fogos / área bruta licenciada / unidades habitacionais. Nenhum campo numérico de dimensão da obra foi extraído. Indexado só pelo tipo ("moradia unifamiliar"), não pela escala.
  3. Requerente (nome). A tabela entidades apanha pessoas mencionadas, mas não distingue requerente de interveniente. Não é possível construir ranking de promotores.
  4. Valor da caução / taxas. Fora do schema.

Modos de falha reproduzíveis identificados.

  • Falsa coluna em NL → SQL. Pergunta "top 10 localidades mencionadas em deliberações de licenciamento urbanístico" produziu SQL com LOWER(e.label_deac) — coluna que a tabela entidades não tem (só topicos e argumentos a têm). Workaround: reformular para LOWER(e.label) ou usar SQL directo. O schema embutido no prompt é genérico o suficiente para a LLM alucinar colunas por simetria.
  • Falso zero por filtro literal demasiado estreito. "declarações de voto contra do PSD sobre licenciamento urbanístico" devolveu 0: o LLM gerou LIKE '%licenciamento urbanistico%' literal. O termo certo no corpus é "licenciamento de obras" (646 chunks) ou "licenciamento" simples (284). O NL → SQL não expande sinónimos. Workaround: ampliar manualmente o filtro de tópico para %licenc% OR %urban%.
  • Over-count por fan-out em declarações multi-ponto. Pontos 41/2024, 58/2024, etc. aparecem com 35+ chunks porque uma única declaração de voto cobre um bloco de licenciamentos. COUNT(DISTINCT f.chunk_id) corrige, mas só se o analista escolher a cláusula certa — o LLM não o faz sempre.

Qualidade dos dados. OCR dos PDFs é bom (variantes "Famalicão" / "Famalicao" / "Famalícão" e "Fanhais"/"Fanhaes" coexistem na tabela de entidades; no relatório fizemos soma manual). Partido em facts está preenchido só em declarações de voto e em algumas intervenções (19 152 nulls de 20 809 — esperado, a maioria das deliberações é colectiva).

Reprodutibilidade. Cada número desta peça tem uma query em count.py ou um SELECT contra facts.db. A pipeline quantitativa é idempotente para o mesmo conteúdo de facts.db — o re-embedding de 2026-04-20 não alterou estes agregados porque fact_topicos/fact_votes são população independente do índice vectorial.

Próximos passos analíticos sugeridos. (i) extracção adicional para "sentido da deliberação" (campo novo em facts ou tabela sidecar decisoes); (ii) normalização de topónimos numa coluna local_canonical na tabela entidades; (iii) resolução de entidades para requerentes vs. responsáveis técnicos.


← Todos os artigos