Your SlideShare is downloading. ×
0
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Tutorial_PostGis
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tutorial_PostGis

1,667

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,667
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
120
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Neste tutorial será construído uma base de dados em PostGIS, de acordo com o trabalho realizado em OSM. Pretende-se deste modo explicar a metodologia e procedimentos realizados, desde a vectorização na ferramenta de edição JOSM, do OpenStreetMap, até à introdução dos dados em PostGIS. Para a implementação do projecto numa base de dados será necessário recorrer a vários softwares: Ferramenta de edição JOSM; Quantum GIS; PostGIS Shapefile and DBF Loader; pgAdmin III
  • 2. 1º Abrir um projecto no Quantum Gis:
  • 3. 2º Adicionar o ficheiro OSM da área de trabalho: - Através do comando Load OSM from file escolho o directório do ficheiro ( )
  • 4. ( ) e obtenho, deste modo, a área de trabalho em OSN (Area_PVL) no Qgis:
  • 5. 1º Selecciono o layer pretendido, Exemplo: Area_PVL points e com o botão do lado direito do rato, escolho o campo Save as shapefile . Na nova janela atribuo um nome ao ficheiro e faço gravar
  • 6. 2º Após a ordem para fazer guardar, abrir-se-á uma nova janela onde devo definir o sistema de coordenadas que quero atribuir à shapefile. Por defeito, estava em WGS 84 (coordenadas geográficas) e no qual irei transformar para WGS 84/UTM 29N - EPSG: 32629 (coordenadas projectadas):
  • 7. 3º Realizar os mesmos procedimentos para os restantes layers de modo a obter três shapefiles do tipo pontual (pontos); linear (vias) e poligonal (edificios):
  • 8. 1º Abrir o pgAdmin III e conectar o servidor localgeobox:
  • 9. 2º Criar uma nova base de dados, designada de “planhoso”:
  • 10. 2º Criar uma nova base de dados, designada de “planhoso”:
  • 11. 3º Depois de actualizar as Bases de Dados existentes, podemos verificar a existência da base de dados anteriormente criada: “planhoso” e que esta è constituída por duas tabelas (a referência espacial e a geometria) adicionadas por defeito.
  • 12. Após a concepção da base de dados, pretende-se adicionar a informação contida nos ficheiros shp, exportados na etapa anterior para o nosso projecto, de modo acrescentar mais 3 tabelas à 2 pré- existentes. Para tal, recorre-se ao PostGIS Shapefile and DBF Loader:
  • 13. ( .) e preencho todos os campos necessários e importo as shapefiles (edificios; pontos e vias) para a base de dados “planhoso”: Directório do ficheiro. shp Username: geobox Password: geobox Nome da B. Dados SRID correspondente ao sistema de coordenadas WGS 84/UTM 29N Realizar o mesmo procedimento para as restantes shapefiles
  • 14. Por fim, e de volta ao pgAdmin III, actualizo a base de dados “planhoso” e verifico que esta já contem a informação importada no passo anterior .
  • 15. O SQL é uma linguagem usada para comunicar com bases de dados. Os comandos da SQL são usados para realizar operações tais como alterar / actualizar dados numa base de dados, ou responder a questões a partir da informação armazenada numa base de dados. Foi aplicado à base de dados “planhoso” as seguintes queries: 1) Quais as vias que começam por ‘E’: select * from vias where name like 'E%'
  • 16. 2)Qual a geometria da tabela vias (o tipo de geometria e as coordenadas): select name, st_astext(the_geom) from vias
  • 17. 3) Qual o número de linhas (vias) editadas por mim: select count (vias.user) from vias where vias.user like '%ana_costa%' 4) Qual o número de áreas (edifícios) editados por mim: select count (edificios.user) from edificios where edificios.user like '%ana_costa%'
  • 18. 5) Qual o somatório do nº de linhas acrescentados pelo user “ana_costa”? select sum (st_length(the_geom)), user from vias where vias.user like '%ana_costa%' 6) Qual o somatório do nº áreas dos polígonos acrescentados pelo user “ana_costa”? select sum (st_area(the_geom)), user from edificios where edificios.user like '%ana_costa%'
  • 19. 7) Qual nome das ruas (vias) que editei? select vias.user, vias.name from vias where vias.user like '%ana_costa%'
  • 20. 8) Qual nome dos edifícios (áreas) que editei? select edificios.user, edificios.name from edificios where edificios.user like '%ana_costa%'
  • 21. 9) Qual o nome das vias e o respectivo código postal? select vias.name as name, vias.user as name, cttshapefile.cp4 as Codigo_Postal from vias, cttshapefile
  • 22. 10) Qual o código postal das vias, editadas por mim e ordenadas pelo nome das ruas? select vias.name as name, vias.user as name, cttshapefile.cp4 as Codigo_Postal from vias, cttshapefile where vias.the_geom && cttshapefile.the_geom and contains(vias.the_geom, vias.the_geom) and vias.user like '%ana_costa%' order by vias.name
  • 23. 11) Qual a distância de uma determinada rua (ex.: Avenida da República) que editei de uma escola? select vias.name, edificios.user, edificios.name edificios, edificios.amenity, st_distance (vias.the_geom, edificios.the_geom) from vias, edificios where vias.name like '%Avenida da República%' and edificios.amenity like '%school%' and edificios.user like '%ana_costa%'
  • 24. 11) Quais as casas da cultura que se encontram 200 metros da avenida principal (Avenida da República)? select vias.name, edificios.user, edificios.name edificios, edificios.amenity, st_distance (vias.the_geom, edificios.the_geom) from vias, edificios where vias.name like '%Avenida da República%' and edificios.amenity like '%arts_centre%' and edificios.user like 'ana_costa%'and st_distance (vias.the_geom, edificios.the_geom) <= 200 order by st_distance (vias.the_geom, edificios.the_geom)

×