tutorial postgis andreia fecha

13
Introdução à Programação em SIG – Tutorial PostGis Andreia Soares Fecha 1 Considerações iniciais… A concepção deste segundo trabalho consiste no desenvolvimento de um tutorial que exponha os procedimentos e a metodologia utilizada para a sua concepção de uma base de dados através da linguagem SQL, com o suporte do software PostGis. Este trabalho vem no seguimento do primeiro, uma vez que a concepção dos dados fora desenvolvida no JOSM e posteriormente adicionados ao OpenStreetMap. Fig.1 - Visão geral da área de intervenção, após editar as vias de acesso secundárias, cursos de água e alguns pontos de interesse. Neste sentido, os dados resultantes do desenho do OpenStreetMap, como se pode observar na fig.1, foram importados para o PostGis, de modo a poder questiomnar a base de dados através da linguagem SQL.

Upload: geodf

Post on 19-Jun-2015

1.781 views

Category:

Documents


0 download

DESCRIPTION

2º Trabalho IPROGSIG

TRANSCRIPT

Page 1: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 1

CCCCoooonnnnssssiiiiddddeeeerrrraaaaççççõõõõeeeessss iiiinnnniiiicccciiiiaaaaiiiissss…………

A concepção deste segundo trabalho consiste no desenvolvimento de um tutorial que exponha os

procedimentos e a metodologia utilizada para a sua concepção de uma base de dados através da

linguagem SQL, com o suporte do software PostGis.

Este trabalho vem no seguimento do primeiro, uma vez que a concepção dos dados fora

desenvolvida no JOSM e posteriormente adicionados ao OpenStreetMap.

Fig.1 - Visão geral da área de intervenção, após editar as vias de acesso secundárias, cursos de água e

alguns pontos de interesse.

Neste sentido, os dados resultantes do desenho do OpenStreetMap, como se pode observar na

fig.1, foram importados para o PostGis, de modo a poder questiomnar a base de dados através da

linguagem SQL.

Page 2: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 2

No entanto, primeiramente, os dados foram importados para o programa Quantum Gis, de modo a

converter a geometria para shapefiles, para posteriormente serem importados para o PostGis /

PgAdmin III.

Neste sentido utilizei os seguintes procedimentos:

- Importar linhas:

Page 3: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 3

- Importar polignos:

- Importar Pontos

Page 4: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 4

- De modo a confirmar que as tabelas necessárias foram adicionadas, faz-se actualizar.

Page 5: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 5

Inquirição à base de dados:

Tabela Pontos

Query 1 – Selecciona a tabela pontos?

Linguagem SQL - select * from pontos

Query 2 – Selecciona somente a coluna name com os elementos da tabela pontos?

Linguagem SQL - select name from pontos

Page 6: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 6

Query 3 – Qual o nome a as coordenadas dos elementos constantes nas colunas da tabela

pontos?

Linguagem SQL - select name, the_geom from pontos

Query 4 – Qual o número de pontos realizados pelo user dreia_fecha, constantes na tabela

pontos?

Linguagem SQL - select count (pontos.user)from pontos where pontos.user like '%dreia_fecha%'

Page 7: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 7

Query 5 – Qual o nome dos pontos, a geometria e as coordenadas dos pontos realizados,

constantes na tabela pontos?

Linguagem SQL - select name, st_astext(the_geom) from pontos

Query 6 – Qual a designação completa dos pontos de interesse que começa pela letra “C”,

constantes na tabela pontos?

Linguagem SQL - select * from Pontos where name like'C%'

Segundo a consulta os resultados foram: o Centro de Saúde, a Central de Camionagem e

o Colégio de Albergaria.

Page 8: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 8

Tabela Linhas

Query 7 – Qual o número de linhas desenhadas pela user dreia_fecha?

Linguagem SQL - select count (linhas.user)from linhas where linhas.user like '%dreia_fecha%'

Query 8 – Qual o comprimento máximo da linha desenhada pelo user dreia_fecha?

Linguagem SQL - select max (length(the_geom)), user from linhas where linhas.user like

'%dreia_fecha%'

Page 9: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 9

Query 9 – Qual o código postal das estradas inseridas pelo utilizador "dreia_fecha", ordenado

pelo nome da rua?

A realização deste procedimento resulta da tabela linhas que já constava do projecto, e da tabela

CTT que foi posteriormente adicionada ao projecto.

Linguagem SQL -

select linhas.name as name, linhas.user as name, cttshapefile.cp4 as Codigo_Postal from linhas,

cttshapefile

where linhas.the_geom && cttshapefile.the_geom and

Contains(linhas.the_geom, linhas.the_geom) and linhas.user like '%dreia_fecha%' order by

linhas.name

Page 10: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 10

Query 10 – Quais são os rios desenhados pelo user dreia_fecha?

Linguagem SQL - select * from linhas where waterway like'%river%'

Query 11 – A que distância se encontra a Rua da Fonte da tabela linhas, do Centro de Saúde de

Albergaria – A-Velha da tabela pontos, desenhados pelo user dreia_fecha?

Linguagem SQL -

select linhas.name, pontos.user, pontos.name pontos, pontos.amenity, st_distance

(linhas.the_geom, pontos.the_geom) from linhas, pontos

where linhas.name like '%Rua da Fonte%'and pontos.name like '%Centro de Saúde de Albergaria-

A-Velha%'and pontos.user like 'dreia_fecha%'

Page 11: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 11

Tabela - Polígonos

Query 12 – Quantos polígnos foram desenhados pelo user dreia_fecha?

Linguagem SQL - select count (polignos.user)from polignos where polignos.user like

'%dreia_fecha%'

Page 12: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 12

Tabela - Ctt

Query 13 – Selecciona a tabela ctt?

Linguagem SQL - select * from cttshapefile

Page 13: Tutorial PostGis Andreia Fecha

Introdução à Programação em SIG – Tutorial PostGis

Andreia Soares Fecha 13

Query 14 – Qual o código postal do nome das vias da tabela linhas?

Linguagem SQL - select linhas.name as name, cttshapefile.cp4 as Codigo_Postal from linhas,

cttshapefile

.