Introdução à Programação em SIG – Tutorial PostGis
Co C on in C oo ns n n si ss id i i de dd er e e ra rr aç aa çõ ç ç õe õõ es ee ss i ini n n ic ii ci cc ia ii ai aa is ii s… ss … 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 desenvolvida no JOSM e posteriormente adicionados adicionados ao OpenStreetMap. 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.
Andreia Soares Fecha
1
Introdução à Programação em SIG – Tutorial PostGis
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:
Andreia Soares Fecha
2
Introdução à Programação em SIG – Tutorial PostGis
- Importar polignos:
- Importar Pontos
Andreia Soares Fecha
3
Introdução à Programação em SIG – Tutorial PostGis
- De modo a confirmar que as tabelas necessárias foram adicionadas, faz-se actualizar.
Andreia Soares Fecha
4
Introdução à Programação em SIG – Tutorial PostGis
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
Andreia Soares Fecha
5
Introdução à Programação em SIG – Tutorial PostGis
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? '%dreia_fecha%' Linguagem SQL - select count (pontos.user)from pontos where pontos.user like '%dreia_fecha%'
Andreia Soares Fecha
6
Introdução à Programação em SIG – Tutorial PostGis
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.
Andreia Soares Fecha
7
Introdução à Programação em SIG – Tutorial PostGis
Tabela Linhas
Query 7 – Qual o número de linhas desenhadas pela user dreia_fecha? ( linhas.user)from from linhas where linhas.user like '%dreia_fecha%' '%dreia_fecha%' Linguagem SQL - select count (linhas.user)
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%'
Andreia Soares Fecha
8
Introdução à Programação em SIG – Tutorial PostGis
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
Andreia Soares Fecha
9
Introdução à Programação em SIG – Tutorial PostGis
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, (linhas.the_geom, pontos.the_geom) pontos.the_geom) from linhas, pontos where linhas.name like '%Rua da Fonte%'and pontos.name like '%Centro de Saúde de AlbergariaA-Velha%'and pontos.user like 'dreia_fecha%' 'dreia_fecha%'
Andreia Soares Fecha
10
Introdução à Programação em SIG – Tutorial PostGis
Tabela - Polígonos oram desenhados pelo user dreia_fecha? Query 12 – Quantos polígnos fforam
Linguagem SQL -
select
count
(polignos.user)from
polignos
where
polignos.user
like
'%dreia_fecha%'
Andreia Soares Fecha
11
Introdução à Programação em SIG – Tutorial PostGis
Tabela - Ctt Query 13 – Selecciona a tabela ctt? ctt shapefile Linguagem SQL - select * from cttshapefile
Andreia Soares Fecha
12
Introdução à Programação em SIG – Tutorial PostGis
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
.
Andreia Soares Fecha
13