94
Conceitos SIG Sistema de informação geográfica

PGDAY - Palestra PostGIS + PgRouting

Embed Size (px)

DESCRIPTION

Palestra ministrada no evento PGDay sobre PostGIS + PgRounting

Citation preview

Page 1: PGDAY - Palestra PostGIS + PgRouting

Conceitos SIG

Sistema de informação geográfica

Page 2: PGDAY - Palestra PostGIS + PgRouting

Sistema de informação geográfica

Permitem aos usuários criar consultas interativas, analisar informações espaciais e editar dados cartográficos.Apresentar os resultados visualmente(mapas) em todas essas operações.

Page 3: PGDAY - Palestra PostGIS + PgRouting

Camadas● Hidrografia (Meio ambiente)

● Rodovias, Ruas (Transporte)

● Zona, Setor, Talhões (Agricultura)

● Setor, Quadra, Lotes (Gestão municipal)

● Gasodutos, Válvulas (Redes Gás)

● Fibra óptica (Telecomunicações)

● Redes de água e esgoto (Saneamento Básico)

Page 4: PGDAY - Palestra PostGIS + PgRouting

Feições

● Feição pode ser considerada a forma de representação de objetos em uma mundo real.

● Para um ambiente computacional, um de feições do mesmo tipo pode ser considerada uma camada.

● Ponto, Linha, Polígono

Page 5: PGDAY - Palestra PostGIS + PgRouting

Representações geométricas

● Point. (Pontual)

● LineString. (Linear)

● LinearRing. (Linear Composta)

● Polygon (with holes). (Polígonos)

● MultiPoint.(Pontual Composta)

● MultiLineString.(Linear Composta)

● MultiPolygon. (Poligonal Composta)

● GeometryCollection. (Feições Mistas)

Page 6: PGDAY - Palestra PostGIS + PgRouting

Representação em WKT● POINT (100 300)

● LINESTRING (20 380, 60 340, 120 340, 160 280)

● POLYGON( ( 40 320, 60 380, 120 380, 160 300, 100

260, 40 320) )

● MULTIPOINT(40 300, 80 340, 120 280)

● MULTILINESTRING (( 20 360, 60 380, 100 340, 160

360),(40 280, 80 300, 100 280, 160 300))

● MULTIPOLYGON (((80 320, 60 260, 100 280,80 320),

(100 340, 140 360, 140 300, 100 340)))

Page 7: PGDAY - Palestra PostGIS + PgRouting

Representação do mundo real

Page 8: PGDAY - Palestra PostGIS + PgRouting

Como organizar camadas em um padrão para Sistema de Informação

Geográfica

Page 9: PGDAY - Palestra PostGIS + PgRouting

Organização das camadas (Tabelas)

Page 10: PGDAY - Palestra PostGIS + PgRouting

Organização das camadas (Tabelas)

clientes.shpclientes.shxclientes.dbf

ruas.shpruas.shxruas.dbf

lotes.shp,lotes.shxlotes.dbf

elevacao.shpelevacao.shxelevacao.dbf

uso_territorial.shpuso_territorial.shpuso_territorial.dbf

Page 11: PGDAY - Palestra PostGIS + PgRouting

Arquivos de exportação

Extensão Descrição

*.shp,*.shp,*.dbf) Arquivos de exportação ArcGIS

*.dxf,*.dwg Arquivos de exportação do AutoCAD

*.tab, *.map,*.dat,*.id Arquivos de exportação do MapInfo

Mais informações sobre formatos

http://en.wikipedia.org/wiki/GIS_file_formats

Page 12: PGDAY - Palestra PostGIS + PgRouting

Entendendo o formatoShapefile

Page 13: PGDAY - Palestra PostGIS + PgRouting

Entendendo o formatoShapefile

Page 14: PGDAY - Palestra PostGIS + PgRouting

Importação dos arquivos

Page 15: PGDAY - Palestra PostGIS + PgRouting

