BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza



Documentos relacionados
Introdução ao PostGIS. Introdução ao PostGIS. Introdução ao PostGIS. Introdução ao PostGIS. Introdução ao PostGIS

TUTORIAL DE CRIAÇÃO DE BANCO DE DADOS ESPACIAL

Mapserver e Bancos de Dados

AGENDA. Introdução Geometrias Suportadas Estrutura dos Dados Manipulação Indexação Funções Espaciais Exercícios

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc.

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc.

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

SIG SIG. WKT Postgis (SQL) Alisson Fernando Coelho do Carmo

Bases de Dados 1º semestre

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL

Projeto Físico de BDG

Metodologia para Representação da Estruturação de Dados Geoespacial Vetorial (EDGV) em Bancos de Dados Geográficos Relacionais

Prof.: Clayton Maciel Costa

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

BANCO DE DADOS GEOGRÁFICOS

PostGIS. Lubia Vinhas

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7

Comandos de Manipulação

Prática com Mapserver

IMPORTANDO ARQUIVOS SHAPEFILE PARA O POSTGIS VIA PROMPT DO DOS

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

Introdução ao SQL. Aécio Costa

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Bases de Dados. Lab 1: Introdução ao ambiente

AULA 6 - Operações Espaciais

PROCEDIMENTOS DE BACKUP E RESTORE NO POSTGRES

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Programação SQL. Introdução

Banco de Dados Espaciais. Banco de Dados Espaciais

1 - Crie um novo documento no ArcMap. Com o programa aberto, selecione o Dataframe Layers

Importação de arquivos Raster e Vetorial no Terraview

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Persistência de Classes em Tabelas de Banco de Dados

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

TerraView. O TerraView está estruturado da seguinte forma: - Modelo de dados

GeoDjango. Christiano Anderson

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Bancos de Dados Geográficos Projeto Físico de BDG. Clodoveu Davis. Clodoveu Davis

Prof. Omero, pág. 63. Banco de Dados InterBase.

Acesso ao Servidor de Mapas (ARCMAP)

Treinamento PostgreSQL - Aula 03

ADMINISTRAÇÃO DE BANCO DE DADOS

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

LINX POSTOS AUTOSYSTEM

JDBC. Prof. Márcio Bueno

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

UNIVERSIDADE FEDERAL FLUMINENSE DIOGO DE SANTANA CANDIDO MANIPULAÇÃO DE OPERADORES ESPACIAIS

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Comandos DDL. id_modulo = id_m odulo

Banco de dados geográficos 03/09/2010

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Linguagem SQL Sub-linguagem DDL

Disciplina de Banco de Dados Parte V

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Iniciando o ArcView 3.2

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Curso PHP Aula 08. Bruno Falcão

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Tutorial. Edição de dbf usando Excel e Acess. versão /02/2012. Autores: Mauricio Schiavolin Silva, Vitor Pires Vencovsky

AULA 2 Planos, Vistas e Temas

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

EXEMPLOS DE COMANDOS NO SQL SERVER

DIRETÓRIOS. Diretórios ZIM. Estabelecer um diretório de aplicativo. Campos do objeto Diretórios. Diretórios estrangeiros. Zim 8.

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Prof. Carlos Majer Aplicações Corporativas UNICID

Faculdade de Ciências da Universidade de Lisboa CURSO DE GPS. Módulo x. (Aula Prática) Reliance - Ashtech. Suas Aplicações Em SIG.

4.2 EDIÇÃO DE ÍCONES. Figura 10: Ícones criados para representar as principais Causas de Eventos em Linha de Transmissão Chesf

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

4ª aba do cadastro: Mapa Orientações para upload de shapefiles

Bases de Dados 1º semestre

Sistemas de Informação

Persistência e Banco de Dados em Jogos Digitais

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

Aula 1 Acesso a Banco de Dados

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

EXERCÍCIOS PRÁTICOS. Banco de Dados

Transcrição:

1 BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

