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

From Geomaster, Lda
Jump to navigation Jump to search
 
(17 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Na primeira vez que se faz uma ligação, é preciso preencher o diálogo como na imagem.
 
Na primeira vez que se faz uma ligação, é preciso preencher o diálogo como na imagem.
  
 +
<pre>
 
Nome: pdm2017
 
Nome: pdm2017
 
Endereço: brgqgis.cm-braga.pt
 
Endereço: brgqgis.cm-braga.pt
 
Porta: 5432
 
Porta: 5432
 +
</pre>
  
 
Autenticação: Básico  
 
Autenticação: Básico  
Line 15: Line 17:
 
Palavra-Passe: (a mesma que usam no AD)
 
Palavra-Passe: (a mesma que usam no AD)
  
[[File:Captura de ecrã de 2019-01-14 00-48-07.png]]
+
[[File:Captura de ecrã de 2019-01-14 10-14-17.png]]
  
 
=== Ligação ao Postgresql ===
 
=== Ligação ao Postgresql ===
Line 23: Line 25:
 
Aparece a informação em base de dados, organizadas em Esquemas.
 
Aparece a informação em base de dados, organizadas em Esquemas.
  
# Escolher o esquema sigbraga_2016
+
[[File:Captura de ecrã de 2019-01-14 10-16-24.png]]
# Opções de pesquisa: procurar as tabelas com 'cadastro'
+
 
# Opções de pesquisa: procurar
+
==== Carregar uma tabela ====
 +
 
 +
# Escolher o esquema <syntaxhighlight lang="bash" inline>sigbraga_2016</syntaxhighlight>
 +
# Usar as opções de pesquisa
 +
## Opções de pesquisa: procurar as tabelas com 'freguesias'
 +
 
 +
[[File:Captura de ecrã de 2019-01-14 10-19-34.png]]
 +
 
 +
==== Carregar apenas uma parte da tabela ====
  
 
[[File:Captura de ecrã de 2019-01-14 01-09-32.png]]
 
[[File:Captura de ecrã de 2019-01-14 01-09-32.png]]
 +
 +
 +
[[File:Captura de ecrã de 2019-01-14 10-24-26.png]]
  
 
== Importação de dados ==
 
== Importação de dados ==
  
=== De KML para Postgresql ===
+
Criar uma nova ligação à base de dados trabalho.
 +
 
 +
Abrir o '''Gestor de Base de Dados'''
  
[[Levadas da Madeira]]
+
Criar um novo esquema 'importacao', na base de dados trabalho.
  
 
=== Do OpenStreetMap para Postgresql ===
 
=== Do OpenStreetMap para Postgresql ===
  
[[Importação de dados GeoJSON a partir do OpenStreetMap]]
+
[[Importação das farmácias de Braga no OpenStreetMap]]
  
 
=== De shapefile para Postgresql ===
 
=== De shapefile para Postgresql ===
  
[[Importação da CAOP 2016 da Madeira]]
+
[[Importação da CAOP para Postgresql]]
  
 
== Estilos ==
 
== Estilos ==
  
Dados importados do portal [http://www.geosaude.dgs.pt/websig/v5/portal2/public/index.php?par=geosaude Geosaúde], e convertidos do sistema de coordenadas EPSG:3857 (PSEUDO MERCATOR) para EPSG:3763. ndicador: Nascimentos em mulheres adolescentes
+
Criar um estilo para farmácias
 +
 
 +
[[File:Captura de ecrã de 2019-01-14 11-13-30.png]]
 +
 
 +
Guardar estilo na base de dados (postgres)
 +
 
 +
[[File:Captura de ecrã de 2019-01-14 11-15-56.png]]
  
[[File:Legenda personalizada.png]]
+
== Criar tabelas com o Gestor de Base de Dados ==
  
[[Guardar e recuperar estilos]] em base de dados
+
Criar um nova tabela 'arvores' no esquema 'importacao'
 +
 
 +
[[File: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'.
 +
 
 +
# Selecionar a tabela
 +
# Tabela → Mover para esquema → ecologia
 +
# fazer o refresh dos layers
 +
 
 +
Criar um novo esquema 'urbanismo'
 +
 
 +
[[File:Captura de ecrã de 2019-01-14 11-35-58.png]]
 +
 
 +
 
 +
[[File:Captura de ecrã de 2019-01-14 11-38-35.png]]
  
 
== Consultas com o Gestor de Base de dados ==
 
== 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 ===
 
=== Consultas simples em SQL ===
  
 
<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 63: 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/