Importação dos arquivos

Page 16: PGDAY - Palestra PostGIS + PgRouting

Comando de importação

● shp2pgsql.exe -s 4326 clientes.shp clientes > clientes.sql

shp2pgsql.exe – Aplicação instalada junto com a extensão PostGIS;

-s – Parâmetro usado para setar o sistema de coordenadas geográfico;

4326 – Numero equivalente ao sistema de coordenada

clientes.shp – E o nome ‘do arquivo’ shape que iremos importar.

clientes – Nome da Tabela que sera criada no banco de dados

PostgreSQL/PostGIS.

clientes.sql – Arquivo que sera gravado na pasta do “.exe” com a expressão sql referente a criação da tabela espacial e seus atributos

Page 17: PGDAY - Palestra PostGIS + PgRouting

Interface de importação

Instalado junto com o complemento shp2pgsql-gui● Importação de Shapefiles● Uso via interface gráfica● Instalação PostgreSQLPostgreSQL\versão\bin\postgisgui\shp2pgsql-gui.exe

Page 18: PGDAY - Palestra PostGIS + PgRouting

PostGIS - Entendendo as funcionalidades disponíveis

Page 19: PGDAY - Palestra PostGIS + PgRouting

Introdução PostGIS

● PostGIS e uma extensão ao banco de dadosobjeto-relacional PostgreSQL ,● Permite armazenamento de objetos SIG nobanco de dados .● PostGIS inclui suporte para índices espaciais e funções para analise e processamento de objetos SIG.

Page 20: PGDAY - Palestra PostGIS + PgRouting

Criando tabelas especiais

● Criando tabela com tipo de dados espacialCREATE TABLE teste (gid serial primary key, namevarchar(20), geom geometry(LINESTRING) );● Inserindo objeto GISINSERT INTO teste (ID, NAME, GEOM)VALUES (1, 'Primeira Geometria',ST_GeomFromText('LINESTRING(2 3,4 5,6 5,78)'));

Page 21: PGDAY - Palestra PostGIS + PgRouting

Objetos SIG

● Os objetos GIS suportados pelo PostGISsão um superconjunto dos "Simple Features"● Definições OpenGIS Consortium (OGC).● A partir da versão 0.9, PostGIS suportatodos os objetos e funções especificado pelopadrão OGC "Simple Features for SQL".

Page 22: PGDAY - Palestra PostGIS + PgRouting

Padrões OpenGIS WKB e WKT

● A especificação OpenGIS define duas formas padrão de

expressar objetos espaciais:

● ( WKT ) Well-Known-Text

● (WKB) Well-Known-Binary.

● Ambos WKT e WKB incluir informações sobre o tipo do

objeto e as coordenadas que formam o objeto.

Page 23: PGDAY - Palestra PostGIS + PgRouting

Exemplos de 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))

Page 24: PGDAY - Palestra PostGIS + PgRouting

SRID (Spatial Reference SystemIdentifier )

● A especificação OpenGIS identificador desistema de referencia espacial ( SRID ) .● O SRID e necessária quando a criação deobjetos espaciais para a inserção nobanco de dados.

Page 25: PGDAY - Palestra PostGIS + PgRouting

SRID (Spatial Reference SystemIdentifier )

● Cada tipo de sistema de projeção, SRID serve para um aglomerado territorial específico.

● http://spatialreference.org/

Page 26: PGDAY - Palestra PostGIS + PgRouting

Funções de conversão

● bytea WKB = ST_AsBinary(geometry);● text WKT = ST_AsText(geometry);● geometry = ST_GeomFromWKB(byteaWKB, SRID);● geometry = ST_GeometryFromText(textWKT, SRID);

Page 27: PGDAY - Palestra PostGIS + PgRouting

Exemplo

● Por exemplo, uma declaração válida deinserção para criar e inserir um objetoespacial OGC seria:INSERT INTO tabela_geografica ( the_geom, the_name )VALUES ( ST_GeomFromText('POINT(-126.4 45.32)', 312), 'Um lugar');

