Operações sobre objectos espaciais vectoriais
Operações elementares sobre objectos Comprimento de uma linha Área de um polígono Perímetro de um polígono Centro de um polígono
Distância Distância entre pontos: d(a,b)=||a-b||, em que ||.|| representa a norma euclidiana Distância entre linhas: existem várias definições para a distância entre dois segmentos de recta (distância entre os pontos mais próximos, área da superfície definida pelos segmentos, …) Distância entre polígonos
Interior, fronteira, exterior Os objectos espaciais correspondem a conjuntos fechados de R2 Interior: conjunto de pontos do objecto para os quais existe uma vizinhança espacial contida no objecto. Exterior: conjunto dos pontos interiores do complemento do objecto Fronteira: conjunto de pontos que não estão no interior ou no exterior, i.e., conjunto dos pontos cujas vizinhanças intersectam o interior e o exterior.
Relações booleanas Conjunto de operadores para testar as relações espaciais entre objectos vectoriais (norma ISO/OGC). Dados dois objectos espaciais A e B, em que A e B podem ser pontos, linhas, polígonos ou conjuntos desses objectos, pode construir-se proposições lógicas sobre relações espaciais.
Operações com valor lógico A igual a B – se os objectos A e B são espacialmente coincidentes A disjunto de B – se não existe nenhum ponto que seja comum a A e B A intersecta B – se a intersecção entre os interiores de A e de B é não vazia A toca B – se os interiores de A e B não se intersectam mas as fronteiras intersectam
Operações com valor lógico (cont.) A está contido em B A contém B ...
Operações com valor lógico (cont.) A dimensão de um ponto é 0, a de uma linha é 1, e a de um polígono é 2. Algumas operações apenas estão definidas para certos tipos de objectos. Exemplos: Só se considera que “A contém B” está definido se A for um objecto com dimensão igual ou superior a B. Considera-se que “A toca B” não está definido se A e B forem pontos ou conjuntos de pontos.
Operações não booleanas sobre objectos espaciais Dados objectos espaciais podem definir-se novos objectos espaciais usando operações de análise espacial
Operações de análise espacial: operações básicas Geração de buffers: dado um objecto ou conjunto de objectos A e um número k, define o(s) polígono(s) cujos pontos estão a uma distância de A inferior ou igual a k Envolvente convexo: dado um objecto ou conjunto de objectos define o mais pequeno polígono (convexo) que contém todos esses objectos Intersecção: dado um conjunto de objectos A e outro conjunto B, define o conjunto de objectos cujos pontos estão na intersecção de A e B.
Operações básicas de análise espacial (cont.) União dado um conjunto de objectos A e outro conjunto B, define o conjunto de objectos cujos pontos estão na união de A e B Diferença: dados dois conjuntos de objectos A e B devolve o conjunto A-B de pontos que estão em A e não estão em B (Nota: esta operação não é comutativa.)
Operações espaciais e operações sobre a tabela de atributos associada Operações espaciais que dão origem a novos objectos espaciais implicam uma criação de uma nova tabela de atributos. Essa tabela é definida em função da tabelas de atributos das cartas sobre as quais a operação é efectuada.
tabela de atributos de A Exemplo A tabela de atributos de A 1 2 3 4 atribA ID 1 100 2 200 3 300 4 400
B Tabela de atributos de B 1 ID atribB 1 X
A união com B Tabela de atributos de A união com B 5 6 7 1 2 11 8 4 3 id A.id atribA B.id atribB 1 1 100 1 X 2 2 200 1 X 3 3 300 1 X 4 4 400 1 X 5 1 X 6 1 100 7 2 200 8 1 X 9 1 X 10 3 300 11 1 X 12 4 400 5 6 7 1 2 11 8 4 3 10 12 9
(A união com B) intersecção com B 1 2 3 4 5 7 6 8 D Qual é a tabela de atributos?
C=A união B; C intersecção B Id A.id atribA C.B.id C.atribB B.id B.atribB 1 1 100 1 X 1 X 2 2 200 1 X 1 X 3 3 300 1 X 1 X 4 4 400 1 X 1 X 5 1 X 1 X 6 1 X 1 X 7 1 X 1 X 8 1 X 1 X