INTRODUÇÃO AO POSTGIS PostGIS é uma extensão do sistema de banco de dados objeto-relacional PostgreSQL, que permite armazenar objetos geográficos em banco de dados PostGIS inclui suporte para índices GiST -índices espacias baseados em R-Tree - e funções para análise básica e processamento de objetos GIS http://postgis.refractions.net/ 2

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS http://www.opengeospatial.org/ Provê suporte para todos objetos e funções da especificação SFS (Simple Features for SQL) (OGC) GEOMETRY POINT GEOMETRYCOLLECTION LINESTRING MULTIPOINT POLYGON MULTILINESTRING MULTIPOLYGON 3

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS Point, LineString e Polygon 4

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS LineString 5

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS Polygon 6

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS MultiLineString 7

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS MultiPolygon 8

INTRODUÇÃO AO POSTGIS O PostGIS segue o padrão OpenGIS MultiPoint 9

INTRODUÇÃO AO POSTGIS Formatos WKB e WKT do OpenGIS Duas formas padrões para manipular objetos geográficos Well-Known Text (WKT) e Well-Known Binary (WKB) Guardam informações sobre tipo e coordenadas do Geo-Objeto Exemplos WKT: 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)) 10

INTRODUÇÃO AO POSTGIS SRID (Spatial Referencing System Identifier) Todo objeto geográfico deve ter um SRID para ser inserido no BDG O SRID corresponde a um sistema de referência espacial baseado no elipsóide específico usado para mapeamento de terra plana ou de terra redonda Uma coluna espacial pode conter objetos com SRIDs diferentes No entanto apenas instâncias espaciais com o mesmo SRID podem ser usadas ao executar operações sobre dados espaciais http://en.wikipedia.org/wiki/srid http://seiti.eti.br/blog/2010/sistema-de-referenciamento-espacial 11

INTRODUÇÃO AO POSTGIS SRID (Spatial Referencing System Identifier) O resultado de qualquer método espacial derivado de duas instâncias de dados espaciais será válido apenas se essas instâncias tiverem o mesmo SRID que é baseado na mesma unidade de medida, datum e projeção usada para determinar as coordenadas das instâncias As unidades mais comuns de medida de um SRID são metros e metros quadrados O sistema de identificação de referência espacial é definido pelo padrão do EPSG (European Petroleum Survey Group), que é um conjunto de padrões desenvolvido para armazenamento de dados geodésicos, de cartografia e de pesquisa Esse padrão é de propriedade do Comitê de Pesquisa e Posicionamento da OGP (Oil and Gas Producers) 12

INTRODUÇÃO AO POSTGIS SRID (Spatial Referencing System Identifier) Exemplo: Considerando a interface GeomFromText : GeomFromText (text WKT, SRID); Pode-se inserir o seguinte objeto geográfico: INSERT INTO SpatialTable (THE_GEOM, THE_NAME) VALUES (GeomFromText('POINT(-126.4 45.32)', 2000), 'Um Lugar'); 13

INSTALANDO O POSTGIS NO WINDOWS 14

DEFINIÇÕES DO POSTGIS A especificação SFS/OpenGIS define tipos, funções e metadados para manipular GeoObjetos As principais tabelas de metadados são: SPATIAL_REF_SYS guarda os IDs e as descrições textuais do sistema de coordenadas usados no BDG GEOMETRY_COLUMNS guarda informações do esquema geográfico e das propriedades dos GeoObjetos 15