Page 28: PGDAY - Palestra PostGIS + PgRouting

2D e 3D

● POINT: Criando uma tabela com a geometria de pontos 2d

CREATE TABLE tabela_2d(gid serial PRIMARY KEY,the_geog geography(POINT,4326) );● Criando uma tabela com a coordenada z para o

ponto.

CREATE TABLE tabela_3d(gid serial PRIMARY KEY,the_geog geography(POINTZ,4326) );

Page 29: PGDAY - Palestra PostGIS + PgRouting

Metadados

● Para as informações das tabelas espaciaisSELECT * FROM geography_columns;● Lista de sistemas de coordenadasdisponíveisSELECT * FROM spatial_ref_sys

Page 30: PGDAY - Palestra PostGIS + PgRouting

Metadados

Visão GEOMETRY_COLUMNS

● F_TABLE_SCHEMA - Esquema que a tabela foi criada

● F_TABLE_NAME - Nome da tabela espacial criada

● F_GEOMETRY_COLUMN - Nome da coluna espacial da tabela

● COORD_DIMENSION – Dimensões da geometria 2D, 3D ...

● SRID – Sistema de projeção de coordenadas

● TYPE – Ponto, Linha, Polígono ...

Page 31: PGDAY - Palestra PostGIS + PgRouting

Metadados

● Tabela SPATIAL_REF_SYSOnde são gravadas as informações sobre sistemas de coordenadas utilizados no banco● SRID – ID para sistema de projeção de coordenadas geográficas

● AUTH_NAME – Nome referência

● AUTH_SRID - Nome referência SRID

● SRTEXT – Datum que representa o conjunto de parâmetros que define o sistema de coordenadas.

● PROJ4TEXT – Datum usado para a biblioteca de conversão postgis PROJ4

Page 32: PGDAY - Palestra PostGIS + PgRouting

Quando usar o tipo geográficoou o tipo geométrico

● Geográficolongitude / latitudeha menos funções definidas● GeométricoConjunto maior de funções disponíveisProjetado ou linear

Page 33: PGDAY - Palestra PostGIS + PgRouting

Justificativas para uso detabelas Geográficas

● Dados globais, disponibilidade continental● Um conhecimento restrito sobre sistemasde coordenadas georreferenciados● Uso de funcionalidades simples

Page 34: PGDAY - Palestra PostGIS + PgRouting

Exemplo de um sistema Geográfico

● WGS 84 : ● Sistema onde é possível representar os atributos espaciais de forma global.

● Fonte :http://spatialreference.org/

Page 35: PGDAY - Palestra PostGIS + PgRouting

Justificativas para uso detabelas Geométricas

● Dados restritos a um estado ou municípiopor exemplo● Número bem maior de funcionalidades para cálculos geográficos● Maior precisão na área mais restrita

Page 36: PGDAY - Palestra PostGIS + PgRouting

Exemplo de um sistema Geométrico

Sad69 / utm zone 23s : Sistema que possibilita uma representação mais específica. Fonte http://spatialreference.org/

Geográficas

Page 37: PGDAY - Palestra PostGIS + PgRouting

Relacionamentos

● Topológicos: Determinam se dois objetos interceptam-se ou não e qual o tipo de topologia existente entre eles.

● Métricos: Relações que tratam da distancia existente

entre feições geográficas;

● De ordem: Diz como os objetos estão posicionados ou

relacionados entre si (a norte, ao sul, a direita, etc).

Page 38: PGDAY - Palestra PostGIS + PgRouting
Page 39: PGDAY - Palestra PostGIS + PgRouting
Page 40: PGDAY - Palestra PostGIS + PgRouting

Índices espaciais

Page 41: PGDAY - Palestra PostGIS + PgRouting

Índices espaciais

● Permite que o banco de dados tenha eficiência

● Grande volume de informações

