3. Um banco de dados possui...
Tipos de dados
Texto, número, data/hora
Índices
B-tree, hash
Funções
length(), now()
4. Um banco de dados espacial...
armazena e manipula objetos
espaciais como qualquer outro
objeto do banco de dados
5. Banco de dados espacial...
Tipos de dados espaciais
geometry, geography
Índices espaciais
r-tree, quad-tree, kd-tree
Funções espaciais
ST_Length(), ST_X()
9. As funções espaciais
Análise
ST_Function(geometry) → algo
Construção
ST_Function(algo) → geometry
Criação
ST_Function(geometry) → geometry
10. 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)
11. Por que não usar Shapefiles?
Jamais! Banco de dados é melhor!
Transações
Consultas ad hoc
Modelos de dados complexos
Linguagem SQL
12. Web Mapping
GeoServer servidor
empresarial,
implementa los
protocolos WMS
WFS,WFS-T.
13. Web Mapping
Data
Client
Web GeoServer Data
Client
Data
14. Web Mapping
Data
Client WFS
GeoServer Data
Client WMS
Data
17. 1. Criar banco com suporte a GIS
CREATE DATABASE consegi
TEMPLATE template_postgis;
18. 2. Importar o shapefile de
municípios do Pará
shp2pgsql -s 4674 -d -g geom
-D -W LATIN1 15MUE250GC_SIR
mun > mun.sql
psql consegi < mun.sql
19. 3. Criar a tabela de municípios
CREATE TABLE municipios (
codigo int not null primary key,
nome varchar(50) not null,
area geometry(MULTIPOLYGON, 4326)
);
20. 4. Popular a nova tabela
INSERT INTO municipios
SELECT 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 municípios
ALTER TABLE municipios
ADD centro geometry(point, 4326);
UPDATE municipios
SET centro = ST_Centroid(area);