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
0 comentários:
Enviar um comentário