● O PostgreSQL + PostGIS utiliza 3 tipos de índices.

● B-Tree (não espacial)

● R-Tree (espacial)

● GIST (espacial)

Page 42: PGDAY - Palestra PostGIS + PgRouting

Índices espaciais (B-Trees)

● Usados para dados que podem serordenados ao longo de um eixo.● Dados não GIS (numero, letra inicial, datas)● Não e utilizado como índice espacial

Page 43: PGDAY - Palestra PostGIS + PgRouting

Índices espaciais (R-Trees)

● Dividem os dados em retângulos,subretângulos e sub-sub-retângulos e etc.● R-Trees são usadas pelos bancos de dados espaciais para indexar dados cartográficos.

Page 44: PGDAY - Palestra PostGIS + PgRouting

Índices espaciais (GIST)

● GIST (Generalized Search Trees)● Dividem dados em:

● “things to one side” (feições para um lado)

● “things which overlap” (feições que se sobrepõem)

● “things which are inside” (feições que estão dentro)

Page 45: PGDAY - Palestra PostGIS + PgRouting

Índices espaciais (GIST)

● Usado para acelerar consultas em estruturas geométricas

irregulares

CREATE INDEX NOME_INDICE ON NOME_TABELA USING

GIST (COLUNA_ESPACIAL)● Forçando a atualização índice espacial com o comando.

VACUUM ANALYZE NOME_TABELA COLUNA_ESPACIAL

Page 46: PGDAY - Palestra PostGIS + PgRouting

Índices (Vantagens)

● Na construção de uma "query" comoperadores● Exemplo &&, pode tirar proveito do índiceespacial de GiST.● Funções como distance() não pode usar oíndice para otimizar suas operações.

Page 47: PGDAY - Palestra PostGIS + PgRouting

Operadores

&& → Este operador diz se caixa delimitada de uma

geometria sobrepõe caixa delimitada de outra.

~= → Estes operadores testam se duas geometrias são

geometricamente idênticas. Por exemplo,se '

POLYGON((0 0,1 1,1 0,0 0)) ' esta igual a '

POLYGON((0 0,1 1,1 0,0 0)) '.

= → Este operador e mais ingenuo, só testa se as caixas

delimitadas para geometrias são as mesmas.

Page 48: PGDAY - Palestra PostGIS + PgRouting

Estrutura de dados

Page 49: PGDAY - Palestra PostGIS + PgRouting

Funções PostGIS

● Link completo com as funçõesdisponibilizada pela extensão espacialPostGIShttp://www.postgis.us/downloads/postgis20_cheatsheet.html

Page 50: PGDAY - Palestra PostGIS + PgRouting

Junções Espaciais

● Junções normais usam uma chave comumSELECT a.var1, b.var2 FROM a,b WHERE a.id =b.id● Junções espaciais utilizam a chave universal delocalizaçãoSELECT a.var1, b.var2 FROM a,b WHEREST_Intersects(a.geom = b.geom)

Page 51: PGDAY - Palestra PostGIS + PgRouting

Junções Espaciais

● Relacione os bares que estão a 250metros de um hospitalSELECT h.nome,b.nome, b.geometria FROM hospitais h, bares b WHERE h.nome = 'Santa casa de São Paulo' AND DWITHIN( h.geometria,b.geometria, 250);

Page 52: PGDAY - Palestra PostGIS + PgRouting

Junções Espaciais

CREATE VIEW areas_voto AS SELECTST_Intersection( a.geometria, m.geometria) AS intersection, ST_Area(a.geometria) AS va_area,m.name FROM areas a, municipio mWHERE ST_Intersects( a.geometria, m.geometria) AND m.name='São Paulo';

Page 53: PGDAY - Palestra PostGIS + PgRouting

Projeção de Coordenadas

Veja o SRID utilizando a função ST_SRIDSELECT ST_SRID(geometria) FROMtabela_especial LIMIT 1;SRID do sistema WGS 84SELECT srtext FROM spatial_ref_sysWHERE srid = 4326;

