Difference between revisions of "Ligação a uma base de dados Postgresql"

From Geomaster, Lda
Jump to navigation Jump to search
Line 30: Line 30:
  
 
== Importação de dados ==
 
== Importação de dados ==
 
=== De KML para Postgresql ===
 
 
[[Levadas da Madeira]]
 
  
 
=== Do OpenStreetMap para Postgresql ===
 
=== Do OpenStreetMap para Postgresql ===
Line 41: Line 37:
 
=== De shapefile para Postgresql ===
 
=== De shapefile para Postgresql ===
  
[[Importação da CAOP 2016 da Madeira]]
+
[[Importação da CAOP para Postgresql]]
  
 
== Estilos ==
 
== Estilos ==

Revision as of 09:12, 14 January 2019

Ligação ao Postgresql

QGIS → Camada → Add layer → Adicionar Camada PostGIS...

Na primeira vez que se faz uma ligação, é preciso preencher o diálogo como na imagem.

Nome: pdm2017 Endereço: brgqgis.cm-braga.pt Porta: 5432

Autenticação: Básico

Utilizador: (a mesma que usam no AD)

Palavra-Passe: (a mesma que usam no AD)

Captura de ecrã de 2019-01-14 00-48-07.png

Ligação ao Postgresql

Depois de preenchidos os dados da ligação, carrega-se em Conectar.

Aparece a informação em base de dados, organizadas em Esquemas.

  1. Escolher o esquema sigbraga_2016
  2. Opções de pesquisa: procurar as tabelas com 'cadastro'
  3. Opções de pesquisa: procurar

Captura de ecrã de 2019-01-14 01-09-32.png

Importação de dados

Do OpenStreetMap para Postgresql

Importação das farmácias de Braga no OpenStreetMap

De shapefile para Postgresql

Importação da CAOP para Postgresql

Estilos

Dados importados do portal Geosaúde, e convertidos do sistema de coordenadas EPSG:3857 (PSEUDO MERCATOR) para EPSG:3763. ndicador: Nascimentos em mulheres adolescentes

Legenda personalizada.png

Guardar e recuperar estilos em base de dados

Consultas com o Gestor de Base de dados

Consultas simples em SQL

select * from pontos
where fclass = 'pharmacy'

Consultas mais sofisticadas em SQL

select pontos.id, pontos.name as nome, st_buffer(pontos.geom, 500) as geom 
from pontos, caop
where caop.concelho = 'BRAGA' and st_contains(caop.geom, pontos.geom)
and pontos.fclass = 'pharmacy'

Triggers

Notificações Postgresql

Não seria incrível poder atualizar o layer se houver mudanças na base de dados?

http://oslandia.com/en/2017/10/07/refresh-your-maps-from-postgresql/