Difference between revisions of "Ligação a uma base de dados Postgresql"
| (5 intermediate revisions by the same user not shown) | |||
| Line 67: | Line 67: | ||
[[File:Captura de ecrã de 2019-01-14 11-15-56.png]] | [[File: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' | ||
| + | |||
| + | [[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 | + | select * from importacao.freguesias |
| − | where | + | </syntaxhighlight> |
| + | |||
| + | <syntaxhighlight lang="sql"> | ||
| + | select * from importacao.freguesias | ||
| + | where freguesia ilike '%Vítor%' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 80: | Line 114: | ||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
| − | select | + | select importacao.farmacias.* |
| − | from | + | from importacao.farmacias, importacao.freguesias |
| − | where | + | where freguesia ilike '%Vítor%' and st_contains(importacao.freguesias.geom, importacao.farmacias.geom) |
| − | |||
</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)
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.
Carregar uma tabela
- Escolher o esquema
sigbraga_2016 - Usar as opções de pesquisa
- Opções de pesquisa: procurar as tabelas com 'freguesias'
Carregar apenas uma parte da tabela
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
Guardar estilo na base de dados (postgres)
Criar tabelas com o Gestor de Base de Dados
Criar um nova tabela 'arvores' no esquema 'importacao'
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'
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)
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/










