Banco de Dados
BD GeogrficosPostGIS
CIn/UFPE PostGis Valria Times 1
Valria Times
Introduo ao PostGIS
PostGIS: Uma extenso Geo para o PostgreSQL Download
http://postgis.refractions.net/download/
Diretrios
CIn/UFPE PostGis Valria Times 2
Diretrios Windows Program Files\PostgreSQL\8.1\share\contrib UNIX src/contrib/
Manual http://postgis.refractions.net/docs/
Introduo ao PostGIS
Abrindo uma conexo com PostGIS: Servidor: postgres.cin.ufpe.br Porta: 5432
CIn/UFPE PostGis Valria Times 3
Usurio: g082if695_vct Senha: fS4pDd0B
Introduo ao PostGIS
PostGIS segue o padro OpenGIS Prov suporte para todos objetos e funes da
especificao SFS (Simple Features for SQL)GEOMETRYGEOMETRY
CIn/UFPE PostGis Valria Times 4
POINT
LINESTRING
POLYGON
GEOMETRYCOLLECTION
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
POINT
LINESTRING
POLYGON
GEOMETRYCOLLECTION
MULTIPOINT
MULTILINESTRING
MULTIPOLYGONFonte: INPE
Introduo ao PostGIS Formatos WKB e WKT do OpenGIS Duas formas padres para manipular Objetos Geogrficos
Well-Known Text (WKT) e Well-Known Binary (WKB) Guardam informaes sobre tipo e coordenadas do ObjetoGeo
Exemplos:
CIn/UFPE PostGis Valria Times 5
POINT(0 0) LINESTRING(0 0,1 1,1 2) POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) MULTIPOINT(0 0,1 2) MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-
2 -2,-2 -1,-1 -1))) GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4)))
Introduo ao PostGIS
SRID (Spatial Referencing System Identifier) Todo Objeto Geogrfico deve ter um SRID para ser
inserido no BDGeo Por exemplo:
CIn/UFPE PostGis Valria Times 6
Considerando a interface GeomFromText GeomFromText (text WKT, SRID);
Pode-se inserir o seguinte Objeto Geogrfico INSERT INTO SpatialTable (THE_GEOM, THE_NAME) VALUES
(GeomFromText('POINT(-126.4 45.32)', 2000), Um Lugar');
Introduo ao PostGIS
A especificao SFS/OpenGIS define tipos, funese metadados para manipular ObjetosGeo
As principais tabelas de metadados so:SPATIAL_REF_SYS guarda os IDs e as descries
CIn/UFPE PostGis Valria Times 7
SPATIAL_REF_SYS guarda os IDs e as descriestextuais do sistema de coordenadas usados no BDGeo
GEOMETRY_COLUMNS guarda informaes doesquema Geogrfico e das propriedades dos ObjetosGeo
Introduo ao PostGISTABLE SPATIAL_REF_SYS (SRID INTEGER NOT NULL PRIMARY KEY, // identificador do SRSAUTH_NAME VARCHAR(256), // nome da autoridade que especificou o SRSAUTH_SRID INTEGER, // identificador do SRS definido pela autoridadeSRTEXT VARCHAR(2048), // representao WKT do SRS
CIn/UFPE PostGis Valria Times 8
PROJ4TEXT VARCHAR(2048) // especificaes para transformao de SRS)
Introduo
CIn/UFPE PostGis Valria Times 9
Introduo ao PostGISGEOMETRY_COLUMNS (F_TABLE_CATALOG VARCHAR(256) NOT NULL,F_TABLE_SCHEMA VARCHAR(256) NOT NULL,F_TABLE_NAME VARCHAR(256) NOT NULL,F_GEOMETRY_COLUMN VARCHAR(256) NOT NULL, //nome coluna Geo da tabela
// nome qualificado da tabela
CIn/UFPE PostGis Valria Times 10
COORD_DIMENSION INTEGER NOT NULL, // dimenso (2D ou 3D) da colunaSRID INTEGER NOT NULL, // ID do SRS usado na tabelaTYPE VARCHAR(30) NOT NULL // Tipo do objetoGeo (POINT, LINESTRING,
POLYGON, MULTIPOINT, MULTILINESTRING,MULTIPOLYGON, GEOMETRYCOLLECTION )
)
Introduo ao PostGIS
Note:"catalog" pode ficar em branco e apenas usar o nome do BD do PostgreSQL para "schema" .
CIn/UFPE PostGis Valria Times 11
Usando o PostGIS Criando uma tabela espacial (2 passos) 1) Criar uma tabela normal (sem campo espacial)
Exemplo: CREATE TABLE ROADS_GEOM ( ID int4, NAME varchar(25) );
2) Adicionar uma coluna espacial ("AddGeometryColumn) Sintaxe:
CIn/UFPE PostGis Valria Times 12
Sintaxe: AddGeometryColumn([],,, , ,); Exemplo:
SELECT AddGeometryColumn('public', 'roads_geom', 'geom',2000, 'LINESTRING', 2);
SELECT AddGeometryColumn( 'roads_geom', 'geom', 2000,'LINESTRING', 2);
Usando o PostGIS Outros exemplos para criar tabelas espaciais Assumindo que o SRID 2001 j existeCREATE TABLE parks ( PARK_ID int4, PARK_NAME varchar(128),
PARK_DATE date, PARK_TYPE varchar(2) );SELECT AddGeometryColumn('parks','park_geom',2001,
CIn/UFPE PostGis Valria Times 13
SELECT AddGeometryColumn('parks','park_geom',2001,'MULTIPOLYGON', 2 );
Usando o tipo genrico "geometry" e um SRID indefinido (-1)CREATE TABLE roads ( ROAD_ID int4, ROAD_NAME varchar(128) );SELECT AddGeometryColumn( 'roads', 'roads_geom', -1,
'GEOMETRY', 3 );
Usando o PostGIS Validando geometrias antes de inseri-las no BDGeo Funo ISVALID()
Valida as coordenadas de uma geometria Exemplo:
SELECT ISVALID('LINESTRING(0 0, 1 1)'), t
CIn/UFPE PostGis Valria Times 14
ISVALID('LINESTRING(0 0,0 0)'); f Opo default no validar a entrada das geometrias
Para validar deve-se adicionar uma restrio tabela ALTER TABLE parks ADD CONSTRAINT geo_valid_chk
CHECK (isvalid(park_geom)); Cuidado: Validar polgonos pode ser muito custoso!
Usando o PostGIS Inserindo ObjetosGeo nas tabelas (2 formas) 1) Usando SQL
BEGIN;BEGIN;BEGIN;BEGIN;INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES
(1,'Jeff Rd',GeomFromText('LINESTRING(191232 243118,191108 243242)',2000)); (1,'Jeff Rd',GeomFromText('LINESTRING(191232 243118,191108 243242)',2000)); (1,'Jeff Rd',GeomFromText('LINESTRING(191232 243118,191108 243242)',2000)); (1,'Jeff Rd',GeomFromText('LINESTRING(191232 243118,191108 243242)',2000)); INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES
(2,'Geordie Rd',GeomFromText('LINESTRING(189141 244158,189265 244817)',2000)); (2,'Geordie Rd',GeomFromText('LINESTRING(189141 244158,189265 244817)',2000)); (2,'Geordie Rd',GeomFromText('LINESTRING(189141 244158,189265 244817)',2000)); (2,'Geordie Rd',GeomFromText('LINESTRING(189141 244158,189265 244817)',2000));
CIn/UFPE PostGis Valria Times 15
INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES (3,'Paul St',GeomFromText('LINESTRING(192783 228138,192612 229814)',2000)); (3,'Paul St',GeomFromText('LINESTRING(192783 228138,192612 229814)',2000)); (3,'Paul St',GeomFromText('LINESTRING(192783 228138,192612 229814)',2000)); (3,'Paul St',GeomFromText('LINESTRING(192783 228138,192612 229814)',2000));
INSERT INTO ROADS_GEOM VALUES (4,'Graeme INSERT INTO ROADS_GEOM VALUES (4,'Graeme INSERT INTO ROADS_GEOM VALUES (4,'Graeme INSERT INTO ROADS_GEOM VALUES (4,'Graeme Ave',GeomFromText('LINESTRING(189412 252431,189631 259122)',2000)); Ave',GeomFromText('LINESTRING(189412 252431,189631 259122)',2000)); Ave',GeomFromText('LINESTRING(189412 252431,189631 259122)',2000)); Ave',GeomFromText('LINESTRING(189412 252431,189631 259122)',2000));
INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES (5,'Phil Tce',GeomFromText('LINESTRING(190131 224148,190871 228134)',2000)); (5,'Phil Tce',GeomFromText('LINESTRING(190131 224148,190871 228134)',2000)); (5,'Phil Tce',GeomFromText('LINESTRING(190131 224148,190871 228134)',2000)); (5,'Phil Tce',GeomFromText('LINESTRING(190131 224148,190871 228134)',2000));
INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES INSERT INTO ROADS_GEOM VALUES (6,'Dave Cres',GeomFromText('LINESTRING(198231 263418,198213 268322)',2000)); (6,'Dave Cres',GeomFromText('LINESTRING(198231 263418,198213 268322)',2000)); (6,'Dave Cres',GeomFromText('LINESTRING(198231 263418,198213 268322)',2000)); (6,'Dave Cres',GeomFromText('LINESTRING(198231 263418,198213 268322)',2000)); COMMIT;COMMIT;COMMIT;COMMIT;
Usando o PostGIS 2) Usando o Loader shp2pgsql
Converte um shape file para pgsql.sql Shp2pgsql []
: nome do shape file s/ extenso (inclui shp, shx, dbf) : nome da tabela destino. Por default, a geometria
fica na coluna 'geo_value' : nome do BDGeo destino
CIn/UFPE PostGis Valria Times 16
: nome do BDGeo destino [] : opes de configurao
PrincipaisPrincipaisPrincipaisPrincipais: (-a || -c || -d || -p mutuamente exclusivas), -D. -a : anexa dados a uma tabela existente -c : cria uma tabela e insere os dados (modo padro) -d : apaga a tabela antes de criar outra -p : l o esquema do shape file para criar uma tabela -D : permite fazer dump de grandes volumes de dados. Usa COPY
no lugar de INSERT INTO).
Usando o PostGIS 2) Usando o Loader shp2pgsql Cont.
Exemplo com arquivo intermedirio: Abrir um terminal (cmd) e executar: set PATH=%PATH%;p:\postgresql\pgsql\bin Shp2pgsql -c C:\ESRI\AV_GIS30\AVTUTOR\ARCVIEW\qstart\world94
world94 g082if695_vct > world94.sql
CIn/UFPE PostGis Valria Times 17
dir psql -h postgres.cin.ufpe.br -d g082if695_vct -U g082if695_vct -f
world94.sql -W -d: nome do BD -f: nome do arquivo -U: nome do usurio -h: nome do host
Usando o PostGIS 2) Usando o Loader shp2pgsql Cont.
Exemplo sem arquivo intermedirio: shp2pgsql -c C:\ESRI\AV_GIS30\AVTUTOR\ARCVIEW\qstart\mexico
mexico teste | psql -d teste -U postgres -h g1c10
shp2pgsql -c C:\ESRI\AV_GIS30\AVTUTOR\ARCVIEW\qstart\canadacanada teste | psql -d teste -U postgres -h g1c10
CIn/UFPE PostGis Valria Times 18
canada teste | psql -d teste -U postgres -h g1c10
Usando o PostGIS Consultas simples a ObjetosGeo Forma bsica
SELECT id, AsText(geom) AS geom, name FROM ROADS_GEOM; Operadores teis
&&: Informa se o MBR de uma geometria intersecta o MBR de outra
CIn/UFPE PostGis Valria Times 19
&&: Informa se o MBR de uma geometria intersecta o MBR de outra ~= : Testa se duas geometrias so geometricamente idnticas = : Testa se os MBR de duas geometrias so idnticos Exemplo:
SELECT ID, NAMEFROM ROADS_GEOMWHERE GEOM = GeomFromText('LINESTRING(191232
243118,191108 243242)',2000);
Usando o PostGIS Consultas simples a ObjetosGeo Exemplo (cont):
SELECT ID, NAMEFROM ROADS_GEOMWHERE GEOM ~= GeomFromText('LINESTRING(191232
CIn/UFPE PostGis Valria Times 20
WHERE GEOM ~= GeomFromText('LINESTRING(191232243118,191108 243242)',2000);
SELECT ID, NAMEFROM ROADS_GEOMWHERE GEOM && GeomFromText('POLYGON((191232
243117,191232 243119,191234 243117,191232 243117))',-1);
Usando o PostGIS Exportando dados para Shape File
pgsql2shp Converte uma tabelaGeo do PostgreSQL para shape file ESRI
pgsql2shp [] nome do BDGeo origem nome da tabela origem
CIn/UFPE PostGis Valria Times 21
[] opes de configurao ----dddd:::: definedefinedefinedefine oooo arquivoarquivoarquivoarquivo dumpdumpdumpdump paraparaparapara 3333DDDD (padro(padro(padro(padro ==== 2222D)D)D)D) ----ffff :::: nomenomenomenome dodododo shapeshapeshapeshape filefilefilefile (padro(padro(padro(padro ==== nomenomenomenome dadadada tabela)tabela)tabela)tabela).... ----hhhh :::: hosthosthosthost ondeondeondeonde estestestest oooo bancobancobancobanco dededede dadosdadosdadosdados (padro(padro(padro(padro =localhost)=localhost)=localhost)=localhost).... ----pppp :::: portaportaportaporta dededede conexoconexoconexoconexo (padro(padro(padro(padro ==== 5432543254325432)))).... ----PPPP :::: especificaespecificaespecificaespecifica aaaa senhasenhasenhasenha.... ----uuuu :::: especificaespecificaespecificaespecifica oooo usuriousuriousuriousurio.... ----gggg especificaespecificaespecificaespecifica aaaa colunaGeocolunaGeocolunaGeocolunaGeo aaaa serserserser exportadaexportadaexportadaexportada....
Usando o PostGIS Exportando dados para Shape File (Cont.) pgsql2shp
Exemplos: pgsql2shp -u postgres -P postgres teste world94
CIn/UFPE PostGis Valria Times 22
pgsql2shp -f World94Exp -u postgres -P postgres teste world94
pgsql2shp -f World94Exp -h localhost -p 5432 -u postgres -Ppostgres teste world94
Usando o PostGIS Usando ndices Geogrficos Melhor opo: usar uma R-Tree implementada no topo do
mecanismo GiST (Generalized Search Tree). A implementao nativa da R-Tree do PostgreSQL no to robusta
quanto a implementao feita pelo mecanismo GiST
CIn/UFPE PostGis Valria Times 23
quanto a implementao feita pelo mecanismo GiST Desde a verso 0.6 do PostgreSQL no recomenda-se a sua R-Tree
Consultas convencionais em tabelas geogrficas no usufruem do mecanismo GiST
Usando o PostGIS Usando ndices Geogrficos (esquema R-Tree)
CIn/UFPE PostGis Valria Times 24
Usando o PostGIS Usando ndices Geogrficos Sintaxe:
CREATE INDEX [indexname] ON [tablename]USING GIST ( [geometryfield] GIST_GEOMETRY_OPS );
Exemplo:
CIn/UFPE PostGis Valria Times 25
Exemplo:CREATE INDEX world94_idx ON world94USING GIST (the_geom GIST_GEOMETRY_OPS);
Depois de criar os ndices boa prtica executar:VACUUM ANALYZE [table_name] [column_name]
para liberar tuplas obsoletas/excludas
Usando o PostGIS possvel usufruir do GiST na consulta abaixo? Selecione as casas que estejam a menos de 1000 metros do
ponto (100000, 200000):
SELECT geometria
CIn/UFPE PostGis Valria Times 26
SELECT geometriaFROM casasWHERE distance(geometria,
GeometryFromText(POINT(100000, 200000), -1)) < 1000;
Usando o PostGIS possvel usufruir do GiST na consulta abaixo? Selecione as padarias que estejam a menos de 1000 metros
do ponto (100000, 200000):SELECT geometriaFROM padarias
CIn/UFPE PostGis Valria Times 27
FROM padariasWHERE distance(geometria,
GeometryFromText( POINT(100000, 200000), -1)) < 1000;Esta consulta ser lenta se a tabela for grande!
Somente consultas com operadores que usam MBR(ex: &&) tiram vantagem do ndice espacial.
Funes como distncia no usufruem do ndice.
Usando o PostGIS Pode-se usufruir do ndice usando uma janela
de consulta (query box)SELECT geometriaFROM padariasWHERE geometria &&
CIn/UFPE PostGis Valria Times 28
WHERE geometria &&BOX3D(99000 199000, 101000 201000)::box3dAND distance(geometria,
GeometryFromText(POINT(100000, 200000), -1)) < 1000;
Note que a janela de consulta (BOX3D + &&) forma um quadrado centralizado sobre o ponto original
Usando o PostGIS
Principais funes de relacionamento espacial Distance(geometry, geometry) Equals(geometry, geometry) Disjoint(geometry, geometry) Intersects(geometry, geometry)
CIn/UFPE PostGis Valria Times 29
Intersects(geometry, geometry) Touches(geometry, geometry) Crosses(geometry, geometry) Within(geometry, geometry) Overlaps(geometry, geometry) Contains(geometry, geometry)
Usando o PostGIS Principais funes de processamento geomtrico
Centroid(geometry) Area(geometry) Length(geometry) PointOnSurface(geometry) Boundary(geometry)
CIn/UFPE PostGis Valria Times 30
Boundary(geometry) Buffer(geometry, double, [integer]) Intersection(geometry, geometry) Difference(geometry, geometry) GeomUnion(geometry, geometry)
Usando o PostGIS
Existem muitas outras funes!
CIn/UFPE PostGis Valria Times 31
funes!Consultar tpico 6 (PostGIS
Reference) do manual PostGis.
Usando o PostGIS Exemplos de consultas espaciais Qual o comprimento total de todas as estradas? (em km)
SELECT sum ( length ( the_geom ) ) / 1000 AS km_roadsFROM bc_roads;
CIn/UFPE PostGis Valria Times 32
Qual a rea da cidade de RECIFE? (em hectares)SELECT area ( the_geom ) / 10000 AS hectaresFROM bc_municipalityWHERE name = RECIFE ;
Usando o PostGIS Exemplos de consultas espaciais Qual o maior municpio por rea? (em hectares)
SELECT name, area (the_geom ) / 10000 AS hectaresFROM bc_municipalityORDER BY hectares DESCLIMIT 1 ;
CIn/UFPE PostGis Valria Times 33
LIMIT 1 ;
Qual o tamanho das estradas contidas em cada municpio?SELECT m.name, sum ( length ( r. the_geom ) ) / 1000 as roads_km
FROM bc_roads AS r , bc_municipality AS mWHERE r.the_geom && m.the_geomAND contains(m.the_geom , r.the_geom)GROUP BY m.nameORDER BY roads_km ;
Usando o PostGIS Exemplos de consultas espaciais Crie uma tabela com todas as estradas de Recife?CREATE TABLE pg_roads as
SELECT intersection (r.the_geom, m.the_geom) ASintersection_geom, length ( r.the_geom ) AS rd_orig_length , r.*
CIn/UFPE PostGis Valria Times 34
intersection_geom, length ( r.the_geom ) AS rd_orig_length , r.*FROM bc_roads AS r, bc_municipality AS mWHERE r.the_geom && m.the_geomAND intersects ( r.the_geom, m.the_geom )AND m.name = 'RECIFE ;
Usando o PostGIS Exemplos de consultas espaciais Qual o tamanho (em km), da Av. Caxang em Recife?
SELECT sum ( length ( r.the_geom ) ) / 1000 AS kilometersFROM bc_roads r, bc_municipality m
CIn/UFPE PostGis Valria Times 35
FROM bc_roads r, bc_municipality mWHERE r.the_geom && m.the_geomAND r.name = Caxang 'AND m.name = RECIFE ;
Usando o PostGIS Exemplos de consultas espaciais com otimizao Listar o ID das regies vizinhas regio 1234.
SELECT r2.geo_idFROM regiao r1, regiao r2WHERE touchestouchestouchestouches (r1.the_geom, r2.the_geom)AND ( r2.geo_id '1234 )
CIn/UFPE PostGis Valria Times 36
AND ( r2.geo_id '1234 )AND ( r1.geo_id = '1234 )
SELECT r2.geo_idFROM regiao r1, regiao r2WHERE touchestouchestouchestouches ( r1.the_geom, r2.the_geom )ANDANDANDAND (r(r(r(r1111....the_geomthe_geomthe_geomthe_geom &&&&&&&& rrrr2222....the_geom)the_geom)the_geom)the_geom) otimizandootimizandootimizandootimizandoAND ( r2.geo_id '1234 )AND ( r1.geo_id = '1234 )
Usando o PostGIS
Exemplos de consultas espaciais com otimizao Listar o nmero de homicdios ocorridos em Pernambuco.
SELECT COUNT(*)FROM homicidios h, estados eWHERE contains (e.the_geom, h.the_geom)AND e.nome = 'PERNAMBUCO';
CIn/UFPE PostGis Valria Times 37
AND e.nome = 'PERNAMBUCO';SELECT COUNT(*)FROM homicidios h, estados eWHERE contains (e.the_geom, h.the_geom)ANDANDANDAND (((( eeee....the_geomthe_geomthe_geomthe_geom &&&&&&&& hhhh....the_geomthe_geomthe_geomthe_geom )))) otimizandootimizandootimizandootimizandoAND e.nome = PERNAMBUCO ;
Aula Prtica
CIn/UFPE PostGis Valria Times 38/80
PostGIS Exerccio Criar uma tabela chamada exemplo_lotes para
armazenar informaes a respeito dos lotes abaixo:y
9
11
13
CIn/UFPE PostGis Valria Times 39
x1 3 5 7 9 11 13 15 17 19 21
1
3
5
7
9
L1
L2
L4L3 L5
PostGIS Exerccio Criar uma tabela chamada exemplo_quadras para
armazenar informaes a respeito das quadras abaixo:y
9
11
13
CIn/UFPE PostGis Valria Times 40
x1 3 5 7 9 11 13 15 17 19 21
1
3
5
7
9
Q1
Q2
PostGIS Exerccio Responda: Quais os lotes vizinhos ao lote L4?
Quantos lotes esto dentro da quadra Q1?
Uma pessoa resolveu comprar todos os lotes da quadra
CIn/UFPE PostGis Valria Times 41
Uma pessoa resolveu comprar todos os lotes da quadra Q1. Criar uma nova geometria L6 que represente toda a rea dos lotes originais.
Criar uma nica tabela para armazenar os lotes e as quadras (exemplo_quadras_lotes). Esta tabela, alm do identificador, possui o tipo do objeto e as geometrias. Mas, estas ltimas no podem ter sobreposio (a rea da quadra no deve sobrepor a do lote ?!!).
Projeto de Disciplina
CIn/UFPE PostGis Valria Times 42/80
Roteiro para Projeto BD Geo Criar Minimundo, modelo conceitual e esquema
lgico com tabelas espaciais Implementar as tabelas no PostGIS, fazendo uso
do comando de carga shp2pgsql Implementar as principais consultas de
verificao de relacionamentos espaciais e de
CIn/UFPE PostGis Valria Times 43
verificao de relacionamentos espaciais e de processamento geomtrico fazendo uso das operaes espaciais do PostGIS
Testar e colocar o sistema em funcionamento, fazendo uso de um servidor de mapas para visualizao dos resultados (JUMP, TerraView, GeoClient, Mapserver,Thuban, GRASS, QGIS)
Data da Entrega: 31 / 10 / 09
Roteiro para Nota Mxima Descrio de Minimundo Modelagem Conceitual Esquema Relacional Implementar as seguintes consultas de
verificao de relacionamentos espaciais: Distance ( geometry, geometry ) Equals ( geometry, geometry )
corretos
CIn/UFPE PostGis Valria Times 44
Equals ( geometry, geometry ) Disjoint ( geometry, geometry ) Intersects ( geometry, geometry ) Touches ( geometry, geometry ) Crosses ( geometry, geometry ) Within ( geometry, geometry ) Overlaps ( geometry, geometry ) Contains ( geometry, geometry ) Intersects ( geometry, geometry )
Roteiro para Nota Mxima Implementar as seguintes consultas de
processamento geomtrico: Centroid (geometry) Area (geometry) Length (geometry) PointOnSurface (geometry) Boundary (geometry)
CIn/UFPE PostGis Valria Times 45
Boundary (geometry) Buffer (geometry, double, [integer]) Intersection (geometry, geometry) Difference (geometry, geometry) GeomUnion (geometry, geometry)
Defesa do projeto com qualidade e segurana
CIn/UFPE PostGis Valria Times 46
Top Related