Rodrigo HjortServio Federal de Proc. Dados
Ignacio Talavera
Intendencia de Montevideo
PostGIS Conhecendo oElefante Geoespacial
O que um banco de dados geoespacial?
Tipos de dadosTexto, nmero, data/hora
ndicesB-tree, hash
Funeslength(), now()
Um banco de dados possui...
armazena e manipula objetos espaciais como qualquer outro objeto do banco de dados
Um banco de dados espacial...
Tipos de dados espaciaisgeometry, geography
ndices espaciaisr-tree, quad-tree, kd-tree
Funes espaciaisST_Length(), ST_X()
Banco de dados espacial...
Evoluo das arquiteturas GIS
A hierarquia da geometria
Os ndices espaciais
Anlise
ST_Function(geometry) algo
ConstruoST_Function(algo) geometry
CriaoST_Function(geometry) geometry
As funes espaciais
O que o PostGIS?PostGIS "spatially enables" the PostgreSQL server, allowing it to be used as a backend spatial database for geographic information systems (GIS)
Jamais! Banco de dados melhor!
TransaesConsultas ad hocModelos de dados complexosLinguagem SQL
Por que no usar Shapefiles?
GeoServer servidor empresarial, implementa los protocolos WMS WFS,WFS-T.
Web Mapping
Web MappingGeoServer
Data
Data
Data
Web
Client
Client
Web MappingGeoServer
Data
Data
Data
Client
Client
WFS
WMS
WMS
Mo na massa!
1. Criar banco com suporte a GIS
CREATE DATABASE consegi
TEMPLATE template_postgis;
2. Importar o shapefile de municpios do Par
shp2pgsql -s 4674 -d -g geom
-D -W LATIN1 15MUE250GC_SIR
mun > mun.sql
psql consegi < mun.sql
3. Criar a tabela de municpios
CREATE TABLE municipios (codigo int not null primary key,nome varchar(50) not null,area geometry(MULTIPOLYGON, 4326));
4. Popular a nova tabela
INSERT INTO municipiosSELECT cd_geocodm::int, nm_municip,ST_Force_2D(ST_Transform(geom, 4326))FROM mun;
DROP TABLE mun;
5. Criar coluna contendo o centro dos municpios
ALTER TABLE municipiosADD centro geometry(point, 4326);
UPDATE municipios
SET centro = ST_Centroid(area);
6. Importar o shapefile de mamferos
shp2pgsql -s 4326 -d -g geom
-D -W LATIN1 mamiferos
mamiferos > mam.sql
psql consegi < mam.sql
7. Importar os dados do Censo 2010 para o Par
psql consegi -f censo-pa.sql
Configurar GeoServerData Store PostGIS
Publicar layers WMS
Publicar layer groups
8. Utilizando GeoServer
Exerccios
1. Quais so e qual a rea dos 5 mais extensos municpios do
Estado?
Dica: ST_Area()
2. Qual a rea e o permetro total do Estado do Par?
Dica: ST_Collect(), ST_Perimeter()
3. Quais so os 3 municpios mais setentrionais (ao norte) do
Estado?
Dica: ST_Y()
4. Qual a distncia de cada municpio capital do Estado?
Dica: ST_Distance()
5. Quais so os municpios que fazem fronteira com Altamira?
Dica: ST_Intersects()
6. Quais so os municpios a um raio de at 50km do centro de
Marituba?
Dica: ST_DWithin()
7. Quais so os mamferos e os municpios em que eles se encontram no Par?
Dica: ST_Contains()
8. Qual a populao total de Itupiranga e municpios limtrofes?
Dica: ST_Intersects()
9. Quais so os municpios a at 80km de Ananindeua com maior
populao feminina?
Dica: ST_DWithin()
Desafios
1. Exibir somente os municpios com mais de 200 mil habitantes.
2. Exibir os municpios vizinhos a Santarm cuja populao rural seja maior que a urbana.
Top Related