PDIS - Recurso

Voluntário

Boa gente,

daqui a 15 dias há uma conferência sobre SIG, na bonita cidade de Guimarães. Mais informação em http://agile2010.dsi.uminho.pt.

Se houver algum voluntário para me ajudar naquelas coisas práticas de última hora, durante a conferência (copiar as apresentações das PENs para o computador, ver se os nomes dos oradores estão nas mesas, águinhas, etc), em troca terá acesso ao evento sem pagar a taxa de inscrição.

Preciso de uma resposta ASAP, pois estou a pedir voluntários dos meus mestrados.

Continuação de bom trabalho,

Jorge

Trabalho Queries - juliana lopes

O trabalho consistiu em transferir as entidades criadas em OSM para uma base de dados SQL, e executar algumas inquirições à mesma. A metodologia consistiu em utilizar o apoio do software QuantumGIs para converter os dados OSM para shp e um software gshp2pgsql para converter shp para sql. Foi criada uma base de dados nova denominada UA para onde foram tranferidas 3 tabelas com trés tipos de geometria (pontos, linhas e polígonos).

Inquirições:
query 1 - Número de pontos editados pelo utilizador juliana

















query 2 - Número de linhas não editadas pelo utilizador juliana


















query 3 - área e nome de cada polígono editado por juliana
















query 4 - Somatório do comprimento das linhas editadas por juliana










query 5 - Quais os polígonos, editados por juliana, localizados a menos de 100 metros da Rua de Santiago
(necessário criar tabela buffer100santiago)





















query 6 - Quantas linhas são editadas por juliana, pedonais (footway) e residenciais (residential)











Query 7 - Quais as coordenadas da Bomba de Gasolina com GPL

2º Trabalho_IPSIG

Hellooooooooooo!!!

Na hiperligação é possível verificar o tutorial desenvolvido para este segundo trabalho de IPSIG.




Tutorial PostGis Andreia Fecha

Ana Costa - 2º Trabalho IPSIG :Tutorial PostGis

Boas,

Neste 2º trabalho de IPSIG foi construído uma base de dados em PostGIS, de acordo com o trabalho realizado em OSM.

O Tutorial em baixo (PDF) explica a metodologia e procedimentos realizados, desde a vectorização na ferramenta de edição JOSM, do OpenStreetMap, até à introdução dos dados em PostGIS.

Tutorial Ana Costa

2º Trabalho de IPSIG - Paula Ribeiro

Em anexo segue o link para o tutorial com os passos de importação do OpenStreetMap para PostGis e as queries feitas à base de dados.

http://www.sendspace.com/file/87yna4

2º trabalho IPSIG (OSM) - Pedro Alves

Para demonstrar o procedimento utilizado para importar os dados do OpenStreetMap para o PostGis, elaborei um pequeno tutorial que explica a metodologia utilizada, assim como efectua uma pequena introdução ao funcionamento do PostGis.



Tutorial PostGis.pdf

2.º Trabalho de IPSIG - Hélder Pereira

Passos que executei:

- Abri o Open Steet Map e exportei a minha área de Trabalho (Arcozelo, V.N.Gaia), gravando este em formato.osm.

- De seguida, adicionei o ficheiro importado anteriormente no Quantom Gis, através do plugin do OSM, o qual permite adicionar e importar informação referente do Open Street Map. Todavia depois da informação se encontrar no Quantom Gis, podemos observar que esta encontra-se subdividida em linhas, pontos e polignos, porém esta ainda não se encontrava, em formato shapefile, tornado assim necessário, seleccionar cada um dos formatos e fazer “save as shapefile”.

- Contudo o ficheiro encontra-se num sistema de coordenadas geográficas e precisamos de obter coordenadas métricas, para obtermos as distâncias correctas. Para tal recorri ao “export to new project” e atribui o sistema EPSG: 3763 (ETRS89/Portugal TM06).

- Para importar esta informação para PostgreSQL, criei uma nova base de dados ao qual dei o nome de trabalho, e evoquei na consola o seguinte comando: “gshp2pgsql”. De seguida, aparece-nos uma janela, onde importamos as shapefiles para o PostgreSQL e depois é só necessário elaborar questões, através das querys.

Elaboração das querys:

Query1 – Conta o número de linhas, pontos e polígonos que possui.

select count (*) from linhas

select count (*) from pontos

select count (*) from poligonos


Query2 – Diz-me as linhas, pontos e polígonos que eu editei com o nome Hélder Pereira.

select linhas.gid, linhas.user from linhas where linhas.user like '%Hélder Pereira%'

select pontos.gid, pontos.user from pontos where pontos.user like '%Hélder Pereira%'

select poligonos.gid, poligonos.user from poligonos where poligonos.user like '%Hélder Pereira%'



Query3 – Conta todas as linhas, pontos e polígonos que elaborei.

select count (*), user from linhas where linhas.user like '%Hélder Pereira%'

select count (*), user from pontos where pontos.user like '%Hélder Pereira%'

select count (*), user from poligonos where poligonos.user like '%Hélder Pereira%'


Query4 – Demonstra as ruas e os pontos que eu editei, mas também o nome destes.

select linhas.user, name from linhas where linhas.user like '%Hélder Pereira%'

select pontos.user, name from pontos where pontos.user like '%Hélder Pereira%'


Query 5 - Total do número de linhas e polignos elaborados por mim.

select sum (st_length(the_geom)), user from linhas where linhas.user like '%Hélder Pereira%'

select sum (st_area(the_geom)), user from poligonos where poligonos.user like '%Hélder Pereira%'


Query 6 – Média do comprimento das linhas e das áreas dos polígonos

select avg (st_length(the_geom)), user from linhas where linhas.user like '%Hélder Pereira%'

select avg (st_area(the_geom)), user from poligonos where poligonos.user like '%Hélder Pereira%'


Query 7 – Linhas com comprimento máximo e mínimo e polígonos com área máxima e minima.

select max (st_length(the_geom)), user from linhas where linhas.user like '%Hélder Pereira%'

select min (st_length(the_geom)), user from linhas where linhas.user like '%Hélder Pereira%'

select max (st_area(the_geom)), user from poligonos where poligonos.user like '%Hélder Pereira%'

select min (st_area(the_geom)), user from poligonos where poligonos.user like '%Hélder Pereira%'



Query 8 - Selecção de todas as linhas, pontos e polígonos cujo código postal comece por "4"

select linhas.name, linhas.user, cp4 from linhas, cttshapefile where st_contains (cttshapefile.the_geom, linhas.the_geom)and cp4 like '4%' and linhas.user like '%Hélder Pereira%'

select pontos.name, pontos.user, cp4 from pontos, cttshapefile where st_contains (cttshapefile.the_geom, pontos.the_geom)and cp4 like '4%' and pontos.user like '%Hélder Pereira%'

select poligonos.name, poligonos.user, cp4 from poligonos, cttshapefile where st_contains (cttshapefile.the_geom, poligonos.the_geom)and cp4 like '4%' and poligonos.user like '%Hélder Pereira%’

Trabalho nº2 – Marcos Correia

O presente trabalho é a continuação do trabalho 1, em que era pedido a vectorização de um determinada área:

A partir do Site OpenStreetMaps exportou-se um ficheiro .osm referente à imagem sendo este convertido em shapefile no Quantum Gis. No ArcMap modificou-se as coordenadas existentes de graus para metros (Hayford Gauss IGEOE).


Os dados foram em seguidas inseridos numa base de dados no software Postgres.


Após a criação e actualização da base de dados inquiriu-se (criaram-se querys) a base de dados utilizando a linguagem SQL.

Decidiu-se dividir as querys em quatro (4) tipos: pontos, linhas, polígonos e complexas (no sentido de se conjugar diferentes tipos de shapefiles).


Pontos:

- Query 1:

Qual o nome e o tipo de pontos criados pelo utilizador?

select "user", name, amenity from pontos_project where "user"

like'Markus Javas' order by amenity asc

Resposta:

Linhas:

- Query 2:

Qual foi o número de linhas feita pelo utilizador Markus Javas?

select count("user") from linhas_project where "user" like

'Markus Javas'

Resposta:




- Query 3:

Qual foi a distância (em metros) vectorizada pelo utilizador Markus Javas?

select sum(st_length(the_geom)), user from linhas_project where

