Escolar Documentos
Profissional Documentos
Cultura Documentos
POINT GEOMETRYCOLLECTION
LINESTRING MULTIPOINT
POLYGON MULTILINESTRING
MULTIPOLYGON
4
PostGIS
• Formatos WKB e WKT do OpenGIS
5
Representação Textual das Geometrias
• Point: (0 0 0)
• LineString: (0 0, 1 1, 2 2)
• Polygon: ((0 0 0, 4 0 0, 4 4 0, 0 4 0, 0 0 0), ( 1 0
0, ...), ...)
• MultiPoint: (0 0 0, 4 4 0)
• MultiLineString: ((0 0 0, 1 1 0, 2 2 0), (4 4 0, 5 5 0, 6 6
0))
• MultiPolygon: (((0 0 0, 4 0 0, 4 4 0, 0 4 0, 0 0 0),
(...), ...), ...)
• GeometryCollection: (POINT(2 2 0), LINESTRING((4 4
0, 9 9 0))
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) );
• Por exemplo:
– Considerando a interface GeomFromText
• GeomFromText (text WKT, SRID);
• Operadores Métricos:
– distance(geometry,geometry)
– area(geometry)
• Centróide de geometrias:
– Centroid(geometry)
• •Validação (verifica se a geometria possui
auto-interseções):
– isSimple(geometry)
Consultas
• Consulta 1:
SELECT d2.nomemunicp
FROM grande_sp d1, grande_sp d2
WHERE touches(d1.spatial_data,
d2.spatial_data)
AND (d2.nomemunicp <> 'SAO PAULO')
AND (d1.nomemunicp = 'SAO PAULO');
Consulta Usando Índice Espacial
SELECT d2.nomemunicp
FROM distritossp d1, distritossp d2
WHERE touches(d1.spatial_data,
d2.spatial_data)
AND (d2.nomemunicp <> 'SAO PAULO')
AND (d1.spatial_data && d2.spatial_data)
AND (d1.nomemunicp = 'SAO PAULO');
Consulta Usando Índice Espacial
SELECT grande_sp.nomemunicp
FROM distritossp, grande_sp
WHERE touches(distritossp.spatial_data,
grande_sp.spatial_data)
AND (distritossp.spatial_data &&
grande_sp.spatial_data)
AND (distritossp.denominacao =
'ANHANGUERA');
Consulta Usando Índice Espacial
SELECT COUNT(*)
FROM bairrossp pt, distritossp pol
WHERE contains(pol.spatial_data,
pt.spatial_data)
AND (pol.spatial_data && pt.spatial_data)
AND pol.denominacao = 'GRAJAU';
Exemplo de Consulta
SELECT grande_sp.nomemunicp
FROM grande_sp, drenagemsp
WHERE
intersects(buffer(drenagemsp.spatial_da
ta, 3000), grande_sp.spatial_data)
AND drenagemsp.cod = 59;
Exemplo de Consulta
SELECT b1.bairro
FROM bairrossp b1, bairrossp b2
WHERE (distance(b1.spatial_data,
b2.spatial_data)
< 3000)
AND b1.bairro <> 'BOACAVA'
AND b2.bairro = 'BOACAVA' order by b1.bairro;
GeoServer
• Programa de código aberto escrito em Java
– Desenvolvido, testado e mantido por um diverso grupo
de indivíduos e organizações
– Software livre (licença GNU - General Public License)
• Permite que usuários compartilhem e editem dados
geoespaciais
• Projetado para ser interoperável
– Publica dados da várias fontes de dados espaciais
(PostGIS, Oracle, SQL Server, Shapefile, etc)
– Utiliza padrões abertos (WMS, WFS, WCS, GML)
História
• GeoServer começou em 2001 pelo TOOP (The
Open Planning Project)
• TOOP tinha como objetivo a criação de um
conjunto de ferramentas para tornar o governo
mais transparente
• O GeoServer foi criado para compartilhamento
de dados espaciais
• O GeoServer foi criado utilizando a ferramenta
de SIG GeoTools
Instalação e Configuração
• Binário independente de Sistema Operacional
– Instalação rápida e não necessita de programas
adicionais
– Aplicação GeoServer embutido no Jetty (um leve
servidor de aplicações Web)
– Baixar o arquivo apropriado na página de
downloads
– Descompacte o arquivo baixado para a pasta onde
será instalado (c:\Arquivos de Programa\GeoServer)
Instalação e Configuração
• Binário independente de Sistema Operacional (cont.)
– Atribuir variáveis de ambiente
• Painel de Controle -> Sistema -> Avançado -> Variáveis de Ambiente
• Abaixo de “Variáveis de Sistema” Clique em “Nova”
• Para nome da variável digite “GEOSERVER_HOME”. Para valor da
variável digite o caminho para seu GeoServer (c:\Arquivos de
Programa\GeoServer)
– Execute o arquivo %GEOSERVER_HOME%\bin\startup.bat
– Acesse em um navegador Web http://localhost:8080/geoserver
– Para parar o serviço execute %GEOSERVER_HOME
%\bin\shutdown.bat
Instalação e Configuração
• Web archive (WAR)
– Necessita de um servidor de aplicações Web (Apache
Tomcat)
– Maior escalabilidade e desempenho
– Baixe o arquivo geoserver.war na página de downloads
do GeoServer
– Copie o arquivo para o diretório de aplicações Web do
seu servidor de aplicações Web (c:\tomcat\webapps\)
– Uma reinicialização do seu servidor de aplicações Web
pode ser necessário
Administração
• Ferramenta de administração Web do
GeoServer
• http://localhost:8080/geoserver/web
Administração
• Para acessar as configurações é necessário
autenticar-se
• O nome de usuário padrão é “admin” e a
senha é “geoserver”
Administração
• Menu lateral com todas as
funcionalidade da ferramenta de
administração
• Server: situação do servidor e
configurações gerais
• Services: configurações dos serviços
Web
• Data: Cadastro de informações dos
dados espaciais
• Security: Configurações de segurança
Server – Server Status
Server – Contact Information
Server – Global Settings
Server – JAI Settings
Server – About GeoServer
Services
• A seção de serviço é para usuários avançados que
precisam configurar os protocolos de requisição
• A página de WCS gerencia informações de
metadados, comuns para requisições WCS, WMS
e WFS
• A página de WFS permite a configuração de
feições, níveis de serviço e saída de GML
• A página de WMS configura as opções de raster e
SVG
Data
• Cada subseção de data permite adicionar,
editar e remover o tipo de data
correspondente a subseção
• Todos os tipos de dados possuem fluxo de
trabalho similares
Style
Layers
Stores
Demos
• Possui exemplos de requisições WMS, WCS e WFS
• Possui uma lista de informações sobre os sistemas de
referência espacial
• Não é necessário estar autenticado para acessar essa
página
Layers Preview
• Permite a visualização das camadas em vários
formatos de saída (OpenLayers, KML, GML)
GEOSERVER VECTOR
Adicionando Shapefile
• Adicionando Shapefile
– Baixe o arquivo nyc_roads.zip
– Descompacte nyc_roads.zip no diretório
%GEOSERVER_HOME%\data_dir\data\
Criar Workspace
• Criar workspace com um nome e uma URI
qualquer
Criar Store
Fonte de Dados do
tipo ShapeFile
Criar Fonte de Dados ShapeFile
Caminho do
arquivo ShapeFile
Configuração de Camada
• Após criar a fonte de dados, você será
direcionado para a seleção de camada
• Selecione a única camada existente
Publicar Camadas
Visualizar a Camada
• Acesse a função “Layer Preview” e clique em
OpenLayers na camada publicada
Visualizando a Camada
• Visualização da camada
publicada no
OpenLayers
Adicionando uma Tabela PostGIS
• Crie uma tabela PostGIS
• No GeoServer, crie uma fonte de dados do
tipo “PostGIS NG”
Configurando a Fonte de Dados PostGIS
• Configure a conexão
com o banco de dados
PostGIS
Configuração de Camada
1. Acesse Data -> Layers
2. Selecione a fonte de dados criada
3. Selecione a tabela criada no banco PostGIS
4. Configure a camada e publique (similar a
camada ShapeFile)
5. Visualize no “Layer Preview”
GEOSERVER RASTER
GeoServer Raster
• GeoServer dá suporte aos seguintes formatos
Raster
– ArcGrid
– GeoTIFF
– Gtopo30
– ImageMosaic
– WorldImage
GeoTiFF
• GeoTIFF é uma imagem TIFF georreferenciada
Configurando uma Fonte de Dados GeoTIFF
• Especificar o caminho
da imagem no diretório
do GeoServer
WorldImage
• Imagem com um arquivo de dados espaciais
anexado (jpg + jgw, tiff + tfw)
Configurando uma Fonte de Dados
WorldImage
• Especificar o caminho
da imagem no diretório
do GeoServer
ImagePyramid
• GeoServer trabalha com imagens TIFF com até 2GB
eficientemente
• Acima de 2GB é recomendado utilizar o algoritmo do
pirâmide
• Uma pirâmide de imagem constrói múltiplos
mosaicos de imagens
• Cada mosaico serve para um nível de zoom diferente
• É necessário instalar uma extensão no GeoServer
para adicionar pirâmides de imagens
Instalando ImagePyramid
1. Baixe a extensão ImagePyramid na página de
downloads no GeoServer
2. Descompacte o conteúdo do arquivo para
%GEOSERVER_HOME%/WEB-INF/lib
3. Reinicie o servidor de aplicações Web
4. Após instalado, aparecerá a opção
ImagePyramid na lista de fonte de dados
Raster
ImagePyramid
• Especificar o
caminho do
diretório que
possui a pirâmide
de imagens
Visualizando a Camada
PROJETO DE SIG WEB
Pilha de Camadas de um SIG
• Dados
– Banco de Dados Espaciais, Shapefile
• Servidor de SIG
– Serviços Web, Mediador
• Cliente SIG
– Análise, Web, Desktop, Mapping
Pilha de um SIG Proprietário
• ArcView
Cliente SIG
• ArcIMS
Servidor SIG
• ArcSDE
Dados Espaciais
Pilha de um SIG Aberto
• OpenLayers
Cliente SIG
• MapServer
Servidor SIG • GeoServer
• MySQL
Dados Espaciais • PostGIS
Vamos construir um SIG Aberto!!!