Page 54: PGDAY - Palestra PostGIS + PgRouting

Projeção de Coordenadas

● "GEOGCS["WGS

84",DATUM["WGS_1984",SPHEROID["WGS

84",6378137,298.257223563,AUTHORITY[

"EPSG","7030"]],AUTHORITY["EPSG","63

26"]],PRIMEM["Greenwich",0,AUTHORITY

["EPSG","8901"]],UNIT["degree",0.017453

2925199433,AUTHORITY["EPSG","9122"]]

,AUTHORITY["EPSG","4326"]]"

Page 55: PGDAY - Palestra PostGIS + PgRouting

Projeção de Coordenadas

● PROJ4 – Biblioteca de reprojeção usadapelo PostGISSELECT proj4text FROM spatial_ref_sysWHERE srid = 4326;● "+proj=longlat +datum=WGS84 +no_defs "

Page 56: PGDAY - Palestra PostGIS + PgRouting

Projeção de Coordenadas

● Para usar a reprojeção de coordenadas utiliza-se a função ST_TransformSELECT ST_AsText(geometria) FROMrodovias LIMIT 1;SELECT ST_AsText(ST_Transform(geometria,4326))FROM rodovias LIMIT 1;

Page 57: PGDAY - Palestra PostGIS + PgRouting

Image Rasters

Page 58: PGDAY - Palestra PostGIS + PgRouting

Matriz

Page 59: PGDAY - Palestra PostGIS + PgRouting

Ortofoto

Page 60: PGDAY - Palestra PostGIS + PgRouting

Raster gradiente

Page 61: PGDAY - Palestra PostGIS + PgRouting

Temático

Page 62: PGDAY - Palestra PostGIS + PgRouting

O que são bandas?

Page 63: PGDAY - Palestra PostGIS + PgRouting

Composição RGB

Page 64: PGDAY - Palestra PostGIS + PgRouting

Carregando e Criando Rasters

● Para a maioria dos casos, carregar arquivos raster existentes

● Usando o gerenciador raster2pgsql.● Que é nativo no conjunto de aplicativos

postgis.● Antes eram executados scripts python

GDAL para isso.

Page 65: PGDAY - Palestra PostGIS + PgRouting

Usando raster2pgsql paracarregamento de arquivos raster● O raster2pgsql é um carregador de arquivos

raster , Carrega arquivos suportados pelos formatos raster GDAL em SQL.

● Adequado para o carregamento em uma tabela espacial no PostGIS raster.

● Ele é capaz de carregar pastas com vários arquivos raster.

● Criação de visões globais(overviews) de rasters

Page 66: PGDAY - Palestra PostGIS + PgRouting

Exemplosraster2pgsql -s 4236 -I -C -M *.tif -F -t 100x100 public.tabela_raster > raster.sql

psql -d nome_do_banco -f raster.sql

-s - <SRID> Atribuir saída raster com SRID especificado.

-l - OVERVIEW_FACTOR Criar visão geral(overview) do raster.

-C - Aplicando restrição raster -- srid, tamanho de pixel etc. para garantir que o

raster está devidamente registrado na visão(view) raster_columns.

-M - Vacuum analyze a tabela de raster.

-F - Adicionar coluna com o name do arquivo

-t TILE_SIZE - Cortar raster em partes(tiles) para ser inserido em um registro da

tabela (table row). TILE_SIZE é expressa como WIDTHxHEIGHT.

Page 67: PGDAY - Palestra PostGIS + PgRouting

Rasters Overviews

● raster_overviews catálogos informações sobre ascolunas da tabela raster utilizados para overviews● Overviews são catalogados em ambos raster_columns e

raster_overviews porque são rasters em seu próprio direito, mas também servem a um propósito especial.

● Ser uma definição menos de uma tabela de resolução mais alta(raster).

● Ele só é gerado quando parametrizamos -l no carregamento do raster.