linhas_project.user
like 'Markus Javas'

Resposta:


- Query 4:

Qual o comprimento das vias efectuado pelo utilizador Markus Javas
sem valor nulo?

select st_length(the_geom), linhas_project.user,

linhas_project.name from linhas_project where

linhas_project.user ilike 'Markus Javas'
and not(linhas_project.name like 'null')

and linhas_project.name like '%%'
order by st_length(the_geom) desc

Resposta:

(P.S: Apenas uma amostra da resposta obtida está representada)

- Query 5:

Qual o comprimento da maior via?
select max(st_length(the_geom)) from linhas_project

Resposta:


Polígonos:

- Query 6:

Qual o número de polígonos feito pelo utilizador Markus Javas?

select count(user) from poligonos_project where "user" like

'Markus Javas'



Resposta:




- Query 7:

Qual a área total vectorizada pelo utilizador Markus Javas?

select sum(st_area(the_geom)), user from

poligonos_project wherepoligonos_project.user

like 'Markus%'

Resposta:


- Query 8:
Quais os perímetros dos polígonos feitos pelo utilizador Markus Correia. ordenadas ascendentemente pelo perímetro?
select st_perimeter(the_geom), "user" from poligonos_project

where "user" ilike 'Markus Javas'
order by st_perimeter(the_geom) asc
Resposta:

- Query 9:

Qual a área com menor valor?
select min(st_area(the_geom)) from poligonos_project

Resposta:



Complexas:


- Query 10:

Qual a distância dos bares que se encontram a menos de 200m da rua pedonal à mesma rua?
select linhas_project.highway, pontos_project.amenity, 

st_distance(linhas_project.the_geom, pontos_project.the_geom)
from linhas_project, pontos_project
where pontos_project.amenity like 'bar' and linhas
_project.highway like 'footway'

and st_distance(linhas_project.the_geom,
pontos_project.the_geom) <200


Resposta:


- Query 11

Há alguma intersecção entre pontos e polígonos?
(select name, tags from pontos_project) intersect

(select name, tags from poligonos_project)

Resposta:



- Query 12:

Quais são os pontos existentes com código postal igual a 4520 e sem valores nulos?
select name, cp4 from pontos_project, cttshape_project where

cp4 like '4520' and not
(name like 'null') and name like '%%'

Resposta:



Trabalho de Marcos Correia





Trabalho 2ª Fase- Raquel Freitas

Após da publicação da informação no site Openstreetmap, através das ferramentas de edição do JOSM e o próprio Openstreetmap, procedeu-se à inserção dessa mesma informação no sistema de base de dados do Postgres.
Procedimentos:
- Abrir o ficheiro criado no editor JOSM (extensão *osm) na ferramenta Quantum Gis, a partir do comando “Load OSM from file”;
- Gravar as respectivas layers (estradas e pontos) em formato shape file, atribuindo-lhes o respectivo sistema de coordenadas planimétrico – ETRS89/UTM Zone 29N (correspondente ao código 25829);
- Converter os ficheiros shape files para o formato SQL, a partir da extensão gshp2pgsql. Neste procedimento é necessário ter especial consideração aos seguintes itens: à escrita, de forma a efectuar a ligação correcta à base de dados; à definição do sistema de coordenadas (SRID-25829); e à codificação ou encoding, de modo que a acentuação e os caracteres especiais utilizados na língua portuguesa sejam legíveis na leitura dos atributos da base de dados.
Após a importação da informação para a base dados, procedeu-se à elaboração das queries, baseado na linguagem de programação sql, a partir do comando “Execute arbitrary SQL queries”:
Perguntas efectuadas à base de dados:
1.Determinar o número de entradas, cujo utilizador se chama "Raquel"?
select count(*) as Quantidade from estradas
where estradas.user ilike '%raquel%'

2.Seleccionar o nome da rua, sua tipologia e determinar quais os comprimentos das estradas inseridas pelo utilizador "Raquel", limitando o seu resultado a 4 linhas?
select estradas.highway as Tipologia_Via, st_length(estradas.the_geom) as Comprimento from estradas
where estradas.user ilike '%raquel%' order by estradas.highway limit 4


