Básico gis4devparte 02<br />SFSQL Simple Feature Specification For SQL<br />Relações Topológicas<br />alaorbianco@yahoo.co...
OpenGIS<br />Consórcio entre companhias, universidade e agências<br />governamentais<br />• Objetivo: promover o desenvolv...
Alguns Padrões<br />Algumas especificações OGC:<br />GML (Geography Markup Language): intercâmbio de dados<br />OWS (OGC W...
SFSQL<br />
WKT – Well Known Text for geometry<br />Existe uma gramática que define como representar textualmente<br />todos as difere...
WKB – Well Known Binary for geometry<br />Existe também uma versão binária para representar as geometrias. Pode ser usada ...
Relações Topológicas<br />Matriz de 4-interseções para relacionamentos topoloógicos ente regiões<br />Definida com base na...
Matriz de 4-intersecções (Egenhofer)<br />
SFSQL - Operadores Topológicos<br />
Relacionamentos Topológicos<br />Toca - única interseção é nas bordas<br />
Relacionamentos Topológicos<br />“Dentro de” : intersecção no interior<br />
Relacionamentos Topológicos<br />
Representação Vetorial<br />preserva relacionamentos topológicos<br /> associa atributos a elementos gráficos<br /> melhor...
Como armazenar?<br />Tabelas com pontos<br />
Características<br />Vantagens<br />Pesquisas poderão usar índices comuns<br />Desvantagens<br />Dados espalhados em mais ...
Como armazenar?<br />Binário longo<br />
Características<br />Vantagens<br />Todo dado necessário para representar a geometria está numa única coluna<br />Bom dese...
Chegando num consenso<br />Geralmente são armazenados em BLOB<br />Gera-se um índice baseado no menor retângulo que envolv...
Dinâmica de uma consulta<br />Executa uma busca pelo envelope (retângulo envolvente)<br />Seleciona-se os candidatos (cont...
Exemplo busca espacial com AO<br />var stateFeature = stateFeatureClass.GetFeature(14);<br />var queryGeometry = stateFeat...
Exemplo busca espacial com SQL<br />select * from lote a<br />where touches(a.geometry, (<br />select b.geometry from lote...
Upcoming SlideShare
Loading in...5
×

Geometrias

1,354

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,354
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Geometrias

  1. 1. Básico gis4devparte 02<br />SFSQL Simple Feature Specification For SQL<br />Relações Topológicas<br />alaorbianco@yahoo.com.br<br />
  2. 2. OpenGIS<br />Consórcio entre companhias, universidade e agências<br />governamentais<br />• Objetivo: promover o desenvolvimento de tecnologias que facilitem a interoperabilidade entre sistemas envolvendo informação geoespacial<br />• Os produtos do trabalho do OGC são apresentados sob forma de especificações de interfaces e padrões de intercâmbio<br />
  3. 3. Alguns Padrões<br />Algumas especificações OGC:<br />GML (Geography Markup Language): intercâmbio de dados<br />OWS (OGC Web Service): especificações de serviços WEB<br />WFS: Web FeatureService<br />WMS: Web MapServer<br />SFSQL (Simple Feature Specification For SQL): especificações sobre o armazenamento e recuperação de dados espaciais em SGBD’s OR<br />
  4. 4. SFSQL<br />
  5. 5. WKT – Well Known Text for geometry<br />Existe uma gramática que define como representar textualmente<br />todos as diferentes instâncias de geometrias. <br />Exemplos:<br />
  6. 6. WKB – Well Known Binary for geometry<br />Existe também uma versão binária para representar as geometrias. Pode ser usada na especificação do armazenamento<br />
  7. 7. Relações Topológicas<br />Matriz de 4-interseções para relacionamentos topoloógicos ente regiões<br />Definida com base na matriz de interseção entre a borda e o interior de duas regiões A e B<br />
  8. 8. Matriz de 4-intersecções (Egenhofer)<br />
  9. 9. SFSQL - Operadores Topológicos<br />
  10. 10. Relacionamentos Topológicos<br />Toca - única interseção é nas bordas<br />
  11. 11. Relacionamentos Topológicos<br />“Dentro de” : intersecção no interior<br />
  12. 12. Relacionamentos Topológicos<br />
  13. 13. Representação Vetorial<br />preserva relacionamentos topológicos<br /> associa atributos a elementos gráficos<br /> melhor exatidão e eficiência de armazenamento<br />
  14. 14. Como armazenar?<br />Tabelas com pontos<br />
  15. 15. Características<br />Vantagens<br />Pesquisas poderão usar índices comuns<br />Desvantagens<br />Dados espalhados em mais de uma tabela exigem joins, o que pode degradar o desempenho<br />Espaço de armazenamento<br />
  16. 16. Como armazenar?<br />Binário longo<br />
  17. 17. Características<br />Vantagens<br />Todo dado necessário para representar a geometria está numa única coluna<br />Bom desempenho para armazenar e recuperar<br />Desvantagens<br />Exige uma estrutura elaborada de índices<br />
  18. 18. Chegando num consenso<br />Geralmente são armazenados em BLOB<br />Gera-se um índice baseado no menor retângulo que envolve toda a geometria, geralmente chamado de retângulo envolvente, envelope ou extent<br />
  19. 19. Dinâmica de uma consulta<br />Executa uma busca pelo envelope (retângulo envolvente)<br />Seleciona-se os candidatos (contidos no envelope de pesquisa)<br />Executa uma consulta mais apurada utilizando algoritmos de pesquisa espacial<br />
  20. 20. Exemplo busca espacial com AO<br />var stateFeature = stateFeatureClass.GetFeature(14);<br />var queryGeometry = stateFeature.Shape;<br />var spatialFilter = newSpatialFilterClass();<br />spatialFilter.Geometry = queryGeometry;<br />spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;<br />var highwayCursor = highwayFeatureClass.Search(spatialFilter, false);<br />IFeaturehighwayFeature = null;<br />while ((highwayFeature = highwayCursor.NextFeature()) != null)<br />{<br />Stringname = Convert.ToString(highwayFeature.get_Value("HighwayName"));<br /> Console.WriteLine("Highwayfound: {0}", name);<br />}<br />Marshal.ReleaseComObject(highwayCursor);<br />
  21. 21. Exemplo busca espacial com SQL<br />select * from lote a<br />where touches(a.geometry, (<br />select b.geometry from lote b where b.id = 2));<br />select * from lote a<br />wherewithin(a.geometry, (<br />selectb.geometryfrom quadra b whereb.id = 1));<br />select* from lote a<br />wherecontains((<br />selectb.geometryfrom quadra b <br />whereb.id = 1) ,a.geometry)<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×