Page 68: PGDAY - Palestra PostGIS + PgRouting

Página do INPE (catalogo deimagens)

● Para acesso ao catalogo de imagens do�

● INPE ( Instituto Nacional de Pesquisas● Espaciais)● � http://www.dgi.inpe.br/CDSR/

Page 69: PGDAY - Palestra PostGIS + PgRouting

PGRouting (Rotas e caminhos)

Page 70: PGDAY - Palestra PostGIS + PgRouting

PgRouting

● PgRouting amplia à extensão espacial PostGIS do banco PostgreSQL

● Funcionalidades de roteamento geoespacial

● PgRouting está disponível sob a licença GPLv2 e é apoiado por uma comunidade crescente de indivíduos, empresas e organizações.

Page 71: PGDAY - Palestra PostGIS + PgRouting

Vantagens

● Dados podem ser visualizados por muitos SIGS Opensource como QGIS, UDIG …

● Alterações podem ser aplicadas instantaneamente, sem a necessidade de realizar cálculos adicionais (prévios).

● O parâmetro "custo" pode ser calculado de forma dinâmica através de SQL.

Page 72: PGDAY - Palestra PostGIS + PgRouting

PgRouting fornece funções para:● All Pairs Shortest Path, Johnson’s Algorithm

● All Pairs Shortest Path, Floyd-Warshall Algorithm

● Shortest Path A*

● Bi-directional Dijkstra Shortest Path

● Bi-directional A* Shortest Path

● Shortest Path Dijkstra

● Driving Distance

● K-Shortest Path, Multiple Alternative Paths

● K-Dijkstra, One to Many Shortest Path

● Traveling Sales Person

● Turn Restriction Shortest Path (TRSP)

● Shortest Path Shooting Star

Page 73: PGDAY - Palestra PostGIS + PgRouting

OpenStreetMap e PgRouting

● OpenStreetMap é uma fonte de dados perfeito para usar para pgRouting , porque é livremente disponível e não tem restrições técnicas em termos de processamento de dados.

Page 74: PGDAY - Palestra PostGIS + PgRouting

OpenStreetMap estruturade dados topológica :

● Nodes - são pontos com uma posiçãogeográfica.● Ways - são listas de nós , o que representauma polilinha ou polígono.● Relations - são grupos de nós , caminhos eoutras relações que podem ser atribuídosdeterminadas propriedades.● Tags - podem ser aplicadas a nós , formas ourelações e consistem de pares name = value.

Page 75: PGDAY - Palestra PostGIS + PgRouting

osm2pgrouting

● osm2pgrouting é uma ferramenta de linha decomando que facilita a importação de dados doOpenStreetMap em um banco de dadospgRouting .● Baseia-se a topologia da rede de roteamentoautomaticamente e cria as tabelas para os tiposde recursos e classes de estradas.osm2pgrouting foi escrito principalmente porDaniel Wendt e agora está hospedado no sitedo projeto pgRouting

Page 76: PGDAY - Palestra PostGIS + PgRouting

Windows OSM2PO - Routing OnOpenStreetMap

● C:\osm2po-4.2.30>java -jar osm2po-core-4.2.30-signed.jar prefix=at "C:\temp\map.osm.pbf"

● psql -U [username] -d [dbname] -q -f "C:\osm2po-4.2.30\at\at_2po_4pgr.sql"

Page 77: PGDAY - Palestra PostGIS + PgRouting

Exemplo

Vamos testar agora! Rota da source(origem) # 1 para target(destino) # 3000 usando

pgr_dijkstra:

SELECT seq, id1 AS node, id2 AS edge, cost, geom

FROM pgr_dijkstra(

'SELECT id, source, target, st_length(geom) as cost FROM

network.logradouro',

1, 3000, false, false) as di

JOIN network.logradouro log

ON di.id2 = log.id ;