3.Determinar o somatório dos comprimentos em Km das estradas inseridas pelo utilizador "Raquel"?
select sum(st_length(estradas.the_geom))/100 as Somatorio from estradas
where estradas.user ilike '%raquel%'


4.Qual o código postal das estradas inseridas pelo utilizador "Raquel", ordenado pelo nome da rua e limitando o seu resultado em 4 linhas?
select estradas.name as Nome_Rua, cttshapefile.cp4 as Codigo_Postal from estradas, cttshapefile
where estradas.the_geom && cttshapefile.the_geom and
Contains(estradas.the_geom, estradas.the_geom) and estradas.user ilike '%raquel%' order by estradas.name limit 4


5.Quais as estradas que se encontram na proximidade (distância inferior a 200m) do reservatorio de Urgezes?
select estradas.name as Nome_Rua, estradas.highway as Tipologia from estradas, pontos
where pontos.name ilike '%urgezes%' and st_intersects(st_buffer(pontos.the_geom,200),estradas.the_geom) order by estradas.name


6.Determinar quais as ruas que terminam com a letra”a”, limitando o seu recultado a 3linhas e cujo o utilizador é “Raquel”?
Select estradas.name from estradas
Where estradas.name ilike ‘%a’ and estradas.user ilike ‘%raquel%’ limit 3

7.Representação em texto das coordendas da shape estradas, limitando o seu resultado a uma linha e cujo o utilizador é ‘%raquel%’?
Select estradas.name, st_astext(estradas.the_geom) from estradas
Where estradas.user ilike ‘%raquel%’ limit 1

2º Trabalho - Inês Marafuz

Passos efectuados:
1. Exportei a minha área de trabalho (Santa Maria da Feira) do OpenStreetMap, gravando no formato osm.
2. Adicionei o ficheiro ao Quantum Gis através do Plugin que permite adicionar informação do OpenStreetmap (Load OpenStreetMap from file).
O ficheiro vem em coordenadas geográficas, que não interessam para o trabalho em questão, visto que se pretende obter resultados em metros. Assim, recorri ao Quantum Gis - Vector – Data management tools – export to new projection e atribui o sistema ETRS89/ Portugal TM06 (EPSG: 3763).
3 - Para colocar as shapefiles no PostgreSQL, criei uma nova base de dados e na consola do linux inseri o comando “gshp2pgsql”, introduzindo cada shape (polígonos, linhas e pontos) e o “id” do sistema de coordenadas (3763).

Elaboração das queries

Query 1 - Query da contagem do número total de linhas criadas. O procedimento para a contagem do número total de pontos e polígonos é o mesmo (ex: select count (pontos.user) from pontos where pontos.user like '%Markus%').













Query 2 - O objectivo desta query foi saber qual o nome dos pontos criados (procede-se da mesma forma para saber o nome das linhas e polígonos).




















Query 3 – Query que permite saber qual a linha com menor comprimento.












Query 4 - A query anterior também podia ser aplicada aos polígonos. Assim, a realização desta query teve como objectivo mostrar que é possível saber qual o polígono com maior área.











Query 5 - Para além de ser possível conhecer a área dos polígonos também se pode conhecer o perímetro dos mesmos, sendo esse o objectivo desta query.














Query 6 – Query do somatório da área de todos os polígonos criados. Também se pode somar o comprimento de todas as linhas substituindo a expressão por "select sum (st_length(the_geom)), user from linhas where linhas.user like '%Markus%'".











Query 7 - A realização desta query teve como objectivo saber quais os pontos que intersectam os polígonos existentes.









Query 8 - Na fase de edição no OpenStreetMap, não se atribuiu um nome a todos os polígonos, linhas e pontos desenhados. Com esta query foi possível saber apenas o nome dos polígonos cujo registo do campo "name" não é nulo.












Query 9 - Esta query foi realizada para se saber a distância entre as ruas onde existem áreas residenciais e as escolas, sendo os resultados restritos apenas a distâncias inferiores a 100m e por ordem decrescente.












Query 10 – Query do comprimento de cada linha criada bem como a sua designação e o tipo de rua.













Query 11 - Para além de ser poder saber o comprimento de cada rua também se pode saber a área de cada polígono, com o respectivo nome e "tipo de área".

 
Copyright © MSIGOT