Top Banner
BANCO DE DADOS GEOGRÁFICOS Como abstrair dados geográficos computacionalmente?
23

Postgis (short)

Jun 25, 2015

Download

Documents

Bira Cruz
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Postgis (short)

BANCO DE DADOS GEOGRÁFICOS

Como abstrair dados geográficos computacionalmente?

Page 2: Postgis (short)

O problema fundamental da Geoinformação é a produção de representações computacionais do espaço geográfico.

BANCO DE DADOS GEOGRÁFICOS

E ainda: Realidade -> Modelo de dados -> Estrutura de Dados -> Estrutura de Arquivos

Page 3: Postgis (short)

ESTRUTURA DE DADOS VETORIAIS

A combinação entre entidade dados espacial com o seu atributo dado não espacial.

Page 4: Postgis (short)

ESTRUTURA DE DADOS VETORIAIS

Page 5: Postgis (short)

PostGIS

• Adiciona suporte espacial ao banco PostgreSQL;

• Segue os padrões de interoperabilidade da OGC – Open GeoSpatial.

● Assim o PostGis dá suporte a todos os objetos e funções previstas pela especifi cação SFS “Simple Features for SQL” da OGC.

Page 6: Postgis (short)

Que tipos de objetos geométricos é possível armazenar no PostGIS?

PostGIS

Page 7: Postgis (short)

Atualmente há dois tipos de dados macro suportados: padrão OGC geometry que utiliza um sistema de coordenadas planas. E o geography, utilizado para distâncias realmente grandes em relação a todo o planeta Terra, e não existe referência ao Sistema de Referência utilizado.

PostGIS

Page 8: Postgis (short)

Para medidas geográficas da Terra, o sistema de referência mais comum é o Latitude e Longitude.

Várias elpsóides de refrência podem ser usadas, a depender da região do planeta: América do Sul 1969, Clarke 1866, Internacional 1924, etc. Além disso, depois de aproximar determinada superfície para uma elipsóide existe o processo de planificação da Terra como um todo. Para isso pode ser usado uma projeção Plana, Cilíndrica ou Cônica.

No caso de localização de objetos na susperfície da Terra, o sistema tem um complicador por causa da esfericidade do planeta.

(Sistemas de Referência)

Page 9: Postgis (short)

(Sistemas de Referência)

Page 10: Postgis (short)

PostGIS

CREATE TABLE table_name (columns and values);

SELECT AddGeometryColumn(<schema_name>,<table_name>,<column_name>,<srid>,<type>,<dimension>);

3 restrições: dimension, geotype e srid

Page 11: Postgis (short)

● Mas qual a vantagem disso tudo?

PostGISPostGISPostGIS

Page 12: Postgis (short)

● Mas qual a vantagem disso tudo? Disjoint: analisa se duas geometrias possuem algum ponto em comum e

retorna o valor verdadeiro (t, true) se nenhum ponto for identificado;

Intersects: analisa se duas geometrias possuem alguma interseção e retorna verdadeiro (t, true) caso isto ocorra;

Touches: analisa se duas geometrias possuem alguma interseção e retorna verdadeiro (t, true) caso isto ocorra;

Crosses: analisa se duas geometrias se cruzam e retorna verdadeiro (t, true) caso isto ocorra;

Within: analisa se uma geometria está continda na outra e retorna verdadeiro (t, true) caso isto ocorra;

Contains: analisa se uma geometria contém a outra e retorna verdadeiro (t, true) caso isto ocorra.

PostGISPostGISPostGIS

Page 13: Postgis (short)

Nesse laboratório inicialmente temos uma máquina virtual com sistema operacional Ubuntu já com o postgreSQL e seu módulo postGIS instalados, bem como o servidor de mapas para internet Mapserver. Na máquina cliente em questão (Mac OS X Snow Leopard) temos o SIG Qgis e o PgAdmin III. Como a máquina virtual possui o samba instalado é possível passar arquivos para a mesma.

Postgis com Dados da Cidade de Aracaju

Page 14: Postgis (short)

● Bairros, Logradouros e Pontos de Interesse. ● Cada camada dessa pode ser tida como um tipo

de geometria: para Bairros -polígonos (MULTIPOLYGON), para Logradouros - linhas (MULTILINESTRING) e para Pontos de Interesse – pontos (POINT).

● Cada arquivo shape de cada camada na verdade é um conjunto de três arquivos da seguinte forma:

Camada Bairros = Bairros.shp, Bairros.shx e Bairros.dbf.

Postgis com Dados da Cidade de Aracaju

Page 15: Postgis (short)

#shp2pgsql -i -s 29194 -W iso88591 bairros.shp * > bairros.sql

Postgis com Dados da Cidade de Aracaju

Page 16: Postgis (short)

Tabela Bairros criada:

Postgis com Dados da Cidade de Aracaju

Page 17: Postgis (short)

Tabela Logradouros criada:

Postgis com Dados da Cidade de Aracaju

Page 18: Postgis (short)

Tabela Pontos de Interesse criada:

Postgis com Dados da Cidade de Aracaju

Page 19: Postgis (short)

Postgis com Dados da Cidade de Aracaju

Page 20: Postgis (short)

Postgis com Dados da Cidade de Aracaju

Page 21: Postgis (short)

Postgis com Dados da Cidade de Aracaju

Demonstração de uma consulta:

●CREATE OR REPLACE VIEW public.view1 AS SELECT b.gid, b.the_geom, b.nome, b."renda_media(sal-min_2000)" FROM bairros AS b ORDER BY 3 desc LIMIT 5;●INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")SELECT '','public','view1','the_geom',ST_CoordDim(the_geom),ST_SRID(the_geom),GeometryType(the_geom)FROM public.view1 LIMIT 1;

Page 22: Postgis (short)

Postgis com Dados da Cidade de Aracaju

Demonstração de uma consulta:

Page 23: Postgis (short)

Postgis com Dados da Cidade de Aracaju

● Dúvidas? Desejam assistir mais consultas no laboratório?

Se ( Desejam )do{laboratorio}while(Desejam)

Fim – do -Se

FIM

Email: [email protected]