Page 78: PGDAY - Palestra PostGIS + PgRouting
Page 79: PGDAY - Palestra PostGIS + PgRouting

Midware GeoserverAcesso aos serviços WMS e WFS

Page 80: PGDAY - Palestra PostGIS + PgRouting

WMS – Web Map Service

● Interface HTTP simples● Interface usada para solicitar imagens parao cliente● Imagens estas que são geradas a partir deuma fonte de dados espacial● Essas imagens são geradas pelo midware(Geoserver)

Page 81: PGDAY - Palestra PostGIS + PgRouting

WMS – Web Map Service● http://<endereco>:<posta>/geoserver/workspace/wms

● ?service=WMS

● &version=1.1.0

● &request=GetMap

● &layers=sao_paulo_ws:cidades_principais

● &styles=default

● &bbox=xmin,ymin,xmax,ymax

● &width=531&height=330

● &srs=EPSG:4326

● &format=image%2Fpng

Page 82: PGDAY - Palestra PostGIS + PgRouting

WMS – Web Map Service

Executando camada WMS via navegador

Page 83: PGDAY - Palestra PostGIS + PgRouting

Servico pelo WMS viaOpenLayers

Page 84: PGDAY - Palestra PostGIS + PgRouting

WFS – Web Feature Service

● Padrão OGC WFS permite que um clienterecupere dados geoespaciais codificados● Estes dados podem atuar em váriosformatos também OGC● Exemplo GML (Geography MarkupLanguage) ou GeoJson ...● Em vários serviços Web Feature "

Page 85: PGDAY - Palestra PostGIS + PgRouting

WFS – Web Feature Service

● http://endereco:porta/geoserver/workspace/ows

● ?service=WFS //tipo

● &version=1.0.0 //versao

● &request=GetFeature //metodo

● &typeName=sao_paulo_ws:cidades_principais

● &maxFeatures=50 //qtde feições

● &outputFormat=json // formato de resposta

// geojson ou gml

Page 86: PGDAY - Palestra PostGIS + PgRouting

GeoJSON

● {"type":"FeatureCollection","features":[{"type":"Feature","id":"tasmania_cities.1","geometry":{"type":"MultiPoint","coordinates":[[147.2910004483,-42.851001816890005]]},"geometry_name":"the_geom","properties":{"CITY_NAME":"Hobart","ADMIN_NAME":"Tasmania","CNTRY_NAME":"Australia","STATUS":"Provincial capital","POP_CLASS":"100,000 to 250,000"}}],"crs":{"type":"EPSG","properties":{"code":"4326"}}}

Page 87: PGDAY - Palestra PostGIS + PgRouting

GML

Page 88: PGDAY - Palestra PostGIS + PgRouting

Outros formatos

Page 89: PGDAY - Palestra PostGIS + PgRouting

Dicas

● Se necessário, use funções PostGIS em instruções escritas com

PL/pgSQL.

● A utilização criteriosa dos índices espaciais pode contribuir no

desempenho durante a execução das consultas.

● O ajuste do banco de dados certamente faz diferença (performance

tuning).

● As copias de segurança devem ser mantidas sempre atualizadas

(estrategia de backup).

● Permissões de acessos aos objetos também deve ser revista

periodicamente (politica de segurança).

Page 90: PGDAY - Palestra PostGIS + PgRouting

Exemplo de aplicação

Page 91: PGDAY - Palestra PostGIS + PgRouting
Page 92: PGDAY - Palestra PostGIS + PgRouting

Referências

http://postgis.net.http://pgbr.postgresql.org.br/2009/palestras/aud1/http://www.slideshare.net/aitproeg/postgishttp://docs.geoserver.org/http://www.opengeospatial.org/standards

Page 93: PGDAY - Palestra PostGIS + PgRouting

Sorteio

● Sorteio de 5 cursos da GeoCursos● http://goo.gl/oSOZgy

Page 94: PGDAY - Palestra PostGIS + PgRouting

Obrigado!Jairo de [email protected]