Upload
geodf
View
1.781
Download
0
Embed Size (px)
DESCRIPTION
2º Trabalho IPROGSIG
Citation preview
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.
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:
Introdução à Programação em SIG – Tutorial PostGis
Andreia Soares Fecha 3
- Importar polignos:
- Importar Pontos
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.
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
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%'
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.
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%'
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
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%'
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%'
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
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
.