DEFINIÇÕES DO POSTGIS geometry_columns F_TABLE_CATALOG F_TABLE_SCHEMA F_TABLE_NAME F_GEOMETRY_COLUMN COORD_DIMENSION SRID (SPATIAL_REF_SYS) TYPE - nome do BD - nome da tabela contendo a coluna de geometria - nome da coluna de geometria - dimensão espacial da coluna (2D, 3D) - ID do sistema de referência espacial (chave estrangeira para a tabela - tipo de objeto espacial (POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION ) 16

DEFINIÇÕES DO POSTGIS spatial_ref_sys SRID - identificador único do Sistema de Referência Espacial no banco de dados AUTH_NAME - nome dos padrões usados no sistema de referência (autoridade que especificou) AUTH_SRID - ID do Sistema de Referência Espacial como definido pela autoridade citada em AUTH_NAME SRTEXT - representação do Sistema de Referência Espacial no formato Well-Known Text PROJ4TEXT - string de definição de coordenadas na biblioteca Proj4 para um SRID particular (usado para transformações de SRS) 17

CRIANDO UM BD POSTGIS Requisitos Banco de Dados PostgreSQL Extensão PostGIS Duas formas: Usando um wizard (pgadmin) Por meio de scripts Por conversão de shapefiles (*.shp) 18

CRIANDO UM BD POSTGIS COM WIZARD

CRIANDO UM BD POSTGIS VIA SCRIPTS 1 a etapa (opção 1 detalhada): Crie um novo banco PostGIS createdb U username[dbname] O comando createlang adiciona a habilidade para usar funções escritas em pl/pgsql (opcional) createlang U username plpgsql [dbname] O comando psql roda o interpretador SQL para os arquivos postgis.sql e spatial_ref_sys.sql psql U username -f postgis.sql [dbname] psql U username -f spatial_ref_sys.sql [dbname] 20

CRIANDO UM BD POSTGIS VIA SCRIPTS 1 a etapa (opção 2): Crie um novo banco PostGIS createdb U username T template_postgis_20[dbname] O comando psql roda o interpretador SQL para os arquivos postgis.sql e spatial_ref_sys.sql psql U username -f spatial_ref_sys.sql [dbname] 21

CRIANDO UM BD POSTGIS VIA SCRIPTS 1 a etapa: Oarquivopostgis.sql contém comandos que adicionam os tipos de dados geométricos, as funções e os operadores necessários para manipulá-los e duas tabelas de metadados: geometry_columns para controlar as colunas geométricas e suas restrições spatial_ref_sys Mantem os IDs numéricos e descrições textuais do sistema de coordenadas usado no banco espacial 22

CRIANDO UM BD POSTGIS VIA SCRIPTS 2 a etapa: Conecte-se ao banco de dados usando o interpretador de comandos SQL psql: psql U username [dbname] Crie uma tabela digitando: CREATE TABLE test ( id INTEGER PRIMARY KEY, name VARCHAR(20) NOT NULL ); SELECT AddGeometryColumn ( '[dbname]', 'test', 'geom', -1, 'GEOMETRY', 2 ); 23

CRIANDO UM BD POSTGIS VIA SCRIPTS 2 a etapa: A função AddGeometryColumn cria uma coluna na tabela especificada e uma linha na tabela geometry_columns. Os parâmetros usados são: Nome do banco de dados Nome da tabela Nome da coluna a ser criada Identificador de Referência Espacial (SRID) da nova coluna O SRID referência uma linha na tabela spatial_ref_sys Tipo de geometria para a coluna: POINT LINESTRING POLYGON MULTIPOINT MULTILINESTRING MULTIPOLYGON GEOMETRY (todos os tipos permitidos) Número de dimensões na coluna (2D ou 3D) 24

CRIANDO UM BD POSTGIS VIA SCRIPTS 3 a etapa: Criar um índice espacial para acelerar consultas baseadas em janelas (bounding-box), por exemplo: "selecione todas as geometrias que estão dentro desta bounding box Este tipo de consulta é usada para selecionar geometrias dentro de uma área de interesse ou dentro de uma área de visão do mapa Para criar um índice espacial GiST (R-Tree): CREATE INDEX test_geom_idx ON test USING GIST (geom GIST_GEOMETRY_OPS); 25

CRIANDO UM BD POSTGIS VIA SCRIPTS 3 a etapa: Este comando pode levar um grande tempo se houver uma quantidade significativa de dados na tabela Após carregar os dados, é bom rodar o comando: VACUUM ANALYZE; Este comando atualiza o cache do banco de dados de estatísticas e reorganiza a estrutura de alguns índices para aumentar a velocidade de consultas usando este índice 26

CRIANDO UM BD POSTGIS VIA SCRIPTS 4 a etapa: Inserindo dados por linha de comando; O PostGIS usa o formato Well-Known Text (WKT) para descrever geometrias: INSERT INTO test ( id, name, geom ) VALUES ( 1, 'geom 1', ST_GeometryFromText( 'POINT(1 1)', -1 ) ); INSERT INTO test ( id, name, geom ) VALUES ( 2, 'geom 2', ST_GeometryFromText( 'LINESTRING(1 2, 2 3)', - 1 ) ); INSERT INTO test ( id, name, geom ) VALUES ( 3, 'geom 3', ST_GeometryFromText( 'POLYGON((2 1, 3 1, 3 3, 2 1))', -1 ) ); 27

CRIANDO UM BD POSTGIS VIA SCRIPTS 4 a etapa: A função GeometryFromText pega uma string WKT e um SRID e retorna uma geometria; Mais exemplos de WKT para diferentes tipos de geometria: 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 4), LINESTRING(2 3, 3 4)) 28

