
Voluntário
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
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 coorde

2º Trabalho_IPSIG
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
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
http://www.sendspace.com/file/87yna4
2º trabalho IPSIG (OSM) - Pedro Alves
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 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 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_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_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 min (st_area(the_geom)), user from poligonos where poligonos.user like '%Hélder Pereira%'

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
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


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
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%'

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
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".
