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

From Geomaster, Lda
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 103: Line 103:
  
 
<syntaxhighlight lang="sql">
 
<syntaxhighlight lang="sql">
select * from pontos
+
select * from importacao.freguesias
where fclass = 'pharmacy'
+
</syntaxhighlight>
 +
 
 +
<syntaxhighlight lang="sql">
 +
select * from importacao.freguesias
 +
where freguesia ilike '%Vítor%'
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 110: Line 114:
  
 
<syntaxhighlight lang="sql">
 
<syntaxhighlight lang="sql">
select pontos.id, pontos.name as nome, st_buffer(pontos.geom, 500) as geom
+
select importacao.farmacias.*
from pontos, caop
+
from importacao.farmacias, importacao.freguesias
where caop.concelho = 'BRAGA' and st_contains(caop.geom, pontos.geom)
+
where freguesia ilike '%Vítor%' and st_contains(importacao.freguesias.geom, importacao.farmacias.geom)
and pontos.fclass = 'pharmacy'
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
[[File:Captura de ecrã de 2019-01-14 11-43-06.png]]
  
 
== Triggers ==
 
== Triggers ==

Latest revision as of 11:43, 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 10-14-17.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.

Captura de ecrã de 2019-01-14 10-16-24.png

Carregar uma tabela

  1. Escolher o esquema sigbraga_2016
  2. Usar as opções de pesquisa
    1. Opções de pesquisa: procurar as tabelas com 'freguesias'

Captura de ecrã de 2019-01-14 10-19-34.png

Carregar apenas uma parte da tabela

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


Captura de ecrã de 2019-01-14 10-24-26.png

Importação de dados

Criar uma nova ligação à base de dados trabalho.

Abrir o Gestor de Base de Dados

Criar um novo esquema 'importacao', na base de dados trabalho.

Do OpenStreetMap para Postgresql

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

De shapefile para Postgresql

Importação da CAOP para Postgresql

Estilos

Criar um estilo para farmácias

Captura de ecrã de 2019-01-14 11-13-30.png

Guardar estilo na base de dados (postgres)

Captura de ecrã de 2019-01-14 11-15-56.png

Criar tabelas com o Gestor de Base de Dados

Criar um nova tabela 'arvores' no esquema 'importacao'

Captura de ecrã de 2019-01-14 11-24-16.png

Criar um novo esquema 'ecologia'

Mover a tabela do esquema 'importacao' para o esquema 'ecologia'.

  1. Selecionar a tabela
  2. Tabela → Mover para esquema → ecologia
  3. fazer o refresh dos layers

Criar um novo esquema 'urbanismo'

Captura de ecrã de 2019-01-14 11-35-58.png


Captura de ecrã de 2019-01-14 11-38-35.png

Consultas com o Gestor de Base de dados

uma freguesia...

as frarmacias dessa freguesia...

um buffer à volta das farmacias...

contar as farmacias por freguesia


Consultas simples em SQL

select * from importacao.freguesias
select * from importacao.freguesias
where freguesia ilike '%Vítor%'

Consultas mais sofisticadas em SQL

select importacao.farmacias.*
from importacao.farmacias, importacao.freguesias
where freguesia ilike '%Vítor%' and st_contains(importacao.freguesias.geom, importacao.farmacias.geom)

Captura de ecrã de 2019-01-14 11-43-06.png

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/