IMPORTANDO SHAPEFILES PARA O POSTGIS Arquivos shapefile <file>.shp - arquivo principal <file>.shx - arquivo de índice (liga o dbf ao shp) <file>.dbf - tabela de atributos <file>.prj - arquivo de projeção cartográfica <file>.sbn - arquivo auxiliar <file>.sbx - arquivo auxiliar 29

IMPORTANDO SHAPEFILES PARA O POSTGIS Usa-se o programa shp2pgsql: shp2pgsql [<options>] <shapefile> <tablename> <dbname> psql U username [dbname] Este programa pega um arquivo shapefile, gera os scripts SQL apropriados para criar uma tabela com os mesmos atributos (colunas) do shapefile e insere todos os registros do shapefile no PostGIS [<options>] : opções de configuração Principais: (-a -c -d -p mutuamente exclusivas), -D -a anexa dados a uma tabela existente -c cria uma tabela e insere os dados (modo padrão) -d apaga a tabela antes de criar outra -p lê o esquema do shapefile para criar uma tabela -D permite fazer dump de grandes volumes de dados Usa COPY no lugar de INSERT INTO 30

IMPORTANDO SHAPEFILES PARA O POSTGIS O shp2pgsl pode também inserir as linhas em uma tabela existente com as colunas corretas (em vez de criar uma nova tabela), para agregar múltiplos shapefiles com o mesmo esquema em uma única tabela Note que a coluna contendo a geometria do shapefile é chamada the_geom na tabela do banco de dados criada pelo shp2pgsql 31

IMPORTANDO SHAPEFILES PARA O POSTGIS Este exemplo cria quatro tabelas no banco de dados: elections, ocean, roads e hospitals: shp2pgsql -D victoria_elections.shp elections [dbname] psql U username [dbname] shp2pgsql -D victoria_ocean.shp ocean [dbname] psql U username [dbname] shp2pgsql -D victoria_roads.shp roads [dbname] psql U username [dbname] shp2pgsql -D victoria_hospitals.shp hospitals [dbname] psql U username [dbname] 32

IMPORTANDO SHAPEFILES PARA O POSTGIS Após importar os dados do shapefile, criam-se os índices espacias: CREATE INDEX elections_geom_idx ON elections USING GIST (the_geom GIST_GEOMETRY_OPS); CREATE INDEX ocean_geom_idx ON ocean USING GIST (the_geom GIST_GEOMETRY_OPS); CREATE INDEX roads_geom_idx ON roads USING GIST (the_geom GIST_GEOMETRY_OPS); CREATE INDEX hospitals_geom_idx ON hospitals USING GIST (the_geom GIST_GEOMETRY_OPS); 33

IMPORTANDO SHAPEFILES PARA O POSTGIS O processo de importação com o shp2pgsql automaticamente define uma única coluna chamada gid e faz ela a chave-primária da tabela: \d elections \d ocean O PostgreSQL também provê o OID no lugar da chaveprimária 34

FUNÇÕES DE PROCESSAMENTO GEOMÉTRICO ST_Centroid(geometry) Retorna o ponto central da geometria ST_Area(geometry) Retorna a área de um polígono ST_Length(geometry) Retorna o tamanho de geometrias do tipo linha ST_Perimeter(geometry) Retorno o tamanho dos limites de um polígono PointOnSurface(geometry) Retorna um ponto que intersecta uma superfície ST_Boundary(geometry) Retorna os pontos limites da geometria 35

FUNÇÕES DE PROCESSAMENTO GEOMÉTRICO ST_Buffer(geometry, distance double, [integer]) Retorna uma geometria (buffer) que representa todos os pontos que estão xxx (distance) distantes de geometry ST_Intersection(geometryA, geometryb) Retorna uma geometria que representa os pontos compartilhados pelas duas geometrias indicadas ST_Difference(geometryA, geometryb) Retorna uma geometria que representa que parte de A não intersecta com B ST_GeomUnion(geometryA, geometryb) (ST_Union) Retorna uma geometria que representa a união de A e B 36

FUNÇÕES DE RELACIONAMENTO ESPACIAL ST_Distance(geometryA, geometryb) Retorna a distância cartesiana entre duas geometrias ST_Equals(geometryA, geometryb) Retorna verdadeiro se as duas geometrias são equivalentes ST_Disjoint(geometryA, geometryb) Retorna verdadeiro se as duas geometrias não compartilham qualquer espaço ST_Intersects(geometryA, geometryb) Retorna verdadeiro se duas geometrias compartilham algum espaço ST_Touches(geometryA, geometryb) Retorna verdadeiro se as duas geometrias tem pelo menos um ponto em comum 37

FUNÇÕES DE RELACIONAMENTO ESPACIAL ST_Crosses(geometryA, geometryb) Retorna verdadeiro se as geometrias tem algum, mas nem todos, os pontos internos em comum ST_Within(geometryA, geometryb) Retorna verdadeiro se a geometria A está completamente dentro da geometria B ST_Overlaps(geometryA, geometryb) Retorna verdadeiro se a geometria A sobrepõe a geometria B mas não está completamente contida dentro dessa ST_Contains(geometryA, geometryb) Retorna verdadeiro se nenhum ponto de B está fora da geometria A e pelo menos um ponto no interior de B encontra-se no interior de A 38

POSTGIS PARA SHAPEFILE Sintaxe: pgsql2shp [<opções>] <nome do banco> <nome da tabela> <nome do banco> nome do banco de origem <nome da tabela> nome da tabela geográfica 39

POSTGIS PARA SHAPEFILE <opções> -d: define o arquivo dump para 3D (padrão = 2D) -f <filename>: nome do shapefile (padrão = nome da tabela) -h <host>: host em que está o banco de dados (padrão =localhost) -p <port>: porta de conexão (padrão = 5432) -u <user>: especifica o usuário -P <password>: especifica a senha -g <geometry_column>: especifica a coluna geométrica a ser exportada 40

POSTGIS PARA SHAPEFILE pgsql2shp -u postgres -P postgres fatec3 sedes_sc sedes_sc view criada para selecionar parte dos dados da tabela sedes 41

POSTGIS PARA SHAPEFILE Criação da view create view sedes_rs as select * from sedes where coduf='43'; 42

POSTGIS PARA SHAPEFILE Registrar a view na tabela geometry_columns INSERT INTO geometry_columns (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) VALUES ('', 'public', 'sedes_rs', 'the_geom', 2, -1, 'POINT'); 43

DICAS Onde obter shapefiles? ftp://geoftp.ibge.gov.br/mapas/carta_internacional_ao_ Milionesimo/shape/ Arquivos: SG-21, SG-22, SH-21, SH-22 e SI-22 http://www.metadados.inde.gov.br/geonetwork EPAGRI http://ciram.epagri.sc.gov.br/mapoteca/ Digitar no Google: siscom ibama 44

REFERÊNCIAS PostGIS http://www.postgis.org Spatial Data (SQL Server) http://msdn.microsoft.com/en-us/library/bb933790.aspx