PostGIS - Conhecendo o Elefante Geoespacial

Embed Size (px)

DESCRIPTION

Workshop sobre PostGIS ministrado no evento CONSEGI 2012 (www.consegi.gov.br)

Citation preview

  • 1. PostGIS Conhecendo o Elefante GeoespacialRodrigo HjortServio Federal de Proc. DadosIgnacio TalaveraIntendencia de Montevideo

2. O que um banco de dados geoespacial? 3. Um banco de dados possui... Tipos de dados Texto, nmero, data/hora ndices B-tree, hash Funeslength(), now() 4. Um banco de dados espacial...armazena e manipula objetosespaciais como qualquer outroobjeto do banco de dados 5. Banco de dados espacial... Tipos de dados espaciaisgeometry, geographyndices espaciaisr-tree, quad-tree, kd-treeFunes espaciaisST_Length(), ST_X() 6. Evoluo das arquiteturas GIS 7. A hierarquia da geometria 8. Os ndices espaciais 9. As funes espaciaisAnliseST_Function(geometry) algoConstruoST_Function(algo) geometry CriaoST_Function(geometry) geometry 10. O que o PostGIS? PostGIS "spatially enables" the PostgreSQL server,allowing it to be used as abackend spatial database for geographic informationsystems (GIS) 11. Por que no usar Shapefiles?Jamais! Banco de dados melhor! TransaesConsultas ad hoc Modelos de dados complexos Linguagem SQL 12. Web Mapping GeoServer servidor empresarial, implementa los protocolos WMS WFS,WFS-T. 13. Web Mapping DataClient Web GeoServer DataClient Data 14. Web Mapping DataClient WFS GeoServer DataClient WMS Data 15. WMS 16. Mo na massa! 17. 1. Criar banco com suporte a GISCREATE DATABASE consegiTEMPLATE template_postgis; 18. 2. Importar o shapefile demunicpios do Parshp2pgsql -s 4674 -d -g geom-D -W LATIN1 15MUE250GC_SIRmun > mun.sqlpsql consegi < mun.sql 19. 3. Criar a tabela de municpiosCREATE TABLE municipios ( codigo int not null primary key, nome varchar(50) not null, area geometry(MULTIPOLYGON, 4326)); 20. 4. Popular a nova tabelaINSERT INTO municipiosSELECT cd_geocodm::int, nm_municip,ST_Force_2D(ST_Transform(geom, 4326))FROM mun;DROP TABLE mun; 21. 5. Criar coluna contendo o centro dos municpiosALTER TABLE municipiosADD centro geometry(point, 4326);UPDATE municipiosSET centro = ST_Centroid(area); 22. 6. Importar o shapefile de mamferosshp2pgsql -s 4326 -d -g geom-D -W LATIN1 mamiferosmamiferos > mam.sqlpsql consegi < mam.sql 23. 7. Importar os dados do Censo2010 para o Parpsql consegi -f censo-pa.sql 24. 8. Utilizando GeoServer Configurar GeoServer Data Store PostGIS Publicar layers WMS Publicar layer groups 25. Exerccios 26. 1. Quais so e qual a rea dos 5 mais extensos municpios do Estado?Dica: ST_Area() 27. 2. Qual a rea e o permetro total doEstado do Par?Dica: ST_Collect(), ST_Perimeter() 28. 3. Quais so os 3 municpios maissetentrionais (ao norte) do Estado? Dica: ST_Y() 29. 4. Qual a distncia de cada municpio capital do Estado? Dica: ST_Distance() 30. 5. Quais so os municpios que fazem fronteira com Altamira?Dica: ST_Intersects() 31. 6. Quais so os municpios a um raio deat 50km do centro de Marituba?Dica: ST_DWithin() 32. 7. Quais so os mamferos e osmunicpios em que eles se encontram no Par?Dica: ST_Contains() 33. 8. Qual a populao total de Itupirangae municpios limtrofes?Dica: ST_Intersects() 34. 9. Quais so os municpios a at 80km de Ananindeua com maior populaofeminina? Dica: ST_DWithin() 35. Desafios 36. 1. Exibir somente os municpios com mais de 200 mil habitantes. 37. 2. Exibir os municpios vizinhos aSantarm cuja populao rural sejamaior que a urbana.