geovisual – um ambiente de consultas visuais para bancos

Propaganda
UNIVERSIDADE F EDERAL DE PERNAMBUCO
C ENTRO DE I NFORMÁTICA
P ÓS-G RADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
GEOV ISUAL – UM A MBIENTE DE
CONSULTAS V ISUAIS PARA BANCOS
DE
D ADOS GEOGRÁFICOS
Tese de Doutorado
Valéria Gonçalves Soares
Prof. Dra. Ana Carolina Salgado
(Orientadora)
Recife
Agosto de 2002
I
II
D EDICATÓRIA
Dedico este trabalho aos meus
queridos filhos, Caroline e Victor,
e a meu esposo, Glêdson, pelo
amor, compreensão e pelas vidas
compartilhadas.
III
A GRADECIMENTOS
A Deus, acima de tudo, pelo dom da vida.
À Prof. Ana Carolina, pela orientação criteriosa, infalível e, acima de tudo, amiga.
À Prof. Valéria Times, pela posição firme e fundamental ao bom andamento deste
trabalho.
Ao Prof. Gilberto Câmara, pela disponibilidade em compartilhar toda a sua riqueza
de informações e experiência.
Aos Profs. Fernando Fonseca, Juliano Oliveira e Carlos Ferraz, cujos comentários e
excelentes sugestões serviram para enriquecer este trabalho.
Ao Sílvio Cortez, cuja inteligência e dedicação foram imprescindíveis ao
desenvolvimento do protótipo final. Meu sincero muito obrigado.
Aos meus familiares e amigos, enfim, a todos aqueles que estiveram ao meu lado,
torcendo e apoiando este projeto, em especial aos meus pais, pela base e educação
recebidos, e à minha querida tia Nicinha, pelo carinho.
Às amigas: Thienne, por seu carinho, amizade e atenção; Soninha, pelo seu ombro
sempre firme em apoiar; e Maria, companheira constante dessa longa caminhada.
Ao meu marido, Glêdson, pela sua firmeza, compreensão e apoio, principalmente nos
últimos momentos dessa jornada. Devo a você essa conquista.
À Empresa de Pesquisa Agropecuária do Rio Grande do Norte, pelo suporte
financeiro e apoio à execução deste doutorado.
Ao CNPq, pelo suporte financeiro.
IV
RESUMO
Existem algumas dificuldades no projeto de linguagens de consultas para
Sistemas de Informações Geográficas, mais especificamente para Bancos
de Dados Geográficos - BDG, que são inerentes a estes tipos de dados.
Apesar de existirem, na literatura, algumas propostas de sistemas de
consultas visuais para SIG, o Sistema GeoVisual - Ambiente de Consultas
Visuais para Bancos de Dados Geográficos, se propõe a integrar duas
áreas de pesquisa - o paradigma de consultas visuais e padrões de
metadados espaciais - que têm sido pouco utilizadas em conjunto.
Inicialmente foi definida uma Arquitetura para o Sistema GeoVisual,
composta por módulos com funcionalidades específicas. Devido aos
dados geográficos serem inerentemente visuais, ou seja, serem
naturalmente associados a alguma representação gráfica, foi definida
uma Linguagem de Consulta Visual Geográfica, a GeoVisualQL. Esta
linguagem utiliza, em sua concepção, o modelo de dados do consórcio
Open GIS como também a sua especificação SQL. A GeoVisualQL foi
formalmente definida utilizando-se uma gramática apropriada para
linguagens visuais. O uso desta linguagem, por meio de uma interface
apropriada, permite ao usuário submeter uma consulta utilizando apenas
símbolos visuais, e obter o resultado da mesma, também de forma visual.
O Sistema GeoVisual, através de um processo de tradução, que utiliza
informações de metadados, converte a sentença de consulta visual para
uma sentença de consulta textual em SQL, e realiza a busca efetiva ao
banco de dados geográfico de forma transparente ao usuário. Foi
desenvolvido um protótipo do Sistema GeoVisual, utilizando o SGBD
Oracle, com dados de coordenadas geográficas de uma aplicação de
Hidrologia do estado do Rio Grande do Norte, Brasil.
Palavras-Chaves: Bancos de Dados Geográficos, Linguagem de Consulta
Visual, Metadados, Interface.
V
ABSTRACT
There are some difficulties in the design of Query Languages for
Geographic Information Systems, more specifically for Geographic
Databases, that are inherent to this kind of data. Although there are, in
the literature, some proposals for Visual Query Systems for GIS, the
GeoVisual System – An Environment for Visual Queries on Geographic
Databases, integrates two research areas (visual queries paradigm and
spatial metadata standards) that have been rarely used together.
Initially, we defined the GeoVisual System Architecture that consists of
modules with specific functionalities.
Since geographic data are
inherently visual, i.e, naturally associated with graphic representations,
we have defined a Visual Query Language for Geographic Data, namely
the GeoVisualQL. This language uses both the geodata model and the
SQL specification of the Open GIS Consortium. GeovisualQL was
formally defined using an appropriate grammar for visual languages.
The use of this language, by means of an adequate interface, allows
users to submit a query using only visual symbols, and to get results on
visual form too. The GeoVisual System, through a translation process
that uses metadata information, converts the visual query to a textual
SQL, and searches the geographic database in a way that is transparent
to the user. We have developed a GeoVisual Prototype System, using
the Oracle DBMS, with data from geographic coordinates of a
hydrology application of the State of Rio Grande do Norte,Braz il.
Keywords: Geographic Databases, Visual Query Languages, Metadata,
Interface.
VI
SUMÁRIO
ÍNDICE DE F IGURAS ...................................................................................................
XIV
ÍNDICE DE TABELAS ................................................................................................ XVIII
1 INTRODUÇÃO............................................................................................................
1
1.1 M OTIVAÇÃO ...............................................................................................
1
1.2 O BJETIVOS .................................................................................................. 2
1.3 ESTRUTURA DA TESE ................................................................................
4
2 MODELOS DE D ADOS EM SISTEMAS DE INFORMAÇÃO G EOGRÁFICA ......................
6
2.1 INTRODUÇÃO ............................................................................................
6
2.2 CARACTERIZAÇÃO DOS DADOS .................................................................
10
2.3 LINGUAGENS DE C ONSULTAS PARA BANCOS DE D ADOS GEOGRÁFICOS ...
12
2.3.1 LINGUAGENS TEXTUAIS ............................................................
12
2.3.2 LINGUAGENS V ISUAIS .................................................................
13
2.3.3 LINGUAGENS H ÍBRIDAS .............................................................
14
2.4 TIPOS DE REPRESENTAÇÃO .....................................................................
14
2.5 M ODELOS CONCEITUAIS E M ODELOS DE DADOS G EOGRÁFICOS ...........
16
2.6 O CONSÓRCIO OPEN GIS .......................................................................
19
2.6.1 ESPECIFICAÇÃO ABSTRATA OPEN GIS ....................................
21
2.6.2 HIERARQUIA DO MODELO OPEN GIS .....................................
25
2.6.3 CONSIDERAÇÕES FINAIS DA ESPECIFICAÇÃO O PEN GIS ................ 28
VII
2.7 PADRÕES DE M ETADADOS ESPACIAIS ......................................................... 29
2.7.1 O PADRÃO FGDC ......................................................................... 31
2.7.2 OUTRAS P ROPOSTAS .................................................................... 33
2.7.3 M ODELO A BSTRATO DE M ETADADOS OGC ................................
34
2.7.4 PERSPECTIVAS F UTURAS ............................................................... 36
2.8 CONCLUSÃO ...............................................................................................
36
3 LINGUAGENS DE C ONSULTAS ESPACIAIS E SISTEMAS DE C ONSULTAS VISUAIS ........
38
3.1 INTRODUÇÃO ............................................................................................
38
3.2 RELAÇÕES ENTRE O BJETOS ESPACIAIS ....................................................
39
3.2.1 RELAÇÕES TOPOLÓGICAS ENTRE O BJETOS ESPACIAIS .............
39
3.2.1.1 M ODELO DAS 9-INTERSEÇÕES ...................................
40
3.2.2 RELAÇÕES DIRECIONAIS ENTRE O BJETOS ESPACIAIS ..............
44
3.2.3 RELAÇÕES TEMPORA IS ENTRE OBJETOS ESPACIAIS ..................
47
3.3 PROPOSTAS DE EXTENSÃO DO PADRÃO SQL ...........................................
49
3.3.1 SPATIAL SQL ...............................................................................
50
3.3.2 ESPECIFICAÇÃO SQL DO MODELO OPEN GIS .............................. 51
3.3.4.1 M ÉTODOS BÁSICOS DA CLASSE G EOMETRIA ................
53
3.3.4.2 M ÉTODOS PARA TESTES DE RELAÇÕES ESPACIAIS
ENTRE OBJETOS GEOMÉTRICOS ................................
53
3.3.4.3 M ÉTODOS DE A NÁLISE ESPACIAL ................................
54
3.3.4.4 F UNÇÕES SQL ............................................................
54
3.3.4.5 EXEMPLOS DE C ONSULTAS .........................................
56
3.3.3 OUTRAS P ROPOSTAS ...................................................................
56
3.3.4 QUESTÕES DE APRESENTAÇÃO DOS RESULTADOS DAS C ONSULTAS 57
VIII
3.4 LINGUAGENS DE C ONSULTAS V ISUAIS ......................................................
58
3.4.1 SISTEMAS DE C ONSULTAS VISUAIS ..............................................
59
3.4.1.1 E STRATÉGIAS PARA ENTENDIMENTO DA
REALIDADE DE INTERESSE ...........................................
61
3.4.1.2 ESTRATÉGIAS PARA F ORMULAÇÃO DE CONSULTAS ........
62
3.4.1.3 ESTRATÉGIAS DE TESTE DA CONSULTA .........................
64
3.4.2 REPRESENTAÇÕES V ISUAIS ........................................................... 65
3.4.2.1 REPRESENTAÇÕES V ISUAIS DA C ONSULTA ...................... 65
3.4.2.2 REPRESENTAÇÕES V ISUAIS DOS RESULTADOS DAS
C ONSULTAS ..................................................................
66
3.5 FORMALISMOS V ISUAIS E GRAMÁTICAS ....................................................... 67
3.5.1 FORMALISMOS DE ESPECIFICAÇÃO G RAMATICAL .......................... 68
3.5.2 ESPECIFICAÇÃO DE SINTAXE DE LINGUAGENS VISUAIS ............... 69
3.5.3 ESPECIFICAÇÃO DE F IGURAS B ASEADAS EM GRAMÁTICAS ............ 71
3.5.4 P ICTURE LAYOUT GRAMMARS – PLG ..........................................
71
3.6 USO DE LINGUAGENS DE CONSULTAS V ISUAIS EM SIG ............................
76
3.7 CONCLUSÃO .............................................................................................
77
4 SISTEMAS DE C ONSULTAS V ISUAIS PARA SIG .........................................................
78
4.1 INTRODUÇÃO ...........................................................................................
78
4.2 UMA LINGUAGEM DE CONSULTA V ISUAL PARA SIG: CIGALES ................
79
4.2.1 CARACTERIZANDO CIGALES .................................................
79
4.2.2 A LINGUAGEM DE C ONSULTA .....................................................
80
4.2.3 INTERFACE GRÁFICA DO CIGALES ...........................................
81
4.2.3.1 EXEMPLO DE UMA C ONSULTA UTILIZANDO A INTERFACE ......
84
4.2.4 D ETALHES DE IMPLEMENTAÇÃO .............................................
85
IX
4.2.5 A VALIANDO CIGALES ..................................................................
85
4.3 LVIS ........................................................................................................
85
4.3.1 CARACTERIZANDO LVIS ...........................................................
85
4.3.2 A LINGUAGEM DE C ONSULTA LVIS .........................................
86
4.3.3 A INTERFACE G RÁFICA LVIS .................................................
87
4.3.4 A VALIANDO LVIS ........................................................................ 88
4.4 VISCO .......................................................................................................
89
4.4.1 CARACTERIZANDO VISCO ..........................................................
89
4.4.2 A LINGUAGEM DE C ONSULTA ...................................................... 89
4.4.3 A INTERFACE G RÁFICA DO VISCO .............................................
91
4.4.4 A VALIANDO VISCO .....................................................................
94
4.5 SKETCH!....................................................................................................... 94
4.5.1 CARACTERIZANDO SKETCH! ......................................................... 95
4.5.2 A LINGUAGEM DE C ONSULTA ....................................................... 95
4.5.3 A INTERFACE SKETCH! ................................................................. 97
4.5.4 A VALIANDO SKETCH ! ..................................................................... 99
4.6. SPATIAL-QUERY -B Y -SKETCH ...................................................................... 100
4.6.1 C ARACTERIZANDO O SPATIAL-Q UERY-B Y -SKETCH ....................... 100
4.6.2 A LINGUAGEM DE C ONSULTA ....................................................... 101
4.6.3 A INTERFACE SPATIAL-Q UERY -BY -SKETCH ................................. 104
4.6.4 A VALIANDO SPATIAL-QUERY -B Y-SKETCH .................................. 105
4.7 OUTRAS P ROPOSTAS ................................................................................... 105
4.8 ANÁLISE C OMPARATIVA DAS PROPOSTAS DE INTERFACES DE CONSULTAS
V ISUAIS PARA SIG .......................................................................................
107
4.9 CONCLUSÃO ...............................................................................................
109
X
5 C ONSULTAS V ISUAIS EM BDG BASEADAS EM METADADOS ESPACIAIS .....................
110
5.1 INTRODUÇÃO ...........................................................................................
110
5.2 SISTEMA G EOV ISUAL ................................................................................
111
5.2.1 A RQUITETURA DO SISTEMA G EOV ISUAL ....................................
111
5.2.1.1 M ÓDULO DO SGBD ......................................................
111
5.2.1.2 M ÓDULO DO MODELO DE METADADOS ......................
112
5.2.1.3 M ÓDULO GERENCIADOR DE C ONSULTAS ...................
113
5.2.1.4 M ÓDULO DA INTERFACE G RÁFICA .............................
114
5.3 ESCOPO DO TRABALHO .........................................................................
114
5.4 REPRESENTAÇÕES V ISUAIS DO SISTEMA GEOVISUAL ..............................
115
5.4.1 UTILIZANDO OS PADRÕES DE METADADOS ..............................
117
5.4.2 EXEMPLO DE USO DO PADRÃO FGDC E DO M ODELO OGC EM
UMA A PLICAÇÃO DE HIDROLOGIA ................................................ 117
5.5 D EFININDO A LINGUAGEM DE CONSULTA V ISUAL - G EOV ISUALQL .......... 118
5.5.1 ESPECIFICAÇÃO DA G EOV ISUALQL ............................................... 120
5.5.1.1 O PERAÇÕES SOBRE F EIÇÕES G EOGRÁFICAS .................... 122
5.5.1.2 G EOMETRIAS DOS OBJETOS PICTÓRICOS ......................... 124
5.5.1.2 RELACIONAMENTOS D EFINIDOS PELO M ODELO 9 IM
ENTRE AS G EOMETRIAS:
PONTO, L INHA E P OLÍGONO ... 124
5.5.2 RELACIONAMENTOS ESPACIAIS DA LINGUAGEM G EOV ISUALQL ... 128
5.5.2.1 RELACIONAMENTOS ESPACIAIS VISUAIS DE TOPOLOGIA
B ASEADOS NA SQL DO OGC ........................................... 129
5.5.2.2 A CRESCENTANDO NOVOS OPERADORES DE TOPOLOGIA 138
5.5.2.3 RELACIONAMENTOS ESPACIAIS VISUAIS DE C ONJUNTOS
B ASEADOS NA SQL DO OGC ........................................... 141
XI
5.5.3 GRAMÁTICA DA LINGUAGEM G EOV ISUALQL ................................ 155
5.6 ESPECIFICAÇÃO DO USO DOS M ETADADOS ................................................
156
5.7 G ERAÇÃO DA SENTENÇA SQL ..................................................................... 157
5.7.1
GERAÇÃO DE SENTENÇAS SQL UTILIZANDO OS OPERADORES
TOPOLÓGICOS D EFINIDOS PELA LINGUAGEM BASE ..................... 157
5.7.2 GERAÇÃO DE SENTENÇAS SQL UTILIZANDO AS EXTENSÕES DOS
O PERADORES TOPOLÓGICOS .......................................................
5.7.3
158
GERAÇÃO DE SENTENÇAS SQL UTILIZANDO O PERADORES DE
CONJUNTOS .............................................................................
159
5.8
P ROCESSO DE TRADUÇÃO DA C ONSULTA VISUAL ................................. 160
5.9
A NÁLISE C OMPARATIVA DOS SISTEMAS DE CONSULTAS V ISUAIS PARA SIG
E O SISTEMA GEOVISUAL .....................................................................
5.10 CONCLUSÃO .........................................................................................
163
165
6 IMPLEMENTAÇÃO DO SISTEMA G EOV ISUAL .............................................................. 166
6.1 INTRODUÇÃO .............................................................................................. 166
6.2 OBJETOS P ICTÓRICOS DA APLICAÇÃO DE RECURSOS H ÍDRICOS .................. 168
6.3 INTERFACE GEOVISUAL ............................................................................. 168
6.3.1 D ETALHES DE IMPLEMENTAÇÃO .................................................
170
6.3.2 A DAPTAÇÃO AO ORACLE 9 I ........................................................... 171
6.3.2.1 TIPO G EOMETRIA DO ORACLE E SEUS MÉTODOS ..........
171
6.4 M ODELAGEM DA A PLICAÇÃO ...................................................................... 173
6.4.1 UTILIZANDO OS METADADOS ......................................................
175
6.4.2 EXEMPLOS DE SENTENÇAS SQL G ERADAS .................................
177
6.5 CONSIDERAÇÕES SOBRE GML.................................................................
178
6.6 EXEMPLO DE UTILIZAÇÃO DA GEOVISUALQL ...........................................
178
XII
6.6.1 SENTENÇA SQL EQUIVALENTE ..................................................
180
6.6.2 RESULTADO DA C ONSULTA .........................................................
180
6.7 ANÁLISE C RÍTICA DO PROTÓTIPO G EOV ISUAL .........................................
181
6.8 CONCLUSÃO ..............................................................................................
182
7 C ONTRIBUIÇÕES E TRABALHOS FUTUROS ...............................................................
183
7.1 INTRODUÇÃO .............................................................................................. 183
7.2 CONTRIBUIÇÃO DO TRABALHO .................................................................. 184
7.3 TRABALHOS FUTUROS ...............................................................................
184
7.4 CONCLUSÃO ............................................................................................
185
A EXEMPLO DE DESCRIÇÃO DOS M ETADADOS DE H IDROLOGIA PELO PADRÃO DE
FGDC..................................................................................................................
186
B DEFINIÇÃO DA GRAMÁTICA DE G EOV ISUALQL ....................................................... 192
C TRADUÇÃO DA LINGUAGEM G EOV ISUALQL PARA SQL ..........................................
197
D DESCRIÇÃO DO ESQUEMA DE BANCO DE DADOS DA A PLICAÇÃO DE HIDROLOGIA NO
SGBD O RACLE 9 I ..........................................................................................
203
E DESCRIÇÃO DAS F EIÇÕES G EOGRÁFICAS DE HIDROLOGIA EM XML .................
206
REFERÊNCIAS B IBLIOGRÁFICAS ................................................................................... 217
XIII
Í NDICE DE FIGURAS
F IGURA 2.1 – REFERÊNCIAS G EOGRÁFICAS .................................................................. 7
F IGURA 2.2 – C OMPONENTES DE SOFTWARE DE UM SIG ............................................ 9
F IGURA 2.3 – C OMPONENTES DE UM BANCO DE DADOS GEOGRÁFICO ....................... 9
F IGURA 2.4 – REPRESENTAÇÃO MATRICIAL E V ETORIAL ............................................ 15
F IGURA 2.5 - TECNOLOGIA O PEN GIS ......................................................................
21
F IGURA 2.6 – H IERARQUIA DE C LASSES G EOMÉTRICAS .............................................
26
F IGURA 2.7 - ELEMENTOS DE DADOS DO PADRÃO FGDC ........................................
32
F IGURA 3.1 - D IFERENTES CRUZAMENTOS ENTRE LINHA E P OLÍGONO...................
40
F IGURA 3.2 - A MATRIZ 3X3 DAS 9-INTERSEÇÕES .....................................................
41
F IGURA 3.3 - REPRESENTAÇÃO GEOMÉTRICA DAS 19 INTERSEÇÕES P OSSÍVEIS ENTRE
UMA LINHA E UMA REGIÃO ATRAVÉS DO MÉTODO DA MATRIZ DAS
9-INTERSEÇÕES ..................................................................................
43
F IGURA 3.4 – C ONCORDÂNCIA EM QUE A RODOVIA CRUZA O PARQUE ..................
44
F IGURA 3.5 – PARTIÇÕES AO REDOR DE UM O BJETO DE REFERÊNCIA A .................
46
F IGURA 3.6 – (A ) EXISTÊNCIA DE UM OBJETO A; (B ) N ÃO-EXISTÊNCIA DE UM O BJETO,
SEM HISTÓRIA ; ( C) N ÂO-EXISTÊNCIA DE UM OBJETO A, COM H ISTÓRIA.....
48
F IGURA 3.7 – TRANSIÇÃO ENTRE D OIS ESTADOS DE IDENTIDADE DE UM OBJETO ...... 49
F IGURA 3.8 - UM SISTEMA DE P ROGRAMAÇÃO VISUAL COM ANALISADOR ESPACIAL. 70
XIV
F IGURA 3.9 - UMA F IGURA SIMPLES ............................................................................ 72
F IGURA 3.10 - RESTRIÇÕES DE UMA LINGUAGEM D EFINIDAS PELO USUÁRIO ............. 74
F IGURA 3.11 – UMA LINGUAGEM USANDO ATRIBUTOS A DICIONAIS ............................. 75
F IGURA 4.1 – INTERFACE GRÁFICA DO C IGALES ......................................................... 82
F IGURA 4.2 – D ESCRIÇÃO DE UM BALÃO E UMA ÂNCORA EM LVIS ............................. 86
F IGURA 4.3 – INTERFACE DA LINGUAGEM LVIS ........................................................... 87
F IGURA 4.4 – TRADUÇÃO DA LINGUAGEM LVIS PARA A LINGUAGEM SIG DESTINO ... 88
F IGURA 4.5 - V ISUALIZADOR DE MAPA ........................................................................ 92
F IGURA 4.6 – EDITOR GRÁFICO DE C ONSULTAS ........................................................... 93
F IGURA 4.7 - EXEMPLO DE UM DESENHO ESPACIAL ................................................... 94
F IGURA 4.8 – EXEMPLO DE CONSULTA NA INTERFACE DO SKETCH! .......................... 98
F IGURA 4.9 – ESQUEMA DE PROCESSAMENTO DE UMA C ONSULTA EM SPATIAL-Q UERY BY - SKECTH ................................................................................................
103
F IGURA 4.10 - SPATIAL-Q UERY -BY -SKETCH ................................................................. 104
F IGURA 5.1 – ARQUITETURA DO SISTEMA GEOVISUAL ……………………………….. 112
F IGURA 5.2 - G ERENCIADOR DE C ONSULTAS ............................................................. 113
F IGURA 5.3 - H IERARQUIA DE C LASSES G EOMÉTRICAS ............................................... 116
F IGURA 5.4 – SÍMBOLOS V ISUAIS BÁSICOS DA LINGUAGEM G EOV ISUALQL ................ 116
F IGURA 5.5 – D ESCRIÇÃO DE M ETADADOS DA FEIÇÃO G EOGRÁFICA B ACIA
HIDROGRÁFICA ....................................................................................... 118
F IGURA 5.6 – LINGUAGEM DE C ONSULTA VISUAL G EOGRÁFICA – G EOV ISUALQL ...... 120
F IGURA 5.7 – EXEMPLO DE OPERAÇÃO DE SELEÇÃO ESPACIAL .................................. 123
F IGURA 5.8 – RELACIONAMENTOS P OSSÍVEIS ENTRE D OIS P ONTOS .........................
125
F IGURA 5.9 – RELACIONAMENTOS P OSSÍVEIS ENTRE UM PONTO E UMA LINHA .....
125
F IGURA 5.10 – RELACIONAMENTOS P OSSÍVEIS ENTRE UM P ONTO E UMA REGIÃO ...
126
XV
F IGURA 5.11 – RELACIONAMENTOS P OSSÍVEIS ENTRE D UAS LINHAS .....................
126
F IGURA 5.12 – RELACIONAMENTOS P OSSÍVEIS ENTRE UMA LINHA E UMA REGIÃO ...
127
F IGURA 5.13 – RELACIONAMENTOS P OSSÍVEIS ENTRE D UAS REGIÕES .....................
127
F IGURA 5.14 – REPRESENTAÇÃO VISUAL DOS O PERADORES A DICIONAIS DA
G EOV ISUALQL...................................................................................... 128
F IGURA 5.15 – REPRESENTAÇÃO DE CONSULTAS V ISUAIS VÁLIDAS USANDO
O OPERADOR EQUALS.........................................................................
130
F IGURA 5.16 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS COM O OPERADOR
DISJOINT ........................................................................................... 131
F IGURA 5.17 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS USANDO O O PERADOR
TOUCHES ........................................................................................... 132
F IGURA 5.18 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS USANDO O O PERADOR
WITHIN .............................................................................................
133
F IGURA 5.19 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS USANDO O O PERADOR
OVERLAPS .......................................................................................
134
F IGURA 5.20 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS ENVOLVENDO
O OPERADOR CROSSES
...................................................................... 135
F IGURA 5.21 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS QUE USAM O
O OPERADOR ESPACIAL INTERSECTS.............................................
136
F IGURA 5.22 – REPRESENTAÇÃO DE CONSULTAS VÁLIDAS QUE UTILIZAM O
O PERADOR CONTAINS ..................................................................
137
F IGURA 5.23 – C ONSULTA VISUAL VÁLIDA QUE UTILIZA O O PERADOR CROTHIN ....
139
F IGURA 5.24 – C ONSULTA VISUAL VÁLIDA QUE UTILIZA O O PERADOR CROCHES ....
140
F IGURA 5.25 – C ONSULTA VISUAL VÁLIDA QUE UTILIZA O O PERADOR CROSSOUT...
140
F IGURA 5.26 – C ONSULTA VISUAL VÁLIDA QUE UTILIZA O O PERADOR CROSSECTS .... 141
XVI
F IGURA 5.27 - REPRESENTAÇÃO DE CONSULTAS V ISUAIS QUE UTILIZAM O
O PERADOR INTERSECTION ..........................................................
145
F IGURA 5.28 – REPRESENTAÇÃO DE CONSULTAS V ISUAIS QUE UTILIZAM O
O PERADOR DIFFERENCE .........................................................
151
F IGURA 5.29 – REPRESENTAÇÃO DE CONSULTAS V ISUAIS QUE UTILIZAM
O OPERADOR UNION .......................................................................
154
F IGURA 5.30 - P OSSÍVEL C ONSULTA VISUAL V ÁLIDA EQUIVALENTE À DEFINIÇÃO DE
USO DO OPERADOR NOT PELA GRAMÁTICA DA GEOVISUALQL
........
156
F IGURA 5.31 – Á RVORES SINTÁTICAS LOGIC-C LAUSES EM G EOVISUALQL ...............
160
F IGURA 5.32 – Á RVORES SINTÀTICAS DAS QUERY _CLAUSES EM G EOV ISUALQL ......
161
F IGURA 5.33 – Á RVORES SINTÁTICAS DE SET_QUERY_CLAUSES EM G EOV ISUALQL .. 161
F IGURA 5.34 – TIPOS DE G EOMETRIAS ACEITOS NAS C LÁUSULAS DE C ONSULTA
G EOV ISUALQL.....................................................................................
161
F IGURA 5.35 – EXEMPLO DE UMA C ONSULTA V ISUAL VÁLIDA ...................................
162
F IGURA 5.36 – Á RVORE SINTÁTICA EQUIVALENTE DA C ONSULTA REPRESENTADA NA
F IGURA 5.34 ........................................................................................
162
F IGURA 5.37 – EXEMPLO DE UMA C ONSULTA VÁLIDA COM O OPERADOR CROTHIN .. 163
F IGURA 6.1 - INTERFACE G EOV ISUAL – JANELA P RINCIPAL ........................................ 169
F IGURA 6.2 – JANELA DA APLICAÇÃO ........................................................................... 170
F IGURA 6.3 – JANELA DE A PRESENTAÇÃO ................................................................... 170
F IGURA 6.4 – RELACIONAMENTOS TOPOLÓGICOS DO O RACLE SPATIAL 9I ................
171
F IGURA 6.5 – EXEMPLO DE UMA CONSULTA V ISUAL VÁLIDA ....................................
179
F IGURA 6.6 – RESULTADO DA C ONSULTA VISUAL .....................................................
181
XVII
Í NDICE DE TABELAS
TABELA 4.1 – A NÁLISE C OMPARATIVA DE SISTEMAS DE C ONSULTAS V ISUAIS PARA SIG.109
TABELA 5.1 – C ARACTERIZANDO O G EOV ISUAL .......................................................... 164
TABELA 5.2 – A NÁLISE C OMPARATIVA DE GEOVISUAL COM D EMAIS TRABALHOS ....... 164
TABELA 6.1 – O BJETOS P ICTÓRICOS DE RECURSOS HÍDRICOS .................................... 167
TABELA 6.2 – TABELA DE BACIAS H IDROGRÁFICAS ..................................................... 174
TABELA 6.3 – TABELA DE MUNICÍPIOS ........................................................................ 174
TABELA 6.4 – TABELA DE AÇUDES ..............................................................................
174
XVIII
Capítulo 1 - Introdução
________________________________________________________________________________________________
CAPÍTULO 1
INTRODUÇÃO
“O espinho é da essência da rosa, como o
sofrimento é da essência da vida”.
(Dom Helder Câmara)
1.1 MOTIVAÇÃO
A área de Sistemas de Informação Geográfica (SIG) é objeto ainda de muitas pesquisas e
esforços no desenvolvimento de novas tecnologias para melhorar seu uso efetivo,
principalmente no que diz respeito ao projeto de linguagens de consultas [Oli97, OM96,
OGM97, OPM97, Mey92a, CCH+96, DeM97, WH98].
Existem algumas dificuldades adicionais no projeto de linguagens de consultas para
SIG, mais especificamente para Bancos de Dados Geográficos - BDG, que são inerentes a
estes tipos de dados. Por exemplo, a apresentação dos resultados das consultas se torna mais
complexa, pois pode envolver a transformação de informações alfanuméricas em estruturas
gráficas apropriadas para a produção de resultados cartográficos.
Um aspecto importante a ser considerado no projeto de BDG é a necessidade de uma
linguagem de consulta visual que permita que os usuários possam pensar graficamente
enquanto formulam suas consultas. A maioria dos SIG atuais é capaz de gerar representações
____________________________________________________________________________________
1
Capítulo 1 - Introdução
________________________________________________________________________________________________
gráficas para obtenção dos resultados das consultas, mas apenas poucos deles suportam
consultas visuais [Me y92a].
É muito difícil para um usuário típico de SIG formular consultas utilizando operadores
espaciais complexos e suas entidades relacionadas de forma textual.
As sentenças de
consultas em linguagens baseadas em SQL, por exemplo, têm como característica o número
excessivo de cláusulas, geralmente confusas, para simular operações geográficas eficientes.
Com o uso de Linguagens de Consultas Visuais (LCV) essa dificuldade pode ser reduzida.
Este tipo de linguagem de consulta trabalha com elementos pictóricos que objetivam facilitar
a formulação das consultas. Este paradigma é abordado no Capítulo 3 dessa tese.
A aquisição, o processamento e o compartilhamento de dados geográficos em SIG
apresentam-se como problemas críticos de uso do mesmo. Isto se deve principalmente ao fato
dos SIG serem em geral sistemas monolíticos, fechados, de uso restrito, que impedem o
compartilhamento dos seus dados com outros SIG [Per00]. Com o objetivo de adquirir,
processar, armazenar e distribuir informações geográficas de modo a alcançar uma grande
variedade de usuários, diversos padrões de metadados espaciais vêm sendo desenvolvidos.
Estes padrões se propõem a unificar a descrição dos dados geográficos para facilitar o
compartilhamento dos mesmos por diversas aplicações. Metadados espaciais são, na verdade,
informações sobre os dados espaciais e os padrões se propõem a formatar a maneira de
descrevê-los [FGD99, SDT99, ISO99, ESM98]. Estes padrões estão descritos em [Soa01].
Considerando as vantagens de linguagens de consultas vi suais em bancos de dados
geográficos, e visto que os padrões de metadados se propõem a facilitar a interação entre SIG
e o compartilhamento dos dados entre os mesmos, este trabalho se propõe a unir essas duas
tecnologias com um objetivo principal: facilitar a busca de informações em bancos de dados
geográficos através de uma linguagem de consulta visual, independente de aplicação, baseada
no padrão Open GIS [OGC99a].
1.2 OBJETIVOS
Este trabalho utiliza Padrões de Metadados Espaciais [MSD99, FGD99] e uma Linguagem de
Consulta Espacial para a definição de uma Linguagem de Consulta Visual - GeoVisualQL,
para resolver alguns problemas típicos da interface com o usuário, como também melhorar a
visualização e a integração dos dados.
____________________________________________________________________________________
2
Capítulo 1 - Introdução
________________________________________________________________________________________________
Alguns símbolos visuais básicos são definidos e utilizados na interface do sistema.
Símbolos específicos de entidades geográficas, dependentes das aplicações, também são
permitidos e aceitos na linguagem. A Linguagem Geográfica de Consultas Visuais,
GeoVisualQL (Geographic Visual Query Language) é definida baseada em símbolos visuais e
operadores espaciais. Esta linguagem é sintaticamente definida para suportar as principais
estruturas de uma Linguagem de Consulta Espacial baseada em uma extensão do padrão
SQL, que será apresentada no decorrer desta tese.
A Linguagem de Consulta Visual permitirá que os usuários não necessitem se preocupar
com os detalhes das estruturas internas do Banco de Dados Geográfico nem com as
Linguagens de Consultas Espaciais. A arquitetura do sistema proposto permite não apenas
consultas visuais pela manipulação direta de símbolos visuais básicos da linguagem em sua
interface, mas também que os usuários utilizem símbolos visuais específicos de determinadas
aplicações de modo a ser possível conhecer as informações disponíveis das mesmas.
Desta forma, através do uso da linguagem de consulta visual GeoVisualQL na interface,
o usuário poderá consultar um banco de dados geográfico, sem necessitar se preocupar com a
sintaxe da linguagem específica para o mesmo. A gramática desta linguagem visual está
formalmente definida, bem como os seus operadores e a sua forma de tradução para a
linguagem SQL que foi tomada como base.
Apesar de existirem, na literatura, algumas propostas de sistemas de consultas visuais
para SIG [CM91, Mey92a, BE00], estas duas áreas de pesquisa – o paradigma de consultas
visuais e os padrões de metadados espaciais - têm sido pouco utilizadas em conjunto. As
propostas existentes não utilizam o padrão Open GIS [OGC99a] como base de seu modelo
de dados, nem a especificação SQL deste mesmo consórcio. Além disso, o fato de utilizarmos
padrões de metadados para a descrição dos dados, também de forma visual, torna o Sistema
GeoVisual inovador e adaptável a novas aplicações.
Alguns problemas que o Sistema GeoVisual se propõe a resolver são:
1. Dificuldade de elaboração de sentenças de consultas espaciais nas Linguagens de
Consultas, baseadas em SQL, existentes para este tipo de dados. Geralmente essas
linguagens são compostas de construções sintáticas muito complexas que, muitas
vezes, confundem os usuários [Ege92, Mey92a, WH98].
____________________________________________________________________________________
3
Capítulo 1 - Introdução
________________________________________________________________________________________________
Uma linguagem de consulta visual está disponível na interface contendo os símbolos
visuais representativos básicos das geometrias ponto, linha e polígono, além de
operadores espaciais da linguagem. Como informações geográficas são inerentemente
visuais, ou seja, podem ser facilmente associadas a uma representação gráfica que se
aproxima do formato geométrico das entidades geográficas modeladas, o uso de uma
linguagem de consulta visual, neste tipo de banco de dados, se torna bastante
intuitivo. A construção das sentenças SQL para a efetiva consulta ao banco de dados
geográfico faz parte de um dos objetivos deste trabalho e é realizada de forma
transparente aos usuários.
2. Os BDG, em geral, não dispõem de informações descritivas sobre o seu conteúdo em
suas interfaces, nem de mecanismos que as disponibilizem.
Informações de metadados espaciais estão disponíveis visualmente na interface,
tomando como base o Padrão de Metadados Espaciais FGDC [FGD99], onde as
feições geográficas são associadas aos símbolos visuais que são definidos pelo
projetista de cada aplicação.
1.3 ESTRUTURA DA TESE
A estrutura desta tese apresenta o estado da arte de algumas tecnologias envolvidas e mostra
as metodologias utilizadas na definição do Sistema de Consultas Visuais para Bancos de
Dados Geográficos, GeoVisual, estando organizada como segue:
No Capítulo 2 – Modelos de Dados em Sistemas de Informação Geográfica, os
conceitos básicos de SIG são apresentados, como também alguns modelos de dados
geográficos e padrões de metadados existentes na literatura.
No Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais,
algumas linguagens de consultas espaciais propostas na literatura são descritas e algumas
características dos Sistemas de Consultas Visuais são apresentadas.
No Capítulo 4 – Sistemas de Consultas Visuais para SIG, são abordados alguns
trabalhos existentes na literatura que juntam as tecnologias de sistemas de Consultas Visuais e
SIG.
No Capítulo 5 - Consultas Visuais em BDG baseadas em Metadados Espaciais, o
____________________________________________________________________________________
4
Capítulo 1 - Introdução
________________________________________________________________________________________________
sistema GeoVisual é apresentado, com a sua arquitetura e suas funcionalidades, como
também a linguagem de consulta visual.
No Capítulo 6 – Implementação do Sistema GeoVisual, é apresentado o protótipo do
Sistema GeoVisual, suas definições e características de projeto, e uma aplicação do uso do
mesmo em um estudo de caso de Recursos Hídricos.
No Capítulo 7 – Contribuições e Trabalhos Futuros, são apresentadas as conclusões
do trabalho desenvolvido.
____________________________________________________________________________________
5
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
CAPÍTULO 2
MODELOS DE DADOS EM
SISTEMAS DE I NFORMAÇÃO GEOGRÁFICA
“Se não houver frutos, valeu a beleza das flores, Se
não houver flores, valeu a sombra das folhas, Se não
houver folhas, valeu a intenção da semente”.
Henfil
2.1 I NTRODUÇÃO
Sistemas de Informação Geográfica - SIG - são usados para armazenar, analisar e manipular
dados geográficos. São sistemas automatizados que comportam diferentes tipos de dados e
aplicações, em várias áreas de conhecimento. São utilizados para otimização de tráfego,
controles cadastrais, gerenciamento de serviços de utilidade pública, levantamento
demográfico,
sistema
de
cartografia
digital,
administração
de
recursos
naturais,
monitoramento costeiro, controle de epidemias, planejamento urbano, entre outras
aplicações.
O termo “dado espacial” denota qualquer tipo de dado que descreva fenômenos aos
quais esteja associada alguma dimensão espacial como, por exemplo, estruturas moleculares
de um composto químico. Quando esta dimensão espacial é a superfície terrestre, tem-se um
tipo especial de dados espaciais: os dados geo-referenciados ou dados geográficos.
______________________________________________________________________________________
6
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Dados geográficos representam objetos ou fenômenos cuja localização geográfica é uma
característica essencial à informação e indispensável à sua análise.
Uma definição básica de SIG considera-os como conjuntos poderosos de ferramentas
para coletar, armazenar, recuperar, transformar e disponibilizar dados espaciais do mundo
real para um conjunto particular de interesses. SIG armazenam informações sobre o mundo
real como um conjunto de camadas que podem ser utilizadas juntas pela Geografia
[HGW99], como ilustrado na Figura 2.1. Informações geográficas podem conter tanto uma
referência geográfica explícita, tal como latitude e longitude, como também uma referência
implícita, tal como um endereço, código postal, identificador de floresta, nome de uma
estrada, etc. Um processo de geo-codificação [HGW99] é usado para criar referências
geográficas explícitas a partir de referências implícitas.
Clientes
Edifícios
Ruas
Mundo Real
Figura 2.1 – Referências Geográficas [HGW99]
Além desta definição que considera SIG dentro de uma visão de ferramenta, existem
outras definições que classificam SIG baseados no enfoque de banco de dados ou de
organização [BM98]. Uma definição baseada no enfoque de banco de dados trata SIG como
um banco de dados no qual a maioria de seus dados está indexada espacialmente, e para o
qual especifica-se um conjunto de procedimentos de modo a responder consultas a respeito
das entidades espaciais envolvidas. Numa definição pelo enfoque de organização, considera-
______________________________________________________________________________________
7
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
se SIG como um conjunto automatizado de funções que provêem aos profissionais
capacidades avançadas de armazenar, recuperar, manipular e disponibilizar dados
geograficamente localizados.
As definições de SIG [Cam95] refletem, cada uma à sua maneira, a multiplicidade de
usos e visões possíveis a partir desta tecnologia e apontam para uma perspectiva
interdisciplinar de sua utilização. A partir de diferentes conceitos, identificam-se duas
importantes características dos SIG. A primeira delas é que os mesmos possibilitam a
integração, numa mesma base de dados, de informações geográficas de diversas fontes. A
segunda delas é que SIG oferecem mecanismos para recuperar, manipular, e visualizar estes
tipos de dados, através de algoritmos específicos de manipulação e análise.
Sistemas de Informação Geográfica possuem três componentes principais: hardware,
conjunto de softwares aplicativos e um contexto organizacional apropriado incluindo pessoal
capacitado. O hardware de um SIG é composto do computador com sua capacidade de
armazenamento para os dados e programas; uma mesa digitalizadora ou um scanner, usados
para converter mapas e documentos na forma a serem usados pelos programas aplicativos; e
um plotter ou impressora ou algum tipo de dispositivo de saída usado para apresentar o
resultado do processamento dos dados.
O Software de SIG pode ser dividido em 5 componentes funcionais [BM98]:
•
Entrada de Dados e Verificação;
•
Armazenamento de Dados e Gerenciamento de Banco de Dados;
•
Saída de Dados e Apresentação;
•
Transformação dos Dados;
•
Interface com o usuário.
______________________________________________________________________________________
8
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Entrada
Entrada
de
de
Dados
Dados
Interface
Interface
com
comoo
Usuário
Usuário
Banco
Banco de
de
Dados
Dados
Geográfico
Geográfico
Apresentação
Apresentação
ee
Relatórios
Relatórios
Transformação
Transformação
Figura 2.2 – Componentes de software de SIG [BM98]
A entrada de dados [BM98] (Figura 2.2) diz respeito a aspectos da captura dos dados
espaciais de mapas existentes, campos de observação, e sensores e à conversão deles em uma
forma digital. O armazenamento dos dados e o gerenciamento do banco de dados (Figura
2.3) se referem à localização dos dados, às ligações entre os mesmos (topologia), e como os
atributos dos elementos geográficos estão estruturados e organizados.
Banco de Dados
Banco de Dados Geográfico
Localização
Topologia
Atributos
Sistema de Gerenciamento
Figura 2.3 – Componentes de um Banco de Dados Geográfico [BM98]
A saída de dados e a apresentação se referem à maneira pela qual os dados são
disponibilizados e como os resultados das análises são informados aos usuários. Os dados
podem ser apresentados através de mapas, tabelas ou figuras.
______________________________________________________________________________________
9
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
A transformação dos dados envolve duas classes de operações básicas: (a)
transformações necessárias para remover os erros dos dados, atualizar estes dados ou adaptálos a outros conjuntos de dados; (b) conjunto vasto de métodos de análise que podem ser
aplicados aos dados de modo a alcançar as respostas das consultas realizadas ao SIG. Muitas
destas transformações, tais como mudança de escala, novas projeções com os dados,
recuperação lógica dos dados e cálculo de áreas e perímetros são, de tal forma, intrínsecas aos
SIG, que se pode encontrá-las na maioria deles.
Este capítulo tem como objetivo apresentar as característ icas básicas dos SIG, bem
como informações sobre os dados manipulados pelos mesmos, noções básicas sobre os
modelos de dados utilizados, além de diferenciar os tipos de linguagens de consultas
existentes para dados espaciais.
2.2
Caracterização dos Dados
Os dados geográficos representam fenômenos do mundo real em termos de sua posição com
respeito a um dado sistema de coordenadas; seus atributos não espaciais, tais como cor,
custo, pH; e as inter-relações entre estes fenômenos que descrevem como os mesmos estão
ligados. Um exemplo de inter-relação conhecida é a topologia que descreve o espaço e as suas
propriedades espaciais, tais como conectividade [BM98].
Os dados geográficos são caracterizados por apresentarem quatro componentes
fundamentais: característica não-espacial; característica espacial; característica temporal e
característica gráfica.
A sua característica não-espacial representa os atributos textuais do fenômeno
correspondente, ou seja, informações que caracterizam o dado, como nome e atributos
específicos do mesmo. Em relação à característica espacial, temos a localização espacial
propriamente dita do fenômeno, ou seja, seu geo-referenciamento. As características
temporais dos dados geográficos são informações bastante importantes, principalmente pelo
fato dos mesmos serem variantes com o tempo, enquanto que as características gráficas são as
representações pictóricas dos dados, armazenadas também no banco de dados.
Dados geográficos, ou geo-dados, que descrevem fenômenos direta ou indiretamente
associados a uma localização relativa à superfície terrestre, têm sido coletados em forma
digital há mais de 30 anos. O alcance total desta coleção aumenta rapidamente com avanços
em tecnologia, tais como sistemas de imagens de satélite de alta resolução e sistemas de
______________________________________________________________________________________
10
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
posicionamento global, como também o crescente número de pessoas e organizações que
coletam ou utilizam estes dados.
Durante
muitos
anos
diferentes
métodos
para
aquisição,
armazenamento,
processamento, análise e visualização de geo-dados têm sido desenvolvidos mais ou menos
independentes uns dos outros. Refere-se a geo-dados como sendo todos os tipos de dados
geográficos digitais, tais como:
•
Mapas digitais
•
Dados de imagens de satélite
•
Dados espaciais e temporais
Define-se geoprocessamento como sendo qualquer tipo de sistema de computação que
utilize geo-dados, incluindo: Sistemas de Informação Geográfica – SIG, Sistemas de Controle
Aéreo, Processamento de Imagens, Armazenamento de Geodados em Bancos de Dados de
todos os tipos, Métodos de Navegação, Meteorologia, Sismologia, CAD, Gerenciamento de
Transportes, Cartografia Digital, Comércio Geográfico, Simulação de Vôos entre outros.
Como uma definição mais ampla, segundo Güting [Gut94], um banco de dados é
espacial se o mesmo gerencia dados que estão relacionados com algum espaço. Como
exemplo de espaço, temos o espaço geográfico (superfície terrestre), o universo, um projeto
de VLSI, ou uma estrutura molecular. Como característica deste tipo de sistema de banco de
dados e da tecnologia necessária para o mesmo, cita-se a capacidade de gerenciar grandes
conjuntos de objetos geométricos simples. Quando o espaço utilizado é a superfície terrestre
temos, como exemplo de aplicação, os Sistemas de Informação Geográfica (SIG).
Uma das principais características de SIG [CCF+96, Cam+ 00] é sua capacidade de
manipular dados espaciais e não-espaciais, ou descritivos, de forma integrada provendo uma
forma consistente para análise e consulta. É possível, desta forma, ter acesso às informações
descritivas de uma entidade geográfica a partir de sua localização geográfica, e vice -versa.
Entidade Geográfica é qualquer fenômeno ou objeto do mundo real que possua atributos
associados à sua localização sobre a superfície da Terra, num certo instante ou intervalo de
tempo.
______________________________________________________________________________________
11
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
2.3
LINGUAGENS DE CONSULTA PARA BANCOS DE DADOS GEOGRÁFICOS
As linguagens de consultas existentes para Bancos de Dados Geográficos classificam-se em
textuais, visuais e multimodais ou híbridas. As linguagens textuais são usualmente extensões
de SQL que acomodam relacionamentos espaciais em suas estruturas. As linguagens visuais
por outro lado permitem a manipulação direta dos elementos visualizados na elaboração da
sentença de consulta desejada. As linguagens multimodais ou híbridas permitem uma
combinação de linguagem textual com manipulação de elementos gráficos pelo usuário.
2.3.1 Linguagens Textuais
Por serem baseadas na linguagem SQL, essas linguagens apresentam como vantagem principal
a larga utilização da mesma por usuários de bancos de dados, além de que o padrão SQL
facilita a otimização de consultas. Por outro lado, apresentam uma limitação em relação à
modelagem de dados em aplicações de geoprocessamento.
Devido à falta de relações no conjunto de operações fundamentais que suportam
apropriadamente a maior parte de operações geométricas e pictoriais, características dos SIG,
as operações relacionais por si só são insuficientes para resolver muitas consultas típicas.
Inúmeras extensões especializadas de SQL têm sido propostas para manipular objetos
complexos, temporais e dados espaciais [Ege94, FC92, MSO87, RFS88, PF88, Sam88].
Existem algumas diferenças nas extensões SQL que suportam dados espaciais:
1. A forma de extensão em que são cobertas as propriedades espaciais;
2. O grau de formalidade em que são definidas as semânticas das extensões;
3. A sua implementação sintática;
4. O grau de concordância com a estrutura padrão SQL.
Extensões SQL que tentam cumprir com o padrão SQL têm que conviver com um
conjunto de restrições conceituais que se referem ao esquema padrão. É muito difícil estender
uma linguagem padrão SQL de modo que a mesma suporte dados geográficos e os manipule
corretamente [Ege92]. Dois tipos de deficiências são encontrados:
1. A falta de poder expressivo para formular certos tipos de consultas espaciais;
2. A falta de conceitos espaciais no padrão SQL.
______________________________________________________________________________________
12
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
A deficiência da linguagem SQL em relação à expressividade na manipulação de dados
geográficos diz respeito a: poder da linguagem, identidade de objetos, consulta a metadados e
consulta de conhecimentos [Ege92].
Extensões SQL para dados espaciais apresentam operações sobre objetos geográficos
que incluem operações de seleção espacial e junção espacial. As operações sobre objetos
geográficos referem-se a [Cam95]:
1. Restrições sobre atributos: computados em função dos atributos dos objetos
geográficos.
2. Restrições espaciais: derivados a partir dos relacionamentos espaciais dos objetos
geográficos.
3. Propriedades de objetos: os resultados correspondem a predicados de um objeto
ou de um conjunto de objetos.
Algumas linguagens textuais para banco de dados geográficos seguem a filosofia QBE –
Query-By-Example [Zlo76], outras seguem a filosofia de QUEL [HSW75]. Uma descrição de
várias dessas linguagens pode ser vista em [Nas95]. Neste trabalho serão descritas algumas
linguagens baseadas em SQL no Capítulo 3.
2.3.2 Linguagens Visuais
As linguagens de consultas visuais permitem a construção de uma consulta através de
combinações de símbolos e texto, visando facilitar o trabalho do usuário. Muitas vezes,
porém, esta abordagem dificulta a formulação de uma semântica precisa para as consultas.
Recentemente, o crescimento do número de usuários de BD, tanto experientes como
novatos, tem levado ao desenvolvimento de um número de interfaces baseadas em diferentes
princípios, cujo principal propósito é facilitar a interação homem-máquina [Cat+97]. Uma
das tecnologias existentes é a utilização de linguagens de manipulação direta caracterizada
tanto pela visibilidade dos objetos de interesse, como pela substituição da sintaxe da
linguagem de comandos pela manipulação direta desses objetos.
A manipulação direta com técnicas visuais apresenta algumas vantagens [Cat+97], tais
como:
•
Representação dos objetos de forma visual pelo computador;
______________________________________________________________________________________
13
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
•
Redução da dependência da linguagem nativa do usuário;
•
Facilidade no entendimento da funcionalidade básica da interação;
•
Alto grau de eficiência devido à possibilidade de definição de novas
funções e características;
•
Redução significativa do grau de erro.
Encontram-se na literatura alguns exemplos de utilização deste tipo de linguagem em
SIG [CM94, Fra82, Mey92a, Mey92b]. No Capítulo 4, serão vistas algumas destas propostas
com mais detalhes.
2.3.3 Linguagens Híbridas
Em um ambiente multimodal, ou híbrido, tem-se a combinação de consultas visuais e
textuais, de forma a tirar proveito dos aspectos positivos de cada uma. Um tipo de
metodologia para implementar estas linguagens é a utilização de mapas dinâmicos, onde se
tem a combinação de noção de visões de bancos de dados com técnicas de visualização
[CCH +96]. Cada mapa dinâmico é definido por um par (visão, visualização), onde a visão é o
resultado da consulta e a visualização associa uma apresentação ao resultado da consulta.
2.4 Tipos de Representação
Os SIG trabalham com dois tipos diferentes de representação gráfica, a representação
“matricial” e a representação “vetorial” [HGW99]. O tipo de representação mais simples e
mais freqüentemente usado é constituído por entidades espaciais básicas, especificadas por
atributos e localização geográfica, que é a representação vetorial. Nesta representação,
informações sobre pontos, linhas e polígonos são codificadas e armazenadas como uma
coleção de coordenadas x, y. A representação vetorial é extremamente útil para descrever
características discretas, mas menos utilizadas para descrever características continuamente
variantes, tal como tipos de solos.
Pontos, linhas e polígonos complexos podem ser usados para capturar as estruturas externas
de uma entidade, e estas definições podem ser funcionais ou descritivas. Por exemplo, uma
cidade pode ser representada tanto por um ponto, em um mapa com nível de descrição por
continentes, ou como um polígono, em um mapa com nível de descrição por regiões. Em um
nível ainda mais detalhado, uma cidade pode incluir ruas, casas, parques, cada um com
diferentes funcionalidades e respondendo diferentemente às operações de consulta.
______________________________________________________________________________________
14
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
A representação matricial é utilizada para descrever características ou fenômenos que
variam continuamente com o tempo. Uma representação matricial consiste de uma coleção de
células de uma malha regular, como um mapa digitalizado ou uma figura. Também chamado
de tesselações, a representação matricial consiste de superfícies contínuas que podem ser
representadas por conjuntos de unidades básicas, tais com o células quadradas, triangulares ou
hexagonais, ou ainda polígonos irregulares. Superfícies geométricas 2D podem ser divididas
em células quadradas, conhecidas como pixels, cujo tamanho é determinado pela resolução
que é requerida para representar a variação de um atributo para um dado propósito. O
equivalente dos pixels em 3D é chamado de voxels e são as unidades básicas numa variação
espacial de um espaço 3D. Tanto a representação matricial como a vetorial (Figura 2.4)
possuem vantagens e desvantagens no armazenamento de dados geográficos. SIG modernos
devem ser capazes de manipular ambos os modelos de representação.
Figura 2.4 – Representação Matricial e Vetorial [GIS02]
Devido ao gerenciamento de grandes volumes de dados, existe uma necessidade dos
SIG trabalharem de forma integrada com sistemas gerenciadores de bancos de dados (SGBD)
geográficos. Assim, as aplicações desenvolvidas a partir de SIG apresentam uma
complexidade semelhante ou maior àquela apresentada por aplicações que são desenvolvidas
com base em SGBD [Lis00] convencionais.
______________________________________________________________________________________
15
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Tem sido um grande desafio para os desenvolvedores projetar Sistemas de Informação
Geográfica que atendam às diversas necessidades das diferentes aplicações para os mesmos.
Muitas vezes verifica-se o desenvolvimento de SIG de forma não metodológica, tendo como
resultado diversos tipos de problemas de projeto. Entre os problemas citados, destacam-se: a
grande variedade de métodos de aquisição de dados, a falta de uma codificação adequada dos
elementos sendo modelados, a ocorrência de coberturas esporádicas de dados, a necessidade
de dados temporais e a incompatibilidade entre conjuntos de dados [Lis00].
2.5 Modelos Conceituais e Modelos de Dados Geográficos
Quando se manipula informações geográficas através de um vasto domínio, torna-se
necessário formalizar os modelos usados para descrever este domínio e garantir que os dados
sejam interpretados sem ambigüidade e comunicados efetivamente. Fenômenos do mundo
real não são armazenados no computador diretamente, mas somente suas representações
baseadas nestes modelos formais.
A partir de idéias conceituais de fenômenos geográficos é possível formalizar a
representação do espaço e de propriedades espaciais. Podem-se adotar diferentes maneiras de
descrever o que está acontecendo na superfície terrestre: (a) percebendo o espaço como
sendo ocupado por entidades que são descritas por seus atributos e propriedades e cuja
posição pode ser mapeada usando um sistema de coordenadas, ou (b) imaginando que a
variação contínua de um atributo de interesse, ou campo, através do espaço, seja de acordo
com alguma função matemática. Será apresentado, a seguir, algumas características destes
modelos de representações espaciais.
Genericamente falando, pode-se dizer que os modelos de representações espaciais são
formalizações equivalentes do modelo conceitual usado [BM98]. Eles formalizam como o
espaço é dividido em partes para análise e comunicação e assumem que, unicamente
identificados, os atributos possam ser medidos ou especificados e que as coordenadas
geográficas possam ser registradas.
Uma característica bastante importante dos dados geográficos é que os mesmos não
podem ser considerados sozinhos no espaço porque a sua análise e interpretação dependem
basicamente de sua localização neste espaço de acordo com outros dados, ou seja, a sua
referência espacial é extremamente importante. Esta característica é refletida intensamente na
elaboração de consultas a estes dados. De uma forma geral, consultas a dados geográficos,
______________________________________________________________________________________
16
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
geralmente manipulados por SIG, envolvem tanto o estado de um fenômeno, como a sua
distribuição espacial e temporal [CCH+96].
Um modelo de dados conceitual é um conjunto de ferramentas computacionais
utilizado para estruturar dados em um sistema computacional. Aspecto fundamental no
projeto de SIG, o modelo descreve como a realidade geográfica vai ser representada no
computador. A modelagem de dados tem um papel crítico [Cam95] no desenvolvimento de
sistemas ao determinar a capacidade de uso e a rapidez de aprendizado do mesmo.
Um modelo busca sistematizar o entendimento que é desenvolvido a respeito de objetos
e fenômenos que serão representados em um sistema computacional [BD00]. No entanto, os
objetos e fenômenos do mundo real são complexos demais para permitir uma representação
completa, considerando os recursos computacionais à disposição dos SGBD atuais. Ao longo
dos anos foram criados diversos modelos de dados que podem ser classificados em modelo de
dados conceitual, modelo de dados lógico e modelo de dados físico. Os modelos de dados
conceituais são os mais adequados para capturar a semântica dos dados e, conseqüentemente,
modelar e especificar as suas propriedades. Como exemplos mais utilizados de modelos
conceituais temos o modelo entidade-relacionamento [Che76], e os modelos de objetos das
metodologias OMT [Rum91] e UML [BRJ00].
Quando se modelam dados espaciais, ou dados geográficos, sente-se necessidade de
representar basicamente duas visões dos dados: os objetos no espaço e o espaço propriamente
dito [Gut99]. Como exemplos de objetos pode-se citar uma cidade com nome, população e
área, como também um rio possuindo um nome e uma rota. Como exemplos de espaço a ser
modelado tem-se: mapas temáticos, estados e meso-regiões. Numa modelagem geo-espacial
considera-se então os objetos simples e as coleções de objetos que se encontram
espacialmente relacionados. Abstrações básicas para se modelar objetos simples são [Gut99]:
•
Ponto - representa uma entidade geográfica cuja localização geográfica é
importante, mas a sua extensão não é um dado relevante.
•
Linha – modela movimento ou conexão através do espaço.
•
Região – abstração de um objeto geográfico com a sua área.
Exemplos de abstrações básicas para se modelar coleções de objetos espacialmente
relacionados entre si são [Gut99]:
______________________________________________________________________________________
17
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
•
Mapas cadastrais e temáticos – como exemplo de modelagem do uso da terra,
distritos, proprietários, etc.
•
Rede espacialmente conectada – como exemplo cita-se: ruas, estradas, rios,
telefonia, etc.
Tendo sido exposta a grande complexidade dos dados geográficos, entende-se porque
ainda existem tantos estudos na definição de um modelo conceitual que atenda a todas as
necessidades e aplicações. Foram analisados alguns modelos conceituais para dados
geográficos encontrados na literatura [BD00, Pim95, Pir97, OGC98a, CF94], e a seguir,
apresenta-se algumas características de alguns deles.
O modelo MGeo+ [Tim94, Pim95, Pas96]
é um modelo conceitual orientado a
objetos para aplicações geográficas. Consiste de uma hierarquia de classes que foi
desenvolvida a partir da representação gráfica do modelo de objetos OMT e é capaz de
representar um grande conjunto de requisitos normalmente presentes em aplicações
geográficas. Características básicas do Modelo MGeo+: representação das camadas
temáticas; definição de um grande número de operações espaciais; elevado nível de
abstração; integração de ambas as representações gráficas: matricial e vetorial; dados
geográficos com características descritivas, geométricas e gráficas. Um projeto de esquema de
banco de dados geográfico, utilizando o modelo MGeo+, consiste em definir novas classes e
inseri-las como subclasses das classes pré-definidas na hierarquia. São projetados também,
diagramas de instâncias dessas classes, com detalhamento complementar da modelagem dos
objetos não-espaciais.
O Modelo GMOD [Pir97, Oli97] tem como características principais: ser
independente de qualquer modelo de dados utilizado pelos SIG comerciais, permitindo um
nível mais alto de abstração; ser extensível, permitindo ao usuário derivar classes a partir de
classes pré-definidas; permitir a especificação de processos e de aplicações; permitir
representar relacionamentos temporais; permitir a especificação de regras que retratam a
dinâmica do mundo real. O GMOD é um modelo orientado a objetos e utiliza como base a
proposta de Câmara [Cam95]. O GMOD contém basicamente três grupos de classes que são
utilizadas para a modelagem estática, dinâmica e funcional. O modelo de objetos abstrai a
estrutura de dados das entidades geográfica s sendo modeladas; o modelo dinâmico abstrai o
______________________________________________________________________________________
18
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
comportamento temporal do sistema e o modelo de processos abstrai como os valores são
computados.
O modelo GEO-OMT [BD00] apresenta-se como uma extensão do modelo OMT,
agrupando de forma unificada as primitivas geográficas propostas por outros autores além de
introduzir outras, como por exemplo, a representação de múltiplas visões das entidades
geográficas. Por múltiplas visões entende-se a capacidade de um SIG de representar um
mesmo fenômeno geográfico através de múltiplas representações. Características básicas do
modelo Geo-OMT: segue o paradigma de orientação a objetos; representa e diferencia
diversos tipos de dados geográficos utilizando uma representação simbólica dos mesmos,
facilitando a percepção da natureza do dado; fornece uma visão integrada do espaço
modelado; caracteriza as classes em contínuas e discretas; é de fácil visualização e
entendimento. O modelo Geo-OMT é baseado em três conceitos principais: classes,
relacionamentos e restrições de integridade. Mais informações sobre este modelo podem ser
obtidas em [BD00, Bor97].
Existem diversos outros modelos conceituais de dados propostos na literatura
especificamente para aplicações de SIG como, por exemplo, Modul-R [Bed99], GeoOOA
[KPS97], Geo-ER [HT97], MADS [PSZ+98] e GISER [SCG+97]. A maioria deles é baseada
nos formalismos Entidade-Relacionamento e da Orientação a Objetos. No entanto, antes de
adotar qualquer um deles, convém observar os níveis de abstração dos dados geográficos, os
requisitos de um modelo de dados geográficos e finalmente, se o que se pretende modelar
poderá ser claramente representado no modelo escolhido [LIH+02, Lis97].
Alguns destes modelos são apresentados em [Soa01]. Apresenta-se com mais detalhes, a
seguir, o modelo de dados do padrão OpenGIS [OGC96, OGC98a, OGC99a] que foi
utilizado neste trabalho devido a completude de sua especificação.
2.6 O CONSÓRCIO OPEN GIS
O Consórcio Open GIS – Open Geodata Interoperability Specification [OGC96, OGC98a,
OGC99a] é uma organização sem fins lucrativos dedicada a sistemas de geoprocessamento
abertos. Este consórcio utiliza um processo em consenso com seus membros com o objetivo
de alcançar especificações abstratas e de implementação para componentes de software
relacionados a Sistemas de Informação Geográfica e Geoprocessamento.
______________________________________________________________________________________
19
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
OpenGIS é uma especificação de um ambiente de software para acesso distribuído aos
dados geográficos ou geodados e recursos de geoprocessamento. Através destas atividades, os
membros deste consórcio desenvolvem modelos essenciais e modelos de especificação. O
Modelo Essencial juntamente com o Modelo de Especificação são chamados de Especificação
Abstrata. O ambiente OGIS inclui três partes:
•
Open Geodata Model: apresenta um significado comum para a
representação digital da Terra e dos seus fenômenos, de forma matemática
e conceitual.
•
OGIS Services Model: apresenta um modelo comum de especificação para
implementação de serviços de acesso a geodados, gerenciamento,
manipulação, representação e compartilhamento entre comunidades de
informação.
•
Information Communities Model: um ambiente para uso do modelo de
geodados e serviços OGIS para resolver problemas técnicos da não
interoperabilidade de dados.
O OGIS tem como proposta permitir que um usuário em um PC padrão executando
uma aplicação de mapeamento de baixo-custo possa, de conformidade com o OGIS,
consultar um servidor remoto de dados na Internet, provavelmente através de uma técnica de
seleção gráfica simples dentro da aplicação. Por sua vez, o servidor de dados remoto irá
armazenar os geodados em um SGBD relacional comercial e de propósito geral, configurado
com uma interface OGIS. Algumas informações podem se perder na transferência, mas o
servidor poderá cooperar e informar ao usuário sobre esta informação perdida.
O Consórcio OGIS [OGC99a, Bog99] provê uma plataforma para desenvolvedores de
software que permite que seus usuários acessem e processem dados geográficos de uma
variedade de fontes ao longo de interfaces computacionais genéricas com uma tecnologia de
informação aberta (Figura 2.5). Especifica, ainda, a tecnologia que irá habilitar um
desenvolvedor de aplicação a usar qualquer geodado e qualquer função de geoprocessamento
ou processo disponível na rede com um ambiente simples de fluxo de trabalho. Geodados
incluem qualquer representação digital de características da Terra, sejam elas naturais ou
feitas pelo homem ou fenômenos da Terra definidos por sistemas de coordenadas espaciais
ou temporais.
______________________________________________________________________________________
20
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Figura 2.5 – Tecnologia Open GIS
O Modelo Open GIS [OGC96, OGC98a, OGC99a] é um modelo operacional, e não
um padrão de dados. Os elementos ou características do modelo de geodados são definidos
em termos de interfaces e não estruturas. Do ponto de vista de interoperabilidade geográfica,
significa que implementações individuais podem ser desenvolvidas baseadas em diferenças
profundamente fundamentais de organizações de dados, mas estas diferenças são
transparentes ao usuário.
2.6.1 ESPECIFICAÇÃO ABSTRATA OPEN GIS
O modelo abstrato OGIS identifica as classes e sub-classes mais interessantes e seus
relacionamentos e especifica, de forma abstrata, as interfaces que devem ser implementadas
no sistema. O modelo OGIS trabalha com informações geo-espaciais que utiliza feições com
geometria, camadas ou informações de imagens.
a) Geometria de Feição (Feature Geometry):
Considera-se uma feição como sendo o átomo da informação geográfica. É uma
representação abstrata dos fenômenos do mundo real e está associada a uma localização
______________________________________________________________________________________
21
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
relativa à Terra. Feições são abstrações codificadas digitalmente de objetos e fenômenos do
mundo real que têm uma representação geométrica e espaço-temporal, além de outros
atributos associados a elas. Feições são criadas, administradas, acessadas, alteradas entre si e
manipuladas pelos serviços Open GIS. Exemplos de feições podem ser: um segmento de reta
entre interseções consecutivas, uma imagem de satélite geo-referenciada, uma sobreposição
de temperatura ou um mapa climático.
Uma coleção de feição pode conter uma ou mais feições simples. Feições são
compostas por três elementos básicos:
•
Geometria: com um sistema de referência espacial e/ou temporal, incluindo
uma sentença de uma resolução e a exatidão do modelo geométrico. Feição
com extensões espaciais no projeto são desenhadas usando formas geométricas
primitivas simples. Estas formas primitivas são instâncias do conjunto Well
Known Types (WKTs) do módulo OpenGIS Geometry, tais como polígonos,
cadeias de linhas, poliedros e outras formas OpenGIS. Todas as geometrias
devem poder ser representadas por um sistema de coordenadas geométricas.
•
Propriedades Semânticas: Consiste na definição da entidade ou do fenômeno.
Ao contrário da geometria, a semântica pode variar de um grupo para outro da
mesma forma que uma visão conceitual.
•
Metadados: São informações que podem ser necessárias para posicionar a
feição no contexto da aplicação ou da comunidade de usuários. Padrões e
requisitos de metadados são freqüentemente definidos através de empresas
profissionais e são usados para traçar uma linha e prover uma medida de
qualidade garantida ao usuário.
A feição geográfica contém as informações da sua posição em relação às
coordenadas da Terra ou em relação à outra feição. A técnica mais comum de se obter a
forma e a localização de uma feição é através de sua geometria. Instâncias geométricas
simples estão associadas a um número de pontos de coordenadas que são mapeadas em
pontos do mundo real através do uso de um sistema de referência espaço-temporal
constante para uma geometria particular. Geometrias complexas podem ser derivadas do
uso de geometrias simples, ou seja, a classe geometria do modelo pode representar vários
tipos de geometria.
______________________________________________________________________________________
22
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
A aparência de uma feição é estabelecida pela sua geometria, semântica e seus
metadados. Contudo, não existe nenhum requisito rigoroso que obrigue a existência de
um valor para cada um deles, mas, devido ao seu uso em aplicações geográficas, a maioria
dos objetos apresenta uma localização.
As instâncias de uma feição são identificadas dentro do sistema operacional por uma
identidade de objeto. Esta identidade, OID, é única para cada objeto em todos os
conjuntos de dados. As feições podem ser definidas por recursividade, ou seja, feições
podem conter muitas sub-feições, que por sua vez, podem conter também outras subfeições.
b) Camadas e feições
Elementos geográficos dividem-se em duas grandes categorias: entidades e fenômenos.
•
Entidades são reconhecíveis, ou seja, são objetos discretos que possuem limites
relativamente bem-definidos ou extensão espacial. São exemplos de entidades:
caminhões, prédios, rios.
•
Fenômenos variam através do espaço e não possuem extensão específica. Exemplos de
fenômenos são: temperatura, composição do solo e topografia. Um valor ou uma
descrição de um fenômeno só faz sentido se houver uma correlação com um ponto no
espaço, e possivelmente uma variável temporal.
Estas duas categorias não são obrigatoriamente mutuamente exclusivas. De fato,
muitos componentes da Terra apresentam características por uma parte de entidade, por
outra, de fenômeno, tornando sua classificação subjetiva e aberta às interpretações. Na
especificação Open GIS, tanto as feições como as camadas podem ser usadas para mapear
diferentes entidades ou fenômenos do mundo real.
•
Feição é a representação de uma entidade do mundo real, ou uma abstração do
mundo real. Possui um domínio espacial, temporal ou espaço-temporal como
atributo. Qualquer coisa que possa ser localizada no tempo e no espaço pode ser
exemplo de uma feição. Um mapa cadastral de uma cidade que mostra as suas ruas,
por exemplo, é na verdade, uma coleção de feições, cada uma das quais sendo uma
feição do tipo rua. Uma feição, desta forma, normalmente representa entidades.
______________________________________________________________________________________
23
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
•
Camada é uma associação de pontos com um domínio espaço/temporal de um valor,
ou seja, em uma camada, cada ponto tem um valor simples ou complexo particular.
Na especificação Open GIS, uma camada é, então, simplesmente uma função que
retorna um valor a cada ponto geométrico. Campos escalares, modelos da Terra,
distribuição populacional e mapas dos solos podem ser manipu lados como camadas.
Desta forma, vê-se que camadas estão normalmente relacionadas com fenômenos.
Uma cidade definida como uma feição, por exemplo, não apresenta um valor para
cada ponto. Se a mesma cidade for definida como uma camada, para cada ponto ela vai
fornecer um valor, tal como o índice de elevação da qualidade do ar, índices pluviométricos,
de umidade do ar, etc.
O Open GIS define um modelo para descrever as semânticas das propriedades de uma
feição. Estas propriedades podem ser arbitrariamente complexas dependendo de como forem
representadas sobre os tipos do modelo. Por exemplo, o atributo de tipo de solo pode ser
simplesmente um nome tal como arenoso ou pode conter um largo conjunto de parâmetros
como pH, densidade, etc.
É necessário prover descrições do modelo de atributos escolhido para uma feição. O
componente semântico de uma feição inclui o seu esquema. Todos os tipos deste modelo
terão estruturas de representação bem conhecidas que podem ser usadas para construir
instâncias para estes tipos.
O Modelo Open GIS necessita também acomodar descrições dos metadados que são
associadas às feições. A necessidade dos metadados e seus tipos variam largamente de
aplicação para aplicação. Os metadados são subconjuntos das propriedades de uma feição.
Além das propriedades das feições, é necessário, também, prover descrições do modelo de
elementos dos metadados.
As aplicações geográficas manipulam uma grande variedade de geometrias. O Modelo
Open GIS deve prover a capacidade para manipular geometrias independentemente do
tipo/modelo de representação específico e escolhido para a aplicação. Os seguintes tipos de
geodados são descritos na especificação: ponto, superfície, curva e coleção de geometrias.
Cada objeto geométrico é associado a um Sistema de Coordenadas Espacial, que descreve as
coordenadas do espaço no qual a geometria é definida.
______________________________________________________________________________________
24
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
2.6.2 HIERARQUIA DO MODELO OPEN GIS
Geometria é a classe raiz da hierarquia do Modelo Open GIS (Figura 2.6). É uma classe
abstrata, ou seja, não instanciável. Todas as classes geométricas instanciáveis descritas nesta
especificação são definidas de tal forma que as instâncias válidas de uma classe geométrica são
topologicamente fechadas (incluem seus limites).
Geometria é a combinação de uma coordenada geométrica com um sistema de
referência. Uma coordenada geométrica é composta por quatro itens:
1. Uma seqüência de pontos de coordenadas do mesmo sistema de referência.
2. Uma coleção de outras geometrias do mesmo sistema de referência.
3. Um algoritmo de interpretação que usa estas geometrias e pontos de
coordenadas para construir entidades geométricas que indiretamente definem
a extensão da geometria no tempo e no espaço.
4. Um sistema de referência temporal que mapeia a coordenada geométrica e sua
localização, fornecendo à mesma uma interpretação do mundo real.
______________________________________________________________________________________
25
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Geometria
Ponto
1+
Sistema de Referência Espacial
Curva
Superfície
Cadeia de
Linhas
Polígono
Coleção de Geometrias
2+
MultiSuperfície
MultiCurva
MultiPonto
1+
Linha
Linha Anel
MultiPolígono
MultiLinhaString
1+
Figura 2.6 – Hierarquia de Classes Geométricas
Ponto
O exemplo mais simples de um domínio espacial é o ponto. É uma geometria que possui
dimensão zero e representa uma posição simples no sistema de coordenadas. Um ponto tem
um valor da coordenada-x e outro valor da coordenada-y. O limite de um ponto é o conjunto
vazio.
Multiponto
É uma coleção geométrica de dimensão zero. Os elementos de um Multiponto estão restritos
a pontos, e os mesmos não são conectados ou ordenados. Um Multiponto é simples se não
existirem dois pontos que sejam iguais (tenham os mesmos valores de coordenadas). O limite
de um conjunto de pontos também é o conjunto vazio.
Curva
A Curva é um objeto geométrico de uma dimensão, normalmente armazenada como uma
seqüência de pontos, com o subtipo de curva especificando a forma de interpolação entre os
______________________________________________________________________________________
26
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
pontos. Uma curva simples é aquela que não passa por um mesmo ponto mais de uma vez. É
fechada se seu ponto inicial for igual ao ponto final. O limite de uma curva fechada é
definido como vazio. Uma curva simples e fechada é chamada de Linha Anel. Os limites de
uma curva aberta consistem de seus dois pontos extremos.
Cadeia de Linhas, Linha e Linha Anel.
Uma Cadeia de Linhas é uma curva com interpolação linear entre seus pontos. Cada par
consecutivo de pontos define um segmento de linha.Uma Linha é uma Cadeia de Linhas que
possui exatamente dois pontos. Uma Linha Anel é uma Cadeia de Linhas que é tanto fechada
como simples.
MultiCurva
É uma coleção de geometrias de uma dimensão cujos elementos são curvas. MultiCurva é
uma classe não-instanciável nesta especificação e define um conjunto de métodos para suas
sub-classes. Uma MultiCurva é simples se, e somente se, todos os seus elementos forem
simples. As únicas interseções possíveis são entre pontos que estejam nos limites de ambos os
elementos. A MultiCurva é fechada se todos os seus elementos forem fechados. O limite de
uma Multicurva fechada é sempre vazio.
MultiCadeiadeLinhas
É uma MultiCurva cujos elementos são Cadeias de Linhas.
Superfície
É um objeto geométrico de duas dimensões. Superfícies simples em um espaço tridimensional
são isomórficas às superfícies planas. O limite de uma superfície simples é o conjunto de
todas as curvas fechadas correspondentes aos seus limites internos e externos. A única
subclasse instanciável de superfície nesta especificação é o polígono.
Polígono
É uma superfície plana, definida por um limite exterior e zero ou mais limites interiores.
Cada limite interior define um buraco em um polígono.
Polígonos são topologicamente fechados. Os limites de um polígono consistem de um
conjunto de Linhas Anéis que compõem seus limites interior e exterior. Polígonos são
geometrias simples.
______________________________________________________________________________________
27
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
MultiSuperfície
É uma coleção de geometrias de duas dimensões cujos elementos são superfícies. Os
interiores de quaisquer dessas superfícies não podem se intersectar entre si. Multisuperfície é
não-instanciável. A subclasse instanciável de multisuperfície é multipolígono e corresponde a
uma coleção de polígonos.
Multipolígono
É uma multisuperfície cujos elementos são polígonos. Seus limites consistem de um conjunto
de curvas fechadas correspondentes aos limites de seus elementos polígonos.
2.6.3 Considerações Finais da Especifica ção Open GIS
No Open GeoData Model - OGM [OGC99a], objetos digitais representando entidades são
associados com valores de atributos o que implica que a entidade correspondente no mundo
real tem uma descrição que esta atribuição está representando.
Um sistema de referência é uma maneira de atribuir valores de localização, tempo e
outras quantidades ou qualidades descritivas. De uma maneira mais geral, um sistema de
referência pode ser pensado como uma medida de escala. Normalmente, Sistemas de
Referências Espaciais e Temporais são restritos a escalas cardinais e contínuas cujos valores
fazem parte de um espaço vetorial real.
Um Sistema de Referência Espacial é uma função que associa localizações no espaço
com as tuplas de coordenadas das geometrias em um espaço matemático, normalmente um
espaço de coordenadas vetoriais reais. Esta conversão associa valores de coordenadas e
geometrias com localizações do mundo real.
Existem muitas extensões espaciais possíveis para o Modelo de Geodados apresentado
anteriormente. Círculos, splines, cilindros, sólidos geométricos construtivos, e muitos outros
podem ser adicionados. Modelos geométricos tridimensionais também, muitas vezes, são
necessários em muitos domínios.
As diferentes geometrias apresentadas na especificação [OGC98a] podem ser
implementadas utilizando-se estruturas conhecidas, Well Known Structures – WKS. Todas as
geometrias são lineares, ou seja, toda interpolação entre dois dados pontos na geometria
WKS é linear. Algumas das estruturas usadas são: Coordenadas, Multiponto, Cadeia de
Linhas, MultiCadeiadeLinhas, Linha Anel, Polígonos e Triângulos.
______________________________________________________________________________________
28
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
A Especificação Abstrata OpenGIS [OGC990] é muito extensa e engloba informações
a respeito da Geometria de Feições [OGC01I], Sistemas de Referências Espaciais [OGC02II],
Estruturas de Localização de Geometrias [OGC99III], Feições [OGC99V], Relações entre
Feições [OGC99VIII], Coleções de Feições [OGC99X], Metadados [OGC99XI], entre
outras, e todos estes podem ser obtidos em [OGC98a, OGC99a].
Apesar das características inovadoras da especificação do OpenGIS [OGC99a,
OGC99b], a mesma apresenta algumas limitações de uso como, por exemplo, pelo fato de
tomar a linguagem SQL como base de sua linguagem de consulta. O SQL, por si só, não
prevê a existência de uma linguagem de apresentação associada às consultas realizadas e nem
permite o conceito de que o resultado das consultas possa retornar objetos e campos que
sejam manipulados posteriormente [Tom98, Lim02]. Além disso, a especificação da
linguagem não permite a definição de restrições espaciais.
2.7 P ADRÕES DE METADADOS ESPACIAIS
Muitas vezes algumas companhias trabalham sobre um mesmo tipo de dado geográfico, mas
não compartilham os mesmos entre si devido a:
•
Utilizarem plataformas para SIG diferentes e, portanto, utilizarem dados
digitais em diferentes formatos;
•
Utilizarem os mesmos SIG, mas as estruturas dos dados serem diferentes;
•
Terem obstáculos institucionais, econômicos e legais. Muitas vezes os
dados de uma empresa não podem ser legalmente acessados por outra.
Com o objetivo de promover a interoperabilidade global de dados espaciais, normas de
padronização vêm sendo desenvolvidas e utilizadas em toda a comunidade de usuários de
SIG. Os metadados realizam um importante papel nesta tarefa, pois os mesmos dão suporte à
infra-estrutura de dados espaciais permitindo aos usuários localizar, avaliar, extrair e aplicar
estes dados.
Os metadados podem ser definidos como dados sobre dados. Descrevem o conteúdo, a
qualidade, a condição e outras características relevantes do dado [HP98, Dub01]. O conceito
de metadados é familiar para a maioria das pessoas que manipulam informações geográficas.
A legenda de um mapa, por exemplo, é puramente metadado [VMR99]. A maior parte dos
arquivos geo-espaciais digitais atualmente tem algum metadado associado.
______________________________________________________________________________________
29
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Metadados de dados geográficos são necessários por uma série de propósitos e incluem
as seguintes informações [Aus00]:
•
Informações detalhadas sobre métodos de coleta de dados, técnicas de análise e
integração, aplicadas a vários componentes de dados fontes, que dêem suporte
à preparação de relatórios científicos;
•
Informações sobre a exatidão do conjunto de dados fontes, histórico do
processamento e procedimentos de arquivos que gerenciem e utilizem os dados
efetivamente;
•
Informações sobre especificações de projeto, escala e um dicionário de dados
para acompanhar a transferência de dados para outras organizações;
•
Descrições adequadas do conteúdo, qualidade e extensão geográfica do
conjunto de dados de modo que usuários em potencial de dados existentes
possam calcular sua aplicabilidade para outros propósitos;
•
Um resumo de descrições de conteúdo e qualidade assim como informações de
contato e inclusão dos sistemas de diretório.
A qualidade dos dados é requerida para uma série de propósitos, mas o grau de
detalhes necessários varia. Os elementos de metadados requeridos para descrever
adequadamente diferentes tipos de dados também variam. Por exemplo, alguns dos
elementos relevantes em uma descrição de conjuntos de dados climáticos podem não ser
relevantes em uma descrição de geociência ou de conjuntos de dados populacionais. Devido a
esta variação de requisitos de metadados, se faz necessário definir um número de elementos
comuns para muitos propósitos [Aus00], de acordo com o tipo de dados ou o nível de detalhe
a ser trabalhado.
A National Spatial Data Infrastruture – NSDI [Tos98], através de um consenso geral
entre pesquisadores, especificou uma infra-estrutura que definiu as ferramentas, a tecnologia
e as pessoas necessárias para adquirir, processar, armazenar e distribuir informações
geográficas de modo a alcançar uma grande variedade de usuários.
Alguns padrões independentes foram desenvolvidos e seu principal objetivo é auxiliar o
acesso aos dados. Estes padrões provêem uma abordagem e formatos consistentes para a
descrição das características dos dados. Provêem ainda uma maneira dos usuários saberem:
______________________________________________________________________________________
30
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
quais dados estão disponíveis; se os dados atendem às necessidades específicas; onde
encontrá-los e como acessá-los. A próxima seção descreve o padrão mais largamente
utilizado, segundo a literatura analisada [FGD99], onde pode-se encontrar diversos links de
sistemas que consideram este padrão na descrição de seus dados.
2.7.1 O P ADRÃO FGDC
O Federal Geographic Data Committee (FGDC) [FGD99] adotou um padrão de conteúdo
para metadados, o Content Standard for Digital Geospatial Metadata (CSDGM) [MSD99],
que é um padrão de metadados espaciais desenvolvido para suportar a National Spatial Data
Infrastructure [Tos98]. Este padrão provê um meca nismo consistente e formal para a
descrição das características dos dados.
O padrão CSDGM da FGDC [MSD99], especifica as informações contidas nos
metadados para um conjunto de dados geo-espaciais digitais. O propósito deste padrão é
prover um conjunto de terminologias e definições para a documentação de dados geoespaciais. Este padrão especifica informações que auxiliam os prováveis usuários a determinar
quais dados existem, as qualidades destes dados para suas aplicações, e as condições de acesso
destes dados [VMR99]. Este padrão define elementos de dados a serem usados com estes
propósitos. Aparentemente o CSDGM se apresenta bastante complexo. As principais
subdivisões deste padrão, como podem ser vistos na Figura 2.7, são [HP98]:
•
Informação de Identificação: Título do conjunto de dados, área coberta, palavraschave, propósito, resumo, restrições de acesso e de uso.
•
Informação da Qualidade do Dado: Correta localização horizontal e vertical,
completude e linearidade do conjunto de dados.
•
Informação da Organização dos Dados Espaciais: Dados tipos raster, vetor, ou
uma ligação indireta a sua localização.
•
Informação da Referência Espacial: Latitude, longitude, sistema de coordenadas
ou projeção de mapa.
•
Informação das Entidades e Atributos: Definições e atributos do conjunto de
dados.
•
Informação de Distribuição: Distribuidor, formato dos arquivos de dados, tipos
de mídia off-line, ligação para os dados on-line, taxas.
______________________________________________________________________________________
31
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
•
Informação de Referência dos Metadados: Quem criou os metadados e quando.
Metadados
1.
Informação de
Identificação
2.
Informação da
Qualidade do
Dado
3.
Informação da
Organização dos
Dados Espaciais
4.
Informação da
Referência
Espacial
5.
Informação das
Entidades e
Atributos
6.
Informação de
Distribuição
7.
Informação de
Referência aos
Metadados
Legendas
Obrigatório
Obrigatório
se Aplicável
Opcional
Caixa 3-D
Indicando
Campos de
Entrada de
Dados
Figura 2.7 – Elementos de dados do padrão FGDC
Adicionalmente apresentam-se outras seções menos usadas:
•
Informação de Citação: Diz respeito à origem dos dados, título, data de
publicação e editor.
•
Informação do Período de Tempo: Datas simple s, datas múltiplas e intervalo de
datas.
•
Informação de Contato: Pessoa de contato e/ou organização, endereço, telefone,
e-mail.
Estas seções menores não são obrigatórias e nunca são usadas sozinhas, sendo muitas
vezes inseridas em uma das seções principais, como um bloco (as mesmas não aparecem na
______________________________________________________________________________________
32
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Figura 2.7). Alguns elementos do padrão de conteúdo são denominados de elementos
compostos, porque possuem pais que são compostos ou porque eles mesmos possuem outros
sub-elementos. Verifica-se, também na mesma figura, que apesar da existência de várias
seções neste padrão, as únicas obrigatórias são as seções: Informação de Identificação e
Informação de Referência dos Metadados.
A especificação baseada em seções, como mostrada acima, descreve cada entidade
espacial no SGBD Geográfico. Uma especificação completa de cada um destes itens, incluindo
um arquivo template, pode ser encontrada em [ATM02].
Uma importante informação diz respeito a que mesmo os metadados estando em
conformidade com o CSDGM, eles não se apresentam sempre da mesma forma. Isto porque
CSDGM especifica apenas o conteúdo dos metadados, não o seu formato. Existem algumas
ferramentas como, por exemplo, o TKME [Sch00, Sch02], que auxiliam a tarefa de
especificação de metadados dentro deste formato. Este sistema lê os metadados e os põe no
formato consistente, com os elementos identificados e nomeados que possam ser lidos, desta
forma, por outras ferramentas de metadados.
2.7.2 Outras Propostas
O Comitê Técnico para Padrões SIG Globais da Organização Internacional de Padronização
ISO/TC211 [ISO99] está desenvolvendo um padrão integrado que promova a
interoperabilidade global entre SIG. A primeira versão do Padrão CSDGM foi o primeiro
“rascunho” do padrão ISO 15046-15. O principal objetivo deste padrão é estabelecer um
conjunto de informações padrões referentes a fenômenos e objetos que estejam direta ou
indiretamente associados com a sua localização relativa à Terra [ISO99]. Os elementos de
metadados neste padrão são divididos nas seguintes subseções: Informação de Identificação,
Informação de Referência Espacial, Informação da Representação Espacial, Informação de
Atributos e da Característica, Informação da Distribuição, e Informação da Referência de
Metadados. Devido à diversidade dos dados geográficos, nenhum conjunto simples de
elementos de metadados irá satisfazer todos os requisitos. É importante salientar que este
padrão não está sendo desenvolvido pela academia. Cada elemento de metadado está sendo
selecionado para atingir uma determinada necessidade e estas necessidades estão sendo
analisadas em experiências reais.
______________________________________________________________________________________
33
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
O padrão SDTS – Spatial Data Transfer Standard [SDT99], se apresenta como uma
maneira robusta de transferir dados espaciais entre sistemas de computadores diferentes
afirmando apresentar o potencial de nenhuma perda de informação. É um padrão de
transferência que abrange a filosofia de transferências de: autoconteúdo, dados espaciais,
atributos, geo-referências, relatórios de qualidade dos dados, dicionários de dados, e outros
metadados de suporte associados com a transferência. O padrão SDTS é neutro, modular,
extensível, orientado a crescimento e flexível, ou seja, possui todas as características de
padrões de sistemas abertos. Um mecanismo de transferência de dados espaciais efetivo deve
prover a codificação e o intercâmbio de todas estas características e componentes de banco de
dados espaciais entre plataformas de computação diferentes. SDTS foi designado para
atender a este objetivo sem a perda e a corrupção de dados no processo de transferência.
O ESMI [ESM98, CEN99] foi fundado pela Comissão Européia e teve como iniciativa
original estabelecer em um ambiente formal, dentro de interesses de organizações públicas e
privadas, serviços de metadados universais para informações geográficas. ESMI propõe então
uma implementação de metadados baseada em padrões existentes que permitam que serviços
de metadados sejam encontrados na Internet. Para o objetivo do padrão ESMI ser alcançado
é necessário que os provedores de metadados geográficos utilizem métodos e ferramentas de
conversão de seus serviços existentes ou que projetem novos serviços que sejam compatíveis
com o ESMI. Certos elementos de metadados ESMI necessitam ser incluídos no serviço de
metadados destes provedores. Estes elementos de metadados são os mesmos normalmente
utilizados nos padrões ISO/TC211, CEN/TC287 ou FGDC. O padrão ESMI fornece
ferramentas que auxiliam neste processo de criação, conversão e manutenção de metadados.
2.7.3 Modelo Abstrato de Metadados OGC
A habilidade de armazenar metadados para cada coleção de feições é provida pela requisição
dos relacionamentos entre uma coleção de feições e a coleção de metadados. Da mesma
forma, a habilidade de armazenar metadados para cada feição individual é provida pelo
relacionamento entre cada feição e o conjunto de metadados [OGC99XI].
Cada entidade de metadados normalmente contém atributos que armazenam valores
dos elementos metadados. Muitas sub-classes ou tipos de classes da entidade metadado
podem ser definidos, onde cada sub-classe armazena um tipo diferente da entidade metadado.
______________________________________________________________________________________
34
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Uma Coleção de Feições tem um relacionamento novo com o conjunto de metadados.
Este relacionamento é necessário e armazenado por uma propriedade obrigatória da coleção
de feições com o respectivo nome do metadado. O valor da propriedade de metadado é o ID
do conjunto de metadados associado.
Uma feição também tem um relacionamento novo com o conjunto de metadados. Este
relacionamento é opcional, e é incluído apenas quando a informação de metadado está
associada com a feição individual. Este relacionamento é armazenado por uma propriedade
obrigatória da feição, com o respectivo nome do metadado. O valor da propriedade do
metadado é nulo se todos os metadados estiverem associados à coleção de feições em que a
feição se encontra.
O Conjunto de Metadados contém, ou é relacionado com, uma coleção de entidades
de metadados. Estes relacionamentos são armazenados no conjunto de metadados utilizandose um atributo da feição que contenha uma seqüência de IDs de todas as entidades de
metadados. Cada conjunto de metadados é relacionado com uma ou mais coleções de feições
ou de feições simples, mas estes relacionamentos precisam ser armazenados pelo conjunto de
metadados.
A Entidade de Metadado normalmente contém um conjunto de atributos de feição que
armazenam os valores de um grupo lógico de elementos de metadados. Cada item de
metadado é armazenado como um nome e um par de valores de objetos atributos. A classe
entidade de metadado define apenas os atributos que são comuns a todas as subclasses. Cada
entidade de metadado é relacionada com um ou mais conjuntos de metadados, mas estes
relacionamentos não precisam ser armazenados dentro da entidade de metadados. Isto pode
ser feito seguindo as seguintes regras de comportamento [OGC99XI]:
•
Toda vez que um objeto entidade de metadado, definido e aplicável, não estiver
incluído no conjunto de metadados, este metadado deve ser interpretado como
desconhecido ou não especificado.
•
A maioria dos atributos do conjunto de metadados deve ser somente de leitura.
Certamente estes atributos serão modificados durante ou imediatamente depois da
criação do objeto, antes que novos objetos possam se relacionar com outros objetos.
______________________________________________________________________________________
35
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
•
Um conjunto de metadados é fornecido para uma feição inteira, a qual contém
múltiplos componentes. Por exemplo, uma feição freqüentemente contém uma
geometria que pode conter múltiplos pontos ou vértices. O armazenamento de um
conjunto de metadados por cada feição significa que:
o Os metadados associados a todos os componentes das feições são similares.
o O usuário não tem nenhuma maneira prática de usar os metadados, desta
forma, cada parte deve ser armazenada como uma feição separada. O
armazenamento da feição composta é formado por todas as feições
menores.
2.7.4 P ERSPECTIVAS F UTURAS
Algumas companhias já estão publicando seus dados espaciais e metadados na World Wide
Web (WWW). Estas companhias são conhecidas como Geospatial Data Clearinghouses, ou
seja, um repositório de dados geo-espaciais. Pode-se encontrar em [Mon99] bons exemplos
de descrições de dados geo-espaciais através do padrão de conteúdo FGDC. O Open GIS está
trabalhando em conjunto com o FGDC na especificação do padrão ISO/TC 211, mencionado
anteriormente, para juntos desenvolverem um padrão formal e global de metadados espaciais.
Com o crescimento da Internet e de arquiteturas de software distribuídos o
compartilhamento e a análise de recursos de informações digitais têm demandado muita
pesquisa. Contudo, como conseqüência deste fenômeno, problemas adicionais têm sido
estudados de modo a prover buscas inteligentes de informações sem sobrecarregar os usuários
com quantidades excessivas de dados.
2.8 C ONCLUSÃO
Este Capítulo teve como objetivo introduzir os conceitos principais dos Sistemas de
Informação Geográfica de modo a caracterizar a problemática a ser analisada e as diversas
tecnologias que serão utilizadas nesta tese. Foi apresentado como se caracterizam os dados
em SIG, e como os mesmos são representados graficamente. Também foram citadas as
diferentes metodologias utilizadas na definição de linguagens de consultas para este tipo de
sistema.
______________________________________________________________________________________
36
Capítulo 2 - Sistemas de Informações Geográficas, Modelos e Padrões
________________________________________________________________________________________________
Foi apresentada a proposta do Consórcio OpenGIS como uma opção a ser utilizada
neste trabalho por unir conceitos e metodologias que atendem às necessidades básicas de
definição do Sistema GeoVisual, além de ser uma proposta bem definida e abrangente.
O Padrão de Metadados Espaciais que foi selecionado para este trabalho foi o
FGDC/CSDGM [FGD99], devido à grande variedade de informações disponíveis sobre o
mesmo, onde se pode encontrar além de definições formais do padrão, também várias
referências a sistemas que já o estão utilizando.
O padrão FGDC é compatível com a proposta de utilização de metadados na
especificação OGC. O Modelo Essencial de Dados Geográficos do Open GIS [OGC98a]
[OGC99a] complementa as informações básicas necessárias à definição do Sistema GeoVisual
e oferece suporte ao desenvolvimento da Linguagem de Consulta Visual.
______________________________________________________________________________________
37
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
CAPÍTULO 3
LINGUAGENS DE CONSULTAS ESPACIAIS
E SISTEMAS DE
CONSULTAS V ISUAIS
“Diante do colar belo como um sonho, admirei, sobretudo,
o fio que unia as pedras e se imolava anônimo para
que todos fossem um”.
Dom Helder Câmara
3.1 I NTRODUÇÃO
Integrar dados espaciais e não-espaciais associados com aplica ções geográficas com o objetivo
de tornar as diferentes estruturas de dados geográficas mais compatíveis entre si, como
também tornar os mecanismos de busca mais efetivos, têm sido alguns dos objetivos de
pesquisa em SIG nos últimos anos. Algumas soluções propostas tendem a estender padrões já
largamente aceitos, incorporando características espaciais em aplicações geográficas.
Extensões espaciais ao padrão SQL, por exemplo, acrescentam operadores espaciais às novas
linguagens mantendo a filosofia relacional do SQL. As linguagens de consultas espaciais
possuem características próprias devido à natureza espacial dos dados a serem manipulados.
Como já anteriormente citado, a linguagem SQL não apresenta, em sua natureza,
operações topológicas e métricas sobre dados espaciais, tais como, intersecção de regiões, ou
operações de distância e localização sobre uma determinada região. Um usuário, por
38
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
exemplo, pode requerer informações sobre uma área onde duas ou mais regiões armazenadas
no banco de dados estão envolvidas.
Muitas extensões de SQL, que têm sido propostas na literatura, apresentam como
principal objetivo, dentre outros, incorporar informações espaciais no projeto de bancos de
dados relacionais [AG97]. Duas metodologias têm se destacado: adicionar atributos de tipos
de dados espaciais às relações, e incorporar informações espaciais nos valores de atributos
não-espaciais.
3.2 Relações entre Objetos Espaciais
Sabe-se que consultas a bancos de dados geográficos são freqüentemente baseadas em
relacionamentos entre objetos espaciais e a maioria dos bancos de dados comerciais não
suporta este tipo de consulta. Caracterizam-se, a seguir, os relacionamentos dos tipos
topológicos, direcionais e temporais entre objetos espaciais.
3.2.1 Relações Topológicas entre Objetos Espaciais
Um dos conceitos fundamentais necessários à análise de dados espaciais em bancos de dados
geográficos é o entendimento formal dos relacionamentos topológicos entre objetos espaciais
arbitrários [EH91, WF02]. Relacionamentos topológicos entre objetos se preservam mesmo
após transformações topológicas tais como translação, rotação, e mudança de escala.
Informações topológicas são propriedades puramente qualitativas e excluem qualquer
consideração de medidas quantitativas. Por exemplo, dois lotes de terra são vizinhos se
compartilharem um limite comum e o relacionamento de vizinhança é independente do
comprimento deste limite compartilhado ou do número de lados comuns. É bom lembrar que
equivalências topológicas não preservam distâncias e direções [EH91]
Pode-se dizer também que a topologia é um conjunto de técnicas que nos permite
perceber as relações espaciais inerentes ao posicionamento relativo dos objetos, independente
de suas dimensões ou coordenadas exatas. Então, relações de pertinência (contém, contido),
adjacência (vizinho, ao lado de), e conexão (conectado a, ligado a, relacionado com) são
deduzidas com base em técnicas de topologia.
Quando se fala em relacionamentos espaciais, depara-se com uma dificuldade que
existe em entrar num consenso a respeito das apresentações visuais que denotam essas
relações: dentro de, cruza, toca, vizinho a, em frente a, corta, atravessa, pertence e contém.
Apesar de todos nós termos um conhecimento bastante intuitivo sobre o significado dessas
39
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
relações, muitas vezes pessoas diferentes podem selecionar um conjunto diferente de
representações para essas relações. Como exemplo prático, tem-se a Figura 3.1 que mostra
diferentes interseções entre uma linha e um polígono [Dav01]. Qual dessas representações
melhor identifica que a linha cruza o polígono? Muitas vezes a resposta a esta pergunta é
resultado de alguma convenção ou acordo adotado.
Figura 3.1 – Diferentes cruzamentos entre linha e polígono [Dav01]
3.2.1.1 Modelo de 9-Interseções
Uma metodologia formal de entendimento dos relacionamentos topológicos binários entre
regiões (polígonos regulares), linhas e pontos foi desenvolvida e é baseada na comparação de
9 interseções entre os interiores, limites e exteriores de dois objetos [EH91, ME94]. O
critério básico de distinção entre dois relacionamentos topológicos utilizados por esta
metodologia verifica se a interseção entre estes limites, interiores e exteriores dos dois objetos
é vazia ou não, identificando desta forma, 29 (512) relacionamentos topológicos mutuamente
exclusivos e exaustivos.
Egenhofer e Herring, [EH91], definiram uma formalização para relações binárias em
um espaço bi-dimensional IR2 entre objetos geométricos, por exemplo, entre duas linhas ou
entre uma linha e uma região. Um modelo de dados espacial algébrico-topológico, utilizado
neste formalismo, considera elementos geométricos primitivos chamando-os de células, que
são definidos por suas dimensões: um objeto 0-célula é um nó (o menor objeto geométrico
possível); um objeto 1-célula é uma ligação entre dois objetos 0-célula; e um objeto 2-células
é uma área descrita pela seqüência fechada de três (ou mais) objetos de 1-célula disjuntos. As
definições a seguir são importantes [ME94]:
40
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
a) Um ponto é definido como uma única célula em um espaço IR2, que não apresenta
limites, seu interior é definido como sendo a sua única célula, e o exterior, é a
diferença entre o espaço IR2 e a sua célula.
b) Uma linha é uma seqüência de 1..n células conectadas entre dois nós independentes
que não se cruzam entre si nem formam ciclos. Nós que se posicionam exatamente
onde as células iniciam e terminam podem ser referenciados como os limites da linha.
O interior da linha é definido como a união de todos os nós interiores e de todas as
conexões entre esses nós. O exterior da linha é a diferença entre o espaço IR2 e a
união do limite e do interior da linha.
c) Uma região é definida como células homogeneamente conectadas em um espaço bidimensional, que pode ser chamado de polígono. Seu limite forma uma curva que
separa o seu exterior do seu interior.
O modelo de 9-interseções descreve as relações topológicas binárias em termos das
interseções dos interiores (I), limites (L) e exteriores (E) entre dois objetos espaciais. As nove
possíveis interseções entre cada uma das três partes dos objetos são preservadas sob
transformações topológicas e provêem um ambiente para a descrição formal de suas relações
topológicas. Isto pode ser representado através de uma matriz 3x3, como mostra a Figura
3.2.
Células da Matriz
Objeto 1
I
L
E
I
L
E
Objeto 2
Figura 3.2 – A matriz 3x3 das 9-interseções
De acordo com a representação proposta por Egenhofer [EH91, ME94] são utilizadas
algumas notações para representar o interior (I), o limite (L) e o exterior (E) dos objetos
espaciais envolvidos. O limite de um objeto A é denotado por ∂A, o interior de um objeto A é
denotado por A o e o exterior do objeto A é denotado por A- .
41
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
A relação topológica binária R entre dois objetos A e B é baseada na comparação entre
o interior de A (Ao), o limite de A (∂A), e o exterior de A (A- ) com o interior de B (Bo), o
limite de B (∂B), e o exterior de B (B- ). Cada conjunto das combinações possíveis dos valores
(0 e 1) da matriz identifica uma única relação topológica entre dois objetos. Cada elemento
linha/coluna da matriz representa uma interseção possível entre as partes dos objetos
envolvidos na relação:
•
A interseção do interior de A com o interior de B (A°∩B°)
•
A interseção do interior de A com o limite de B (A°∩∂B)
•
A interseção do interior de A com o exterior de B (A°∩B- )
•
A interseção do limite de A com o limite de B (∂A ∩ ∂B)
•
A interseção do limite de A com o interior de B (∂A ∩ B°)
•
A interseção do limite de A com o exterior de B (∂A ∩ B- )
•
A interseção dos dois exteriores (A- ∩ B- )
•
A interseção do exterior de A com o limite de B (A- ∩ ∂B)
•
A interseção do exterior de A com o interior de B (A - ∩ B°)
Cada conjunto de possíveis valores da matriz de 9-interseções descreve uma relação
topológica diferente, e relações que tenham os mesmos valores da matriz são consideradas
topologicamente equivalentes.
Para o modelo das 9-interseções, o conteúdo de cada
elemento da matriz é identificado como um modelo mais simples e geral, caracterizando cada
interseção pelo valor vazio (∅) ou não-vazio (¬∅).
Para cada uma dessas nove interseções serem vazias ou não, o modelo é capaz de
representar 512 (29) possíveis relações entre esses objetos. Mas, a maioria dessas combinações
é impossível de ser encontrada, devido a certas regras geométricas, em um plano
bidimensional.
Entre uma linha e uma região, por exemplo, distinguem-se apenas 19
possíveis relações topológicas que são mostradas na Figura 3.3. [ME94].
42
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Figura 3.3 – Representação geométrica das 19 interseções possíveis entre uma linha e uma
região através do método da matriz das 9-interseções [ME94]
Mark e Egenhofer [ME94] realizaram um estudo comparativo para as 19 possíveis
relações entre uma região e uma linha (Figura 3.3), comparando-as com um possível parque e
uma rodovia. Desse estudo comparativo, chegou-se à conclusão, através da entrevista com
três grupos de usuários de nacionalidades diferentes, que dessas 19 relações, três conjuntos
diferentes de situações topológicas reais entre uma rodovia e um parque se destacaram. O
primeiro grupo da relação mostra a situação em que “uma rodovia entra no parque”; o
segundo grupo lembra a situação em que “a rodovia cruza o parque¨, e o terceiro grupo foi
43
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
identificado por não fazer parte de nenhum dos grupos anteriores. O segundo grupo
escolhido que representou a variação do operador crosses é ilustrado a seguir na Figura 3.4.
¬Ø Ø Ø
Ø ¬Ø Ø
¬ Ø ¬Ø ¬Ø
¬ Ø ¬Ø ¬ Ø
Ø ¬Ø Ø
¬ Ø ¬Ø ¬Ø
¬ Ø ¬Ø Ø
Ø ¬Ø Ø
¬ Ø ¬Ø ¬Ø
¬ Ø ¬Ø ¬ Ø
Ø ¬Ø ¬ Ø
¬ Ø ¬Ø ¬Ø
¬ Ø ¬Ø ¬Ø
Ø Ø ¬Ø
¬ Ø ¬Ø ¬Ø
Figura 3.4 – Concordância de que a Rodovia cruza o Parque
No Capítulo 5 são definidos os relacionamentos espaciais que serão abordados na
linguagem GeoVisualQL. Cada relacionamento topológico da linguagem será definido através
deste formalismo 9-intersection (9IM) [EH91, ME94, EM95] aqui apresentado.
3.2.2 Relações Direcionais entre Objetos Espaciais
Relações Direcionais constituem uma classe especial de relacionamentos espaciais que
descrevem a ordem de objetos no espaço. A grande disponibilidade de dados espaciais de
várias fontes e de vários formatos combinados com o avanço de bancos de dados espaciais e
de sistemas de informação geográfica, criaram a necessidade de responder questões que
envolvem relações de direção e outras relações espaciais [PE97].
Ao contrário de relações topológicas entre objetos espaciais, para as quais existem um
conjunto de relações largamente utilizadas tanto na literatura de pesquisa como em produtos
comerciais, não existem definições universalmente aceitas para relações direcionais [PES00].
Na geografia, embora termos linguísticos utilizados para descrever as relações
direcionais entre pares de países sejam indiscutíveis (todo mundo concorda que a Alemanha
44
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
fica ao norte da Itália), isto não acontece sempre. Por exemplo, considere a questão:
"encontre todos os países que ficam ao norte da Itália". Será que a França entraria nesse
conjunto, ou será que a mesma está ao nordeste da Itália, e não ao norte? Estas questões são
respondidas dependendo das definições tomadas a respeito das relações de direção, que
podem variar para cada aplicação [TPS96].
Quando utiliza-se dados espaciais em SIG os usuários têm que saber a respeito dos
tipos geométricos que os representam de modo a poder aplicar os operadores apropriados.
Isto porque as semânticas e as definições das relações espaciais podem variar dependendo da
representação geométricas dos dados espaciais [GE00].
Um modelo chamado de Matriz de Relação-Direção (DRM - Direction-Relation
Matrix) [GE00] foi introduzido para capturar as direções cardinais que distingue as relações
direcionais entre pontos, linhas e polígonos. A vantagem desse modelo integrado de direções
é que o mesmo se aplica para diferentes tipos de dados espaciais.
Ao contrário de direções quantitativas, que se referem a valores numéricos em graus,
minutos e segundos, direções cardinais são relações espaciais qualitativas e são baseadas em
um pequeno conjunto de símbolos.
Uma relação cardinal, no modelo DRM, é uma tripla <A, d, B>, onde A e B são o
objeto de referência e o objeto destino, respectivamente, e d é um subconjunto não vazio de
nove símbolos (N, S, E, W, NE, SE, NW, SW, 0), que representam, respectivamente: norte,
sul, leste, oeste, nordeste, sudeste, noroeste, sudoeste, e posição central (Figura 3.5).
NWA
WA
NA
0
B NEA
EA
A
A
SWA
SA
SEA
Figura 3.5 - Partições ao redor de um objeto de referência A
45
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
As relações cardinais entre dois polígonos, por exemplo, capturam a vizinhança de
uma partição ao redor do objeto de referência e registra as interseções entre o objeto destino
e as partições ao redor do objeto, como mostra a matriz DIR abaixo.
NWA ∩ B
DirRR (A,B) =
NA ∩ B
NEA ∩ B
WA ∩ B
WA ∩ B
EA ∩ B
SW A ∩ B
SA ∩ B
SEA ∩ B
Por exemplo, dada a Figura 3.5, a matriz DIR desta representação apresenta os
seguintes valores:
DirRR (A,B) =
∅
∅
∅
¬∅
∅
∅
¬∅
¬∅
∅
Isto porque, o objeto destino B se encontra parcialmente ao norte, nordeste e a leste
do objeto de referência A, por isso os valores diferentes de vazio na matriz. Uma matrizdetalhada de relações de direções é uma matriz que reflete o quanto o objeto destino se
posiciona em relação às partições ao redor do objeto de referência [GE01]. A matriz mostra
percentagens calculadas da seguinte forma:
DirRR (A,B) =
area(NWA ∩ B) area(NA ∩ B) area(NEA ∩ B)
area(B)
area(B)
area(B)
area(W A ∩ B) area(OA ∩ B) area(EA ∩ B)
area(B)
area(B)
area(B)
area(SWA ∩ B) area(SA ∩ B) area(SEA ∩ B)
area(B)
area(B)
area(B)
Por exemplo, para a Figura 3.5, a matriz apresenta os seguintes valores:
46
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
DirRR(A,B) =
∅
∅
∅
0.05
∅
∅
0.45
0.50
∅
Através deste modelo, medidas de distâncias podem ser introduzidas entre duas
direções cardinais. Um grafo conceitual de vizinhança, para um conjunto de relações espaciais
mutuamente exclusivas, serve como base para cálculo dessas distâncias entre relações deste
conjunto. Este grafo, apresenta um vértice para cada direção cardinal e um arco para cada
par de relações cardinais que são horizontal ou verticalmente adjacentes. Mudanças contínuas
de relações cardinais seguem um caminho através deste grafo conceitual de vizinhança.
Também, através deste modelo, pode-se determinar o menor caminho entre duas posições
cardinais [GE01].
Relações direcionais em SIG têm sido pesquisadas e diversos modelos têm sido
propostos de modo a definir soluções para as questões direcionais existentes entre objetos
espaciais [PE97, PES00, GE00, GE01, TPS+ 95, TPS96]. Estas questões dizem respeito a:
técnicas de otimização de consultas durante o processamento de relações de direção;
determinação do menor caminho entre posições cardinais em relação a um objeto de
referência; cálculos de distância entre posições; similaridades cardinais; recuperação de
relações de direção em bancos de dados espaciais; entre outras aplicações. Cada um destes
modelos apresenta características
inovadoras e limitações que precisam ser levadas em
consideração na escolha de um deles para uso em uma determinada aplicação.
3.2.3 RelaçõesTemporais entre Objetos Espaciais
Fenômenos geográficos mudam constantemente através do tempo e do espaço. Uma das
maiores limitações dos Sistemas de Informação Geográfica atuais é que os mesmos capturam
apenas uma cena da realidade, pelo fato de que os mesmos trabalham com bancos de dados
que armazenam apenas o dado atual [HE00]. Aspectos temporais de SIG têm sido
investigados a partir de perspectivas de cartografia, modelos de dados e bancos de dados
espaciais, embora ainda nenhum modelo que inclua dados temporais em SIG tenha sido
largamente adotado [HE00].
47
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
As pessoas vêem o mundo através de difere ntes níveis de detalhes, cada um abtraindo
do mesmo aquilo que lhe interessa. Entidades geográficas podem ser percebidas através de
diferentes níveis de detalhes temporais e podem ser tratadas como objetos. Uma linguagem de
descrição de mudanças (Change Description Language - CDL) [HE99] é definida e é baseada
em uma classificação de alterações em objetos discretos, através de mudanças na identidade
dos objetos. Identidades de objetos provêem uma maneira de representar a individualidade e
a unicidade de um objeto, independente de seus atributos e de seus valores.
A linguagem CDL utiliza símbolos para representar os elementos básicos do modelo,
bem como as combinações destes elementos. Estes elementos, ou primitivas, são baseados nos
estados de identidade dos objetos e são fundamentadas na noção de existência. Existência,
neste caso, se refere a presença física ou ocorrência de um objeto, ou, no caso de objetos
conceituais, a certeza da percepção do objeto [HE99].
Também pode-se caracterizar a não-existência de um objeto. Diferencia-se dois
estados de não-existência de objetos: não-existência sem história e não-existência com
história (Figura 3.6). Estas definições caracterizam o caso de objetos que não existem e nunca
existiram, e o outro caso em que os objetos não mais exsitem, mas já existiram em algum
tempo passado.
A
(a)
A
(b)
(c)
Figura 3.6 - (a) Existência de um objeto A; (b) Não-existência de um objeto, sem história; (c)
Não-existência de um objeto, com história.
Mudanças temporais são modeladas de uma maneira qualitativa baseada na ordem de
eventos. A mudança entre um estado de identidade para outro é representado através de uma
seta que é chamada de transição. Os cenários entre identidades de objetos são definidos da
esquerda da seta até a direita onde o estado da esquerda é chamado de antes e, o da direita,
de depois (Figura 3.7).
48
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
A
A
Figura 3.7 - Transição entre dois estados de identidade de um objeto
Um conjunto de operações entre estados de identidade de objetos é definido através
de combinações sistemáticas de primitivas que capturam as semânticas das operações de:
criação, continuação da existência, eliminação, destruição e recriação.
Linguagens de consultas temporais para SIG focam a habilidade de responder
questões como:
•
Qual o estado de um fenômeno em um determinado tempo t?
•
Quais localizações têm sido afetadas pelo fenômeno através do período de
tempo ? t?
•
Quais fenômenos exibem a característica do tempo t?
A descrição de fenômenos espaços-temporais com respeito às mudanças abre as portas
ao entendimento da semântica associada com essas mudanças. Cenários de mudanças entre
objetos podem ser modelados e as seqüências de operações comparadas. Operações de
mudança de alto nível podem ser derivadas através de um processo de combinação
sistemática de possíveis estados de identidade de objetos antes e depois de transições.
Diferentes propostas de modelagem de relacionamentos temporais têm sido
apresentadas, mas ainda nenhuma delas foi adotada como padrão [HE00, HE99, BTAL99,
MV02].
3.3 Propostas de Extensão do padrão SQL
Dados espaciais possuem propriedades adicionais, tais como geometria e representação
gráfica, que os usuários precisam manipular em uma linguagem de consulta. Os
relacionamentos espaciais e as operações nas linguagens de consultas espaciais têm
importância reconhecida, como também a álgebra relacional possui extensões para dados
geográficos, como por exemplo a Geo-Relational Algebra [Gut88].
Foram abordadas algumas propostas de extensão do SQL para dados espaciais em
[Soa01]. A seguir abordam-se apenas as mais relevantes ao nosso trabalho.
49
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
3.3.1 S PATIAL SQL
Segundo Egenhofer [Ege94], uma linguagem de consulta espacial deve ser muito mais do que
a simples equação:
Linguagem de Consulta + Relacionamentos Espaciais = Linguagem de Consulta Espacial
No contexto de manipulação de dados espaciais, as linguagens de consulta devem ser mais do
que apenas uma solução de recuperação de dados. Uma apresentação apropriada dos dados
espaciais deve fazer parte da especificação de uma linguagem de consulta espacial.
O objetivo principal de Spatial SQL é o de prover abstrações de dados espaciais de alto
nível, em uma linguagem de consulta, incorporando conceitos próximos aos seres humanos
como o pensamento a respeito do espaço em que vivemos.
Em Spatial SQL, o domínio do cálculo relacional é estendido e o novo domínio
espacial provê um alto nível de abstração de dados espaciais na interface. Foram
desenvolvidos na Spatial SQL apenas um subconjunto da Álgebra Espacial [Gut88] e algumas
definições formais de relacionamentos espaciais.
Tem sido demonstrado que o uso de SQL puro para algumas consultas espaciais
[Ege92] tem se tornado uma tarefa árdua e sintaticamente muito complexa. O tratamento de
dados espaciais como sendo abstrações de mais alto nível do que dados do tipo inteiro e
string requer um tratamento apropriado de geometria. Embora algumas operações, tal como
o cálculo da distância Euclidiana entre dois pontos, possa ser familiar para uma grande
comunidade de usuários, assim como a sua implementação também possa ser largamente
divulgada, outras operações são claramente bem mais complexas. Usuários menos
familiarizados com certos termos matemáticos podem ter dificuldade em usar alguns critérios
geométricos.
Operadores espaciais unários acessam uma propriedade espacial de uma tupla ou de
uma relação espacial. Um operador espacial unário pode ser considerado uma função sobre
um atributo espacial. Algumas funções unárias importantes são: limite (boundary) que indica
as faces limites do objeto O n-dimensional, ou seja, tudo o que faz parte dos limites de O.
Complementando a função limite, tem-se a função interior que calcula o interior das faces,
ou seja, tudo o que não estiver nos limites do objeto O nem no seu exterior.
50
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Um outro conjunto de operadores unários trabalha com operações aritméticas e
depende da dimensão do objeto. Este conjunto de operações consiste em comprimento de um
objeto de uma dimensão, e área e volume para objetos de duas e três dimensões,
respectivamente. Outros atributos complexos podem ser derivados como uma combinação de
propriedades topológicas e aritméticas tais como o perímetro de um polígono, que pode ser
definido como o somatório dos comprimentos de seus lados.
Operadores espaciais binários calculam o valor entre duas tuplas de relações espaciais,
de forma similar às operações aritméticas de adição e multiplicação. Exemplos de operadores
binários incluídos na definição de Spatial SQL são distância e direção. Distâncias podem ser
subtraídas, adicionadas, multiplicadas por algum escalar, comparadas, e ordenadas. Direções
podem ser comparadas com o uso de alguns operadores e subtraídas de determinados
ângulos. As funções agregadas são mínimo e média e podem ser aplicadas tanto aos
operadores distância como direção.
Relacionamentos espaciais binários são relacionamentos entre dois atributos espaciais.
Comportam-se como relacionamentos binários comuns e resultam em um valor booleano.
Relacionamentos binários topológicos são baseados no conjunto de interseções de limites e
interiores dos dois objetos em questão. Exemplos de relacionamentos topológicos são:
disjunto,
encontra,
sobrepõe,
dentro_de
/contém,
cobre/é_coberto_por,
e
igual.
Relacionamentos possíveis de ordem, direção ou orientação são: esquerda/direita, norte/sul, e
acima/abaixo.
Spatial SQL [Ege94] apresenta ao usuário uma linguagem de apresentação gráfica que
provê ferramentas de manipulação da apresentação gráfica dos resultados das consultas. O
conceito central da linguagem de apresentação gráfica (Graphical Presentation Language –
GPL) está baseado na idéia de ambiente de edição, onde se manipulam as informações de
como exibir os resultados das consultas. Distinguem-se seis tipos diferentes de especificação
gráfica em GPL: (1) o modo de exibição; (2) a apresentação gráfica; (3) a escala do desenho;
(4) a janela a ser mostrada; (5) o contexto espacial, e (6) a exibição do conteúdo.
3.3.2 ESPECIFICAÇÃO SQL DO OPEN GIS
O propósito da especificação SQL do Open GIS é definir um esquema SQL padrão que
suporte o armazenamento, recuperação, consulta e atualização de coleções de feições
51
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
(features) geo-espaciais simples. Uma feição simples definida através da Especificação Abstrata
Open GIS [OGC98a, OGC99a] apresenta tanto atributos espaciais como não-espaciais.
Atributos espaciais possuem valores geométricos, onde feições simples são baseadas em
geometrias 2D com interpolação linear entre os seus vértices.
As feições geo-espaciais simples são conceitualmente armazenadas em tabelas, com
colunas apresentando valores geométricos, em um banco de dados relacional, onde cada
feição está armazenada em uma linha desta tabela. Os atributos não-espaciais são mapeados
dentro de colunas cujos tipos são definidos a partir do padrão de tipos ODBC/SQL92
[OGC99b]. Uma tabela, cujas linhas representam as feições Open GIS, pode ser referenciada
como Tabela de Feições (Feature Table).
Esta especificação descreve um conjunto padrão de tipos geométricos SQL baseados no
Modelo Geométrico Open GIS [OGC99a], juntamente com as funções SQL em conjunto com
estes tipos.
Esta extensão do SQL92 suporta consulta padrão a metadados que retornam:
1. A lista de tabelas de feições em um banco de dados;
2. A lista de colunas geométricas para qualquer tabela de feição no banco de dados;
3. O sistema de referência espacial para qualquer coluna geométrica no banco de
dados.
O modelo de objetos geométricos Open GIS foi abordado no Capítulo 2 desta tese. Os
atributos, métodos e deduções para cada classe geométrica são descritos a seguir.
A geometria é uma classe abstrata raiz da hierarquia. Todas as subclasses instanciáveis
de Geometria definidas nesta especificação estão restritas às dimensões 0, 1 ou 2. Todas as
classes geométricas são definidas de modo que instâncias válidas de uma classe geométrica
sejam topologicamente fechadas.
52
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
3.3.2.1 Métodos Básicos da Classe Geometria
A classe Geometria apresenta diversos métodos que estão descritos em [OGC99b].
Selecionamos alguns desses métodos para exemplificar como seria o funcionamento dos
mesmos.
§
Dimension( ): integer – Retorna a dimensão herdada de um dado objeto geométrico,
o que deve ser menor ou igual à dimensão da coordenada. Esta especificação é restrita
ao espaço de coordenadas de duas dimensões.
§
GeometryType( ):String – Retorna o nome do subtipo instanciável da Geometria, da
qual uma dada instância de Geometria é membro. O nome do subtipo instanciável da
Geometria é retornado como string.
§
Boundary( ):Geometry – Retorna os limites combinatórios de uma dada Geometria.
Devido ao resultado desta função ser uma figura topologicamente fechada, o
resultado dos seus limites pode ser representado usando primitivas geométricas
representativas.
§
SRID( ):Integer – Retorna a Identificação do Sistema de Referência Espacial para uma
dada Geometria.
Outros métodos da classe Geometria que podem ser vistos em [OGC99b]: Envelope():
Geometry; AsText( ):String; AsBinary( ):Binary; IsEmpty( ): Integer; IsSimple(): Integer.
3.3.2.2 Métodos para Teste de Relações Espaciais entre Objetos Geométricos
Os métodos abaixo descritos realizam testes entre dois ou mais objetos geométricos. Todos
eles são bastante úteis e estão também descritos na especificação do OGC [OGC99b]. Alguns
deles estão descritos logo a seguir:
§
Equals(another Geometry:Geometry): Integer – Retorna 1 (Verdadeiro) se uma dada
geometria for espacialmente igual a uma outra geometria passada como parâmetro.
§
Disjoint(another Geometry:Geomety): Integer - Retorna 1 (Verdadeiro) se uma dada
Geometria for espacialmente disjunta de uma outra Geometria passada como
parâmetro.
53
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
§
Intersects(another Geometry:Geometry):Integer – Retorna 1 (Verdadeiro) se uma
dada geometria intersectar espacialmente uma outra Geometria passada como
parâmetro.
Outros métodos que seguem a mesma filosofia destes anteriores, ou seja, retornam
verdadeiro ou falso: Touches( another Geometry: Geometry): Integer; Crosses( another
Geometry: Geometry): Integer; Within( another Geometry: Geometry): Integer; Contains(
another Geometry: Geometry): Integer; Overlaps( another Geometry: Geometry): Integer;
Relate( another Geometry: Geometry): Integer.
3.3.2.3 Métodos de Análise Espacial
Os métodos a seguir, também disponíveis na especificação OGC, realizam análise espacial
entre objetos geométricos. Foi feita uma seleção de alguns deles para se entender a filosofia
de funcionamento dos mesmos.
§
Distance( another Geometry:Geometry):Double – Retorna a menor distância entre
dois pontos em duas geometrias como calculado no sistema de referência espacial de
uma dada geometria.
§
Intersection(another Geometry:Geometry):Geometry – Retorna a geometria que
representa o conjunto de pontos de intersecção entre a Geometria do objeto receptor
da mensagem e uma outra geometria passada como argumento.
§
Union(another Geometry:Geometry):Geometry – Retorna a geometria que representa
o conjunto de pontos da união a Geometria do objeto receptor da mensagem e uma
outra geometria passada como argumento.
Outros
métodos
ConvexHull():Geometry;
de
análise
espacial:
Buffer(distance:Double):Geometry;
Difference(anotherGeometry:Geometry):Geometry;
SymDifference(another Geometry:Geometry):Geometry.
3.3.2.4 Funções SQL
Na especificação SQL do Open GIS, algumas funções foram definidas para atender às
necessidades da descrição do modelo de geodados. Por exemplo, cada elemento de tipo
geometria possui uma representação textual conhecida (Well Know Text) [OGC99b], que
54
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
pode ser usada tanto para a construção de novas instâncias como para conversão de instâncias
existentes da forma textual para o resultado alfanumérico. A representação textual de um
tipo geométrico instanciável deve ser implementada segundo as regras da gramática que está
definida na especificação [OGC99b].
Existem funções que são específicas para a criação de uma instância de Geometria
dada sua representação textual – WKT (Well Know Text). Denota-se SRID (Spatial Reference
System ID) a Identificação do Sistema de Referência Espacial. Algumas funções deste tipo:
§
GeoFromText(geometryTaggedText String, SRID integer):Geometry – Constrói
um valor Geometria dada sua representação textual.
§
PointFromText(pointTaggedText String, SRID integer):Point – Constrói o ponto.
§
PolyFromText(polygonTaggedText String, SRID integer): Polygon – Contrói o
polígono
Outras funções deste mesmo tipo: LineFromText, MpointFromText, MlineFromText,
GeomCollFromText, BdPolyFromText, BdMPolyFromText.
Algumas funções SQL constroem instâncias de Geometria a partir de sua representação
binária conhecida - WKB (Well Know Binary). Exemplos de funções deste tipo:
§ GeoFromWKB(WKBGeometry Binary, SRID Integer):Geometry – Constrói uma
instância de Geometria dada sua representação binária.
§ PointFromWKB(WKBPoint Binary, SRID Integer):Point – Constrói um ponto.
§ PolyFromWKB(WKBPolygon Binary, SRID Integer):Polygon – Constrói um
polígono.
Outras
funções
MLineFromWKB,
deste
mesmo
MPolyFromWKB,
tipo:
LineFromWKB,
GeomCollFromWKB,
MPointFromWKB,
BdPolyFromWKB,
BdMPolyFromWKB.
Outras funções SQL existentes geram a representação textual de uma dada Geometria.
As funções SQL associados com a classe Geometria e suas subclasse s estão relacionadas com
os métodos anteriormente descritos, sendo que os mesmos podem ser usados nas sentenças
SQL.
55
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
3.3.2.5 Exemplos de consultas
SELECT Parcel.Name, Parcel.Id FROM Parcels
WHERE Intersects (Parcels.Location,PolyFromWBK(:wbk,:srid))=1
Retorna todos os lotes que interceptam um polígono específico.
SELECT Parcel.Name, Parcel.Id FROM Parcels
WHERE Within(Parcels.Location, PolyFromWKB(:wkb, :srid)) = 1
Retorna todos os lotes completamente contidos em um polígono específico. Outras
consultas podem ser vistas no documento de especificação SQL do Open GIS [OGC99b].
3.3.3 OUTRAS PROPOSTAS
Extensões SQL para SIG, para serem eficientes, devem conter: (1) tipos de dados espaciais,
(2) operadores/predicados espaciais, (3) suporte para apresentação textual e gráfica de
resultados de consultas. Muitas extensões de SQL têm sido propostas, como pode-se ver em
[Ege94, Fra82, HS93, FC92, EF88, EF90, MPS94, ISO00], mas muitas delas ainda se
apresentam incompletas, muitas vezes por não manterem construções sintáticas e semânticas
consistentes.
Uma das vantagens das extensões SQL é que as mesmas permitem que os usuários SQL
experientes continuem aplicando, de uma maneira familiar, a linguagem de consulta para
consultar dados não-espaciais. Apenas consultas que incluam propriedades espaciais devem
usar as extensões de SQL. Espera-se que estes usuários experientes aprendam rapidamente
este novo dialeto.
Atualmente as linguagens que mais vêm se destacando na comunidade de pesquisadores
e projetistas são: o padrão SQL Multimedia Standard SQL/MM Parte 3 [ACK+98, ISO00], a
especificação SQL do OpenGIS [OGC98b, OGC99b], e a especificação Oracle Spatial [RS99,
Ora97].
A tese aqui apresentada tomará como base a especificação SQL do Open GIS
[OGC99b], para viabilizar o projeto da linguagem de consulta visual para banco de dados
geográficos, GeoVisualQL, como será visto no Capítulo 5. A escolha desta especificação SQL
para o desenvolvimento da linguagem visual se deu principalmente pela literatura disponível
a respeito da mesma [OGC98b, OGC99b].
56
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Levando-se em consideração que optamos, como mostra o Capítulo 2, pelo modelo de
dados proposto pelo consórcio Open GIS, também decidimos que o uso dessa especificação
SQL seria ideal, visto que foram projetados em conformidade um com o outro. Além disso,
algumas funcionalidades adicionais que foram propostas nesta especificação SQL se
mostraram úteis à necessidade desta proposta.
Antes de mostrar como pode ser aplicado o paradigma de consultas visuais em SIG,
será apresentado, na próxima seção, o conceito genérico de sistemas baseados neste
paradigma, definido por alguns autores [BCC+91, Cat+97, Cat91a, Cat91b, MM96a,
MM96b MM98].
3.3.4 Questões de Apresentação dos Resultados das Consultas
Nem toda linguagem espacial considera o fato de que questões de apresentação do resultado
de consultas tem uma relevância significativa no projeto de linguagens para SIG. Estas
questões merecem ser
detalhadas porque, para uma boa apresentação de resultados de
consultas, uma linguagem deve oferecer [Cam95, CCF +96]:
• Associação de descritores de apresentação gráfica e pictórica aos objetos geográficos:
definição de legendas e modos de apresentação gráfica para os dados geográficos;
• Controle dos objetos apresentados: associação de diferentes formas de apresentação
(cor, texto, legenda, escala) para diferenciar os resultados da consulta;
• Combinação dos resultados de consulta: instrumento bastante poderoso em
interfaces de consulta, ao realizar operações de união, intersecção e diferença entre
consultas subseqüentes;
• Apresentação do contexto espacial: a resposta a uma consulta espacial nem sempre
pode ser interpretada por si só. Por exemplo, a resposta à consulta "Mostre a cidade
de Recife" deve conter ainda a localização da cidade em relação ao mapa do estado
de Pernambuco;
• Informação adicional associada: apresentação de gráficos associados a atributos dos
objetos sob forma de cartogramas, barras e discos (“pizza”).
Estas questões foram introduzidas por Egenhofer [Ege94] e são fundamentais no
projeto de uma linguagem de consulta, pois, uma linguagem, cujos resultados de suas
57
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
consultas, não apresente pelo menos algumas dessas características não será bem aceita pelos
usuários, pois seus resultados não serão entendidos.
3.4 L INGUAGENS DE CONSULTAS VISUAIS
Quando se pensa em comunicação humana, pensa-se primeiro na linguagem falada e escrita.
Estes símbolos de linguagem são encontrados e processados seqüencialmente, tanto quando
são ouvidos como quando são lidos [MM98]. Nem toda comunicação humana, no entanto,
acontece de forma seqüencial. Componentes importantes da comunicação humana dizem
respeito às linguagens visuais, tais como mapas e diagramas. Nestas linguagens, os símbolos
básicos não são encontrados seqüencialmente, mas unidos por perspectivas.
Linguagens Visuais têm sido utilizadas desde a pré-história até o presente e são usadas
por praticamente todas as situações humanas. Elas cobrem todo o espectro humano de
expressão, desde a mais fina arte, como uma abstração expressionista, à mais precisa
comunicação técnica que utiliza notações rigorosamente definidas, notações matemáticas ou
mapas cadastrais de ruas. O crescimento explosivo da comunicação visual na World Wide
Web demonstra também o aumento do uso das linguagens visuais.
No entanto, aspectos teóricos das linguagens visuais não são ainda mundialmente
conhecidos e difundidos, contrastando com as linguagens de natureza seqüencial como
mencionado anteriormente, onde teorias lingüísticas e modernas as formalizam, e onde
técnicas de especificação são largamente utilizadas. A teoria e o entendimento das linguagens
visuais estão menos avançadas. Isto acontece porque muitas vezes as pesquisas a respeito de
linguagens visuais ocorrem em comunidades diferentes, muitas vezes independentes umas das
outras [MM98].
A pesquisa em linguagens visuais tem como um de seus objetivos, garantir um
entendimento melhor de como elas podem ser classificadas e de como elas podem ser mais
naturais e concisamente especificadas. Um outro ponto que também merece ser pesquisado é
o entendimento do que faz uma linguagem visual melhor do que outra, além da definição de
instruções de como projetar uma nova linguagem visual. Uma das grandes motivações de uso
das linguagens visuais é facilitar a interação homem-máquina.
58
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
3.4.1 Sistemas de Consultas Visuais
Recentemente, um grande número de interfaces baseadas em diferentes técnicas que
explorem melhor o senso humano, vêm sendo sugeridas e implementadas [Cat+97]. A larga
difusão de interfaces visuais também se deve ao baixo custo dos dispositivos gráficos atuais.
O campo de pesquisa em banco de dados é particularmente interessante no
desenvolvimento de interfaces visuais porque seus dados são freqüentemente consultados por
usuários que muitas vezes podem não estar familiarizados com as linguagens de consultas
textuais específicas a cada SGBD. Quando se trata de Banco de Dados Geográficos, tem-se
ainda uma dificuldade maior devido à não existência de um padrão de linguagem de consulta
para os mesmos, que seja bem aceito e formalizado pela comunidade de usuários e
desenvolvedores de SIG.
O que podemos encontrar na literatura atual é que existem grupos de pesquisa
[BCC+91, Cat+97, Cat91a, Cat91b] que se preocupam com o desenvolvimento e a definição
de linguagens ou sistemas de consultas visuais em geral para bancos de dados convencionais,
em alguns casos para bancos de dados temporais [SSC97, Sil99]. Poucos trabalhos unem esta
tecnologia com Banco de Dados Geográficos, especificamente [CM91, CM94, Mey92,
WH98].
Apresentamos a seguir, alguns conceitos de linguagens de consultas visuais para banco
de dados, e ao final mostramos um exemplo de um projeto deste tipo de linguagem específico
para SIG.
A área de banco de dados é uma das mais promissoras em linguagens de consultas
visuais desde que se justifique a existência de muitos usuários casuais, ou seja, que não
estejam familiarizados com a linguagem de consulta associada ao mesmo [BCC +91, Cat91a].
Sistemas de Consultas Visuais (SCV) são sistemas de consultas a bancos de dados que
utilizam uma representação visual para representar o domínio de interesse e expressar
pedidos solicitados [Cat+97]. Estes sistemas provêem não somente a capacidade de expressar
consultas em uma forma visual, como também diferentes funcionalidades para melhorar a
interação homem-máquina. O uso de ferramentas visuais pode ajudar os usuários no acesso
aos bancos de dados sem que os mesmos necessitem conhecer previamente a linguagem de
consulta específica em uso, sem a dependência da linguagem nativa dos usuários e das
limitações impostas pela área de aplicação.
59
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
As principais questões dos usuários são: entender o conteúdo do banco de dados, focar
o significado dos itens, encontrar padrões de consulta e entender os resultados das mesmas.
Estas tarefas requerem técnicas específicas a serem aplicadas ao mesmo tempo em que
envolvem atividades espaciais típicas tais como apontar , navegar, filtrar e mudar escala, por
exemplo.
Os fatores mais importantes que influenciam o uso efetivo de SCV, do ponto de vista
do usuário são:
•
Modelos adaptados para descrever os dados e as operações de consulta.
•
Representação escolhida para mostrar uma instância do modelo.
•
Estratégias de interação sugerindo como o sistema deve ser usado para
formular uma determinada consulta.
As linguagens tradicionais de consultas à banco de dados não auxiliam no
entendimento do significado dos dados nem provêem qualquer conselho para satisfazer a
necessidade do usuário, ou seja, não preenchem os requisitos de serem amigáveis e com
facilidade de uso necessária a uma boa interface.
Símbolos visuais são caracterizados pelo alto número de variáveis tais como: tamanho,
intensidade, textura, forma, orientação e cor. O principal propósito ao adotar uma
representação visual em um sistema de consultas é comunicar claramente ao usuário a
informação contida no banco de dados, concentrando características essenciais e omitindo
detalhes desnecessários.
Linguagens de Consultas em geral são avaliadas segundo os critérios de capacidade
funcional e usabilidade. O primeiro critério refere-se ao poder da linguagem e as alternativas
disponíveis para o usuário obter a representação da saída. O segundo deles é relacionado com
a formulação da consulta, isto é, o esforço do usuário para trabalhar com o sistema. Os
critérios principais que são considerados neste estudo são a representação visual adotada para
apresentar a realidade de interesse, as operações da linguagem aplicável e os resultados da
consulta. Os sistemas podem ser organizados em quatro classes diferentes, dependendo do
formalismo visual adotado, isto é, formulário, diagrama, ícones ou uma combinação destes
[Cat91a].
60
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
De modo a classificar os Sistemas de Consultas Visuais (SCV) serão analisados alguns
critérios dos mesmos [Cat91a]. O primeiro critério está relacionado com o objetivo das
pessoas que trabalham com SCV de recuperar os dados desejados, o que é geralmente
alcançado a partir de três atividades:
•
Entendimento da realidade de interesse;
•
Formulação da consulta;
•
Teste.
Um segundo critério para classificação de SCV se refere às estratégias de interação
providas pelas atividades acima, o que será discutido a seguir.
3.4.1.1 Estratégias para Entendimento da Realidade de Interesse
O entendimento da realidade de interesse relaciona-se com a representação visual utilizada, e
o quanto ela é efetiva para expressar os diversos tipos de conhecimento. Uma das principais
vantagens da mesma é a capacidade desta representação de permitir inferências perceptivas,
em substituição a comparações cognitivas árduas e computações. As estratégias de interação,
que facilitam o entendimento do usuário no domínio de banco de dados, podem ser
classificadas em três grandes grupos: top-down, navegação, e simplificação de esquema
[Cat91a].
Metodologia Top-Down
Um esquema de banco de dados pode conter milhares de conceitos, e muitas vezes se
faz necessário um mecanismo para apresentar o esquema com quantidades variáveis de
detalhes que são controlados pelo usuário. Isto pode ser alcançado com a metodologia topdown, na qual aspectos gerais da realidade são percebidos primeiro, e então, detalhes
específicos são introduzidos:
•
Zoom seletivo: Neste caso, o esquema é único, e os conceitos são
distribuídos em termos de níveis de importância. O esquema pode ser
rastreado graficamente em diferentes níveis de abstração.
•
Refinamentos interativos: Neste caso, o sistema provê para cada esquema
uma biblioteca de refinamentos top-down. Cada refinamento pode ser
obtido do anterior pelo uso de transformações sobre objetos.
61
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
•
Zoom hierárquico: O esquema, neste caso, é único, mas os objetos podem
ser examinados em diferentes níveis de detalhes.
•
Tecnologia baseada em diálogo: Consiste de uma seqüência de decisões
do usuário em relação à relevância ou não de algum atributo com respeito
a sua interpretação da consulta.
Metodologia de Navegação
A navegação é em essência uma técnica de visualização, auxiliada pelo conhecimento
adquirido sobre o banco de dados e, em princípio, pode manipular, sem distinção, tanto
esquemas como instâncias de uma maneira homogênea. Neste caso, o usuário possui um
mínimo de conhecimento a respeito do banco de dados e pode acessar o sistema sem
nenhuma meta pré-definida.
•
Navegação intencional: é executada na intenção do banco de dados, isto
é, no esquema conceitual. Esta metodologia corresponde à meta-consulta
da estrutura do esquema
•
Navegação extensional: é executada na extensão do banco de dados.
•
Navegação mista: no caso da atividade de navegação ser executada em
ambas as partes: intencional e extensional.
Simplificação de Esquema
A idéia é trazer o esquema mais perto da consulta, cuja construção é feita a partir de uma
visão do usuário que resulta em agregações e transformações de consultas do esquema
original. O usuário pode construir uma visão apropriada do esquema que pode ser isomórfica
em qualquer nível de detalhe do esquema original.
3.4.1.2 Estratégias para Formulação da Consulta
A formulação da consulta é a atividade fundamental no processo de recuperação de dados.
Existem muitas estratégias para formulação de consultas e as mesmas variam em relação à
maneira como o usuário vai “montando” a sua sentença de consulta, se por navegação de
esquema, pela utilização de sub-consultas, por casamento de padrões ou por seleção variada.
Esta fase pode ser realizada baseada em quatro tipos de estratégias, a saber:
62
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Top-Down
A fase sucessiva no processo de extrair informações do banco de dados é a expressão da
consulta top-down. Na estratégia top-down a consulta é definida primeiramente
especificando os conceitos de interesse e, conseqüentemente, restringindo o conjunto de
instâncias, expressando condições em suas propriedades.
Sobre esta estratégia, podem-se obter diferentes metodologias de consulta:
•
Navegação global seguida de inspeção local: neste caso o usuário
inicialmente navega pelo banco de dados de modo a selecionar os conceitos
envolvidos na consulta e, então, especifica as características procedimentais
da mesma.
•
Intenção seguida pela extensão: nesta metodologia o usuário primeiro
especifica os tipos de objetos envolvidos na consulta e subseqüentemente
seleciona as instâncias requeridas.
Bottom-Up
Neste tipo de estratégia, a consulta é formulada dividindo o problema em sub-problemas
elementares e, então, obtendo a consulta final como a composição de resultados parciais.
Duas diferentes metodologias são apresentadas nesta estratégia:
•
Composição de conceitos: Esta metodologia é usada em diferentes
linguagens baseadas em ícones, onde os conceitos de saída da consulta são
produzidos pela composição de conceitos de entrada e, desta forma, as
consultas são construídas com a sobreposição de ícones.
•
Uso de bibliotecas de consultas: Neste caso as consultas podem ser
compostas pelo uso de sub-consultas armazenadas em uma biblioteca do
sistema.
Inside-Outside
Esta estratégia tem como característica principal a concentração em um conceito ou em um
grupo de conceitos e a movimentação dentro do mesmo de modo a alcançar outros conceitos
de interesse. Classificamos esta estratégia de acordo com o tipo do grafo que deve ser
seguido:
63
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
•
Grafo conectado hierárquico: Neste caso o usuário foca a atenção em um
conceito e então o sistema constrói uma visão hierárquica do banco de
dados com o conceito selecionado como raiz.
•
Grafo conectado como flor: Esta modalidade de consulta é baseada na
localização de um conceito particular chamado de conceito principal que
pode ser visto como um ponto de entrada de uma ou mais sub-consultas.
Estas sub-consultas expressam as navegações possíveis a partir do conceito
principal até outros conceitos do esquema.
•
Grafo não-conectado: Nos exemplos anteriores, os conceitos de
vizinhança podem ser alcançados partindo de um conceito central e
seguindo caminhos explicitamente representados no esquema. Ao
contrário, em um grafo não-conectado, o usuário pode estar interessado
em alcançar conceitos pela construção de novos relacionamentos entre os
mesmos. A consulta, neste caso, é construída passo-a-passo: primeiro,
eliminando-se os atributos não-relevantes e depois, escrevendo-se
condições para selecionar entidades.
Mista
Esta estratégia é chamada mista porque representa um compromisso entre as estratégias topdown e bottom-up. São exemplos de estratégias mistas:
•
By-example: é uma metodologia alternativa ao procedimento de consulta
tradicional, pois o usuário pode prover um exemplo de resposta e o
sistema identifica o objetivo generalizando o exemplo do usuário.
•
Casamento de padrões: Nesta metodologia o usuário provê um padrão e o
sistema procura por todos os fragmentos, casando o banco de dados com
este padrão.
3.4.1.3 Estratégias de Teste da Consulta
O propósito do teste é verificar que a consulta corresponde à intenção do usuário [Cat91a].
Podem ser usadas duas metodologias para teste da consulta:
64
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
•
Reformulação da Consulta: Poderá ser feita em linguagem natural ou em
alguma linguagem padrão como SQL.
•
Anima ção da Consulta: Visualizar com animação a computação executada
pela consulta até a obtenção do resultado.
A tecnologia visual pode ser efetiva para a solução de problemas de consultas a bancos
de dados extensos como, por exemplo, os geográficos. O que se verifica, em geral, é que o
primeiro problema do usuário é conhecer o conteúdo do banco de dados, e isto é geralmente
alcançado pela formulação de inúmeras consultas. Observando seus resultados e
reformulando novas consultas, de forma interativa, o sistema irá finalmente satisfazer o
pedido do usuário, consumindo, no entanto, bastante tempo.
Para tentar solucionar este problema, pode-se transformar todos os dados em objetos e
apresentar exemplos de objetos de forma visual, de modo a tornar o conteúdo do banco de
dados visível ao usuário, facilitando seu entendimento e auxiliando na formulação da
consulta. Porém, uma dificuldade destes tipos de sistemas consiste em encontrar exemplos
para todos os dados armazenados no BD.
3.4.2 Representações Visuais
Muitos autores, como [BCC+91, Cat91b], concordam em afirmar que representações visuais
são efetivas para expressar diferentes tipos de conhecimento. Uma das principais vantagens
disto refere-se à capacidade de permitir inferências perceptivas, substituindo comparações
cognitivas árduas e computações.
Em [Cat +97] apresenta-se uma classificação de
representações visuais em onze categorias, passando de tabelas a mapas, ícones, figuras e
diagramas de diferentes tipos. No entanto, as representações visuais utilizadas em SCV se
restringem, normalmente, a vários tipos de tabelas, diagramas e ícones. Classificam-se os SCV
de acordo com a representação gráfica das suas consultas, como também, numa outra
classificação, levaremos em consideração a representação dos resultados das consultas.
3.4.2.1 Representações Visuais da Consulta
•
Baseada em Formulário: Um formulário é uma coleção nomeada de objetos que
possuem a mesma estrutura. Foi a primeira tentativa de deixar o espaço monodimensional do texto, explorando sua bi-dimensionalidade. Auxilia os usuários
menos experientes fazendo com que os mesmos utilizem sua tendência natural em
usar estruturas regulares e/ou organizar dados em tabelas. Em alguns SCV que
65
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
utilizam formulários em sua representação visual, apenas a parte intencional do
banco de dados é mostrada, deixando a parte extensional a ser preenchida pelo
usuário. Em outros SCV baseados em formulários, ambas as partes, intencional e
extensional, do banco de dados podem ser manipuladas pelo usuário.
•
Baseada em Diagramas: Os dados contidos em um formulário podem ser melhor
entendidos se for utilizada alguma representação gráfica que demonstre os
relacionamentos entre os dados. A palavra diagrama neste contexto é usada no
sentido de denotar qualquer representação gráfica que codifique informações,
utilizando-se posição e magnitude de objetos geométricos. Os diagramas
apresentam-se como o formalismo visual mais utilizado por SCV, podendo ser
representados também em três dimensões.
•
Baseada em Ícones: Um sistema baseado em ícones utiliza um conjunto de símbolos
que denotam entidades do mundo real e algumas funções disponíveis no sistema.
Uma consulta é expressa primeiramente pela combinação de ícones de acordo com
sintaxes espaciais pré-definidas. Sistemas baseados em ícones representam um
avanço na amigabilidade da interação homem-máquina e, em geral, neste tipo de
sistema, o esquema do banco de dados não é mostrado.
•
Representação híbrida: Uma representação híbrida utiliza uma combinação
arbitrária dos três formalismos visuais acima descritos, oferecendo ao usuário várias
alternativas para representação de banco de dados e consulta.
3.4.2.2 Representação Visual dos Resultados das Consultas
Muitas vezes os resultados de consultas se apresentam como textos estruturados sem
considerar outros formatos. Uma visualização apropriada do resultado da consulta permite
que o usuário capture melhor o relacionamento entre os dados de saída.
Classifica-se, sob a metodologia baseada em formulários, os sistemas que mostram o
resultado organizado em tabelas ou em listas. Em outros SCV, diagramas são empregados
também para visualizar o resultado das consultas. Alguns SCV, por exemplo, mostram os
resultados através de um mesmo tipo de grafo que tenha sido utilizado na formulação da
consulta, através do preenchimento de nodos com os respectivos valores apropriados.
O objetivo principal no desenvolvimento de SCV é construir interfaces nas quais os
usuários possam facilmente comunicar suas solicitações e obter respostas satisfatórias.
66
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Considerando que usuários diferentes possuem necessidades diferentes, qualquer SCV deve
prover diferentes maneiras de expressar consultas e, eventualmente, deve ter a capacidade de
se adaptar a usuários em particular. A criação de sistemas de consultas visuais poderosos e
amigáveis implica em algumas necessidades de projeto dos mesmos. Sua interface deve
permitir que qualquer usuário possa interagir com o sistema sem necessidade de nenhum
treinamento prévio. A linguagem de consulta deve ser poderosa o bastante para permitir que
todas as consultas computacionalmente corretas sejam expressas e qualquer tipo de dados seja
recuperado.
Informações implícitas devem ser deduzidas de modo que o sistema possa
prover ao usuário a resposta correta, ou declarar sua ausência de informação diante de uma
pergunta sem resposta. Infelizmente, vários problemas ainda se encontram em aberto no
desenvolvimento de sistemas deste tipo, e continuam sendo temas de pesquisas atuais
[Cat+97].
3.5 Formalismos Visuais e Gramáticas
Um dos aspectos fundamentais de pesquisa em linguagens visuais refere-se a como especificálas [BCL+95, CHY97, Cru93, MMW98]. Chama-se de linguagem visual um conjunto de
diagramas que são sentenças válidas desta linguagem, onde um diagrama é uma coleção de
símbolos de duas ou três dimensões. O significado dessas sentenças válidas depende das
relações espaciais entre estes símbolos. Por exemplo, linguagens visuais são normalmente
usadas em expressões matemáticas, plantas arquitetônicas e notações musicais.
Ao especificarem-se linguagens textuais seqüenciais é comum fazer uma distinção entre
os aspectos de sua sintaxe e de sua semântica, onde a sintaxe especifica a estrutura das
sentenças, enquanto que a semântica descreve o seu significado. A sintaxe é normalmente
especificada utilizando-se uma gramática composta de regras de tradução que especificam a
composição de componentes gramaticais, tais como sentenças ou frases nominais. Enquanto a
semântica pode ser obtida inicialmente através do uso de um dicionário que encontre o
significado das palavras na sentença, e então combinando estes significados com a estrutura
sintática da sentença [HU97].
Ao serem consideradas as linguagens visuais pode-se notar que o seu comportamento é
totalmente distinto das linguagens textuais. Por exemplo, um mapa climático ou esboços de
projetos usados em arquitetura: não é tão óbvio, nestes casos, especificar a sintaxe ou a
semântica destes mapas, ou mesmo se existe separação clara entre elas.
67
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Existem diferentes metodologias que são utilizadas na especificação de linguagens
visuais: a metodologia gramatical, a metodologia lógica e a metodologia algébrica [MM98]. A
metodologia gramatical é baseada em formalismos gramaticais usados em especificação de
linguagens textuais. A segunda metodologia utiliza lógica matemática de primeira ordem, ou
outras formas de lógica matemática. A terceira e última metodologia, utiliza a especificação
algébrica, que consiste de funções de composição que constroem figuras complexas a partir
de elementos pictóricos simples.
O texto a seguir se concentrará na metodologia gramatical visto que a especificação da
linguagem visual para BDG, base dessa tese, é baseada em uma linguagem textual, que é a
especificação SQL do Open GIS. Além disso, ao utilizar a metodologia gramatical a
especificação se torna mais próxima da linguagem textual.
3.5.1 Formalismos de Especificação Gramatical
Uma gramática é um conjunto de regras que especifica a sintaxe de uma linguagem. As
primeiras propostas de gramáticas foram simples modificações das estruturas das frases de
gramáticas usadas para linguagens baseadas em string [MM98]. Posteriormente, surgiram
propostas de gramáticas usadas para linguagens baseadas em grafos, utilizando-se multiconjuntos de atributos, e gramáticas para grafos utilizando arcos nomeados. No entanto,
todas elas sempre tiveram como característica serem muito restritivas, embora elas tenham
como compromisso manter a expressividade, e como desejo, obter um formalismo que
permita um reconhecimento eficiente de diagramas na linguagem.
Muitas dessas propostas de gramáticas para descrição de linguagens visuais podem ser
encontradas em [MMW98], tais como adaptações de gramáticas livres de contexto,
linguagens de descrição de figuras, gramáticas posicionais, grafo-gramáticas baseadas em
métodos, grafo-gramáticas programadas por atributos, gramáticas visuais além de outras que
utilizam o formalismo lógico ou algébrico como princípio.
As primeiras tentativas de especificar a sintaxe de imagens usaram gramáticas livres de
contexto ou gramáticas sensíveis ao contexto, onde os terminais eram interpretados como
objetos de duas dimensões, tais como linhas retas ou arcos. Estes objetos necessitavam ter
definidos uma cabeça (head) e um fim (tail), e estavam concatenados quando a cabeça de um
estava conectada ao final do outro. Mas esta proposta não era útil para descrever qualquer
tipo de linguagem visual, pois era muito limitada.
68
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Gramáticas posicionais são mais capazes de descrever grande parte de linguagens, mas
requerem uma tradução mais complexa das estruturas gráficas bidimensionais para um string
unidimensional de modo que parte da tarefa de reconhecimento possa ser executada por esta
tradução, ao invés da derivação apropriada.
Muitas tentativas genéricas de especificação de linguagens visuais podem ser agrupadas
como gramáticas baseadas em multiconjuntos de atributos, onde a produção de escrita de
conjuntos e multiconjuntos de símbolos possuem atributos geométricos e algumas vezes
semânticos associados aos mesmos.
Foi realizada uma análise de algumas propostas de formalização de linguagens de
consultas visuais [MM98, GC96, Haa95, WZ98], e foi decidido optar pela proposta da
Picture Layout Grammar – PLG, de Golin [Gol91, GR89a, GR89b, GR90, GM93], pois a
literatura encontrada se mostrou satisfatória, e as suas funcionalidades se aproximaram mais
das particularidades da Linguagem Visual a ser definida. Desta forma, a seguir as
características desta gramática são apresentadas.
3.5.2 Especificação de Sintaxe de Linguagens Visuais
Linguagens de programação visual, segundo Golin [GR89a], são aquelas em que os
programas consistem de figuras formadas por elementos visuais ao invés de texto. A maioria
das pesquisas em programação visual tem focado o desenvolvimento de um ambiente para
uma linguagem visual específica, geralmente usando uma interface ad-hoc, de propósito
especial para a criação de programas visuais.
Grande parte das razões para isto é a falta de modelos formais para especificação de
sintaxe para linguagens visuais e de ferramentas que utilizem estas especificações. Para
linguagens de programação textuais tradicionais, os modelos formais tais como gramáticas
livres de contexto provêem um mecanismo de especificação sintática e ferramentas para a
criação de parsers para as novas linguagens. No entanto, não existem ferramentas desse tipo
desenvolvidas para linguagens visuais.
A Picture Layout Grammar ou PLG (Gramática de descrição de figuras) [GR89a] é um
tipo de gramática que pode ser usada para especificar a sintaxe das linguagens visuais quase
da mesma forma que as gramáticas livres de contexto são usadas para definir linguagens de
programação textuais. Estas gramáticas são baseadas em um modelo de gramática que gera
conjuntos de objetos com atributos.
69
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
A Figura 3.8 mostra a arquitetura de um sistema de programação visual baseado num
parser espacial [GR89a]. Um programa consiste de uma coleção plana de objetos gráficos, tais
como formas, linhas e strings. Estes objetos gráficos formam os elementos primitivos de uma
linguagem visual. Um parser espacial utiliza a definição de gramática de linguagem visual para
analisar a figura e recuperar a estrutura interna do programa.
Analisador
Espacial
Editor
Gráfico
Projetista da
Linguagem
Programador
Visual
Árvore de
Análise
Programa
Executável
Arquivo de
Figuras
Usuário
Final
Figura 3.8 – Um Sistema de Programação Visual com Analisador Espacial [GR89a]
O termo “linguagem visual” é usado para descrever diversos tipos de linguagens:
linguagens de manipulação de informações visuais; linguagens que suportam interação visual;
e linguagens de programação com expressões visuais [GR89a].
As linguagens visuais diferem entre si quanto ao tipo de figuras que elas contêm, mas
são similares na noção intrínseca do que constitui uma figura. A um nível mais baixo, uma
figura pode ser vista como um elemento primitivo, tal como linha, polígono e texto.
Uma importante diferença entre texto e figura diz respeito à estrutura interna. O texto
é estruturado como uma árvore, enquanto que numa figura, uma sub-forma pode ser
composta de várias outras formas dentro de uma figura. Desta forma, a estrutura interna de
uma figura em uma linguagem visual é muito mais freqüentemente vista como um grafo
direcionado do que como uma árvore.
Uma linguagem visual pode ser vista como um conjunto de figuras, seguindo as
seguintes definições [GR89a]:
70
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Definição 1: Um elemento-figura é um objeto gráfico primitivo tal como linha, forma (shape),
ou texto string. Uma figura é uma coleção de elementos-figura arranjados em um plano. Uma
linguagem visual é um conjunto de figuras. A sintaxe de uma linguagem visual é especificada
pela distinção do conjunto de figuras que forma a linguagem.
A utilização de uma gramática para caracterizar um conjunto de figuras (ou strings)
serve para dois propósitos: prover uma definição finita para um conjunto infinito e fornecer
uma estrutura aos elementos do conjunto que formam a base do analisador sintático.
As PLG são baseadas em um novo modelo gramatical: a gramática de atributos
multiconjuntos, onde multiconjunto é um conjunto que pode apresentar elementos repetidos
em seu conteúdo.
3.5.3 Especificação de Figuras Baseadas em Gramáticas
Um alfabeto visual e um conjunto de operadores de composição provêem a base para
descrever figuras [Gol91]. Juntos definem um universo de possíveis figuras: o conjunto de
figuras, formado a partir de elementos primitivos do alfabeto, que são cobertos pelo grafo de
composição sobre o conjunto de operadores. Desta forma, pode-se dizer que o conjunto do
alfabeto e de operadores define a linguagem visual.
A especificação da sintaxe deve definir exatamente quais figuras pertencem à linguagem
visual, e como estas figuras são construídas pela composição de elementos pictóricos. Uma
gramática é baseada em um alfabeto, dividido em símbolos terminais e não-terminais. Os
terminais são símbolos que formam os elementos da linguagem. Para uma linguagem visual,
símbolos terminais correspondem aos elementos pictóricos.
As regras ou produções da gramática servem para relacionar partes dos elementos da
linguagem. Em uma especificação gramatical de uma linguagem visual, a aplicação de uma
produção corresponde à aplicação do operador de produção. O símbolo não-terminal do
lado esquerdo da produção se refere ao objeto-composição formado pela produção. A árvore
de derivação da figura é equivalente ao seu grafo de composição.
3.5.4 Picture Layout Grammars – PLG (Gramáticas de Descrição de Figuras)
As PLG representam uma versão resumida das gramáticas de multiconjuntos, especificamente
designada para descrever sintaxes de duas dimensões [Gol91]. Uma figura é representada
como um multiconjunto de atributos. Os elementos pictóricos primitivos formam o alfabeto
71
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
terminal da gramática, onde o multiconjunto de atributos é definido. Os atributos dos
símbolos contêm, ambos, a localização e as características dos elementos pictóricos.
Cada símbolo, terminal e não-terminal, terá quatro atributos geométricos: lx, by, rx, ty,
que representam a geometria da entidade gráfica correspondente. Os atributos geométricos
são especificados em um sistema de coordenadas onde X é a coordenada horizontal que
aumenta da esquerda para a direita, e Y é a coordenada vertical que cresce de baixo para
cima. Estes atributos podem ser interpretados da seguinte forma:
•
Se o objeto é uma forma básica, então os atributos definem a sua extensão, isto
é, um retângulo, onde (lx,by) é o seu canto esquerdo mais baixo, e (rx,ty) é o
seu canto direito mais alto.
•
Se o objeto é uma linha, então (lx,by) representa seu ponto esquerdo inicial e
(rx,ty) representa seu ponto direito final.
A interpretação de se o objeto é uma forma ou uma linha vai depender do contexto
onde o mesmo é usado. Símbolos podem ter outros atributos além dos quatro obrigatórios.
Para símbolos terminais, estes atributos expressam outras características das primitivas
gráficas. Estes símbolos terminais específicos não são fixos.
Exemplo1: Seja a figura mostrada no gráfico da Figura 3.9. O alfabeto terminal para esta
linguagem consiste de três símbolos: retângulo, caixa de texto e seta. Esta figura é representada
por um multiconjunto de atributos com cinco elementos.
Figura = {retângulo [1,1,5,5], retângulo[10,1,14,5], caixa_de_texto[2,3,5,4,”Caixa
A”], caixa_de_texto[9,3,13,4,”Caixa B”], seta[5,3,10,3]}
6
4
2
Caixa A
2
4
Caixa B
6
8
10 12 14
Figura 3.9 – Uma Figura Simples[Gol91]
A estrutura sintática do programa é um paralelo da estrutura composicional da figura.
Cada composição da figura corresponde a alguma produção na gramática. Algumas
72
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
produções, contudo, controlam meramente a estrutura sintática e não possuem composições
correspondentes. Um símbolo não-teminal corresponde a objetos agregados. Formalmente
uma gramática de descrição de figuras é definida como segue:
Definição 2: Uma gramática de descrição de figura é uma gramática de multiconjuntos de
atributos finitamente representável, e não sobreposta G = (N, ∑, s, I, D, P) onde as seguintes
proposições são verdadeiras:
1. Cada símbolo x ∈ N ∪ ∑ tem (pelo menos) os seguintes quatro atributos de parsing
diferentes, lx, by, rx, ty.
2. Se p = (R,SF,C) ∈ P, com R = A → X/Y, então, para todo α ∈ {lx,rx,by,ty}, a função
semântica SF contém uma assertiva:
A. α = x. β onde x ∈ X ∪ Y e β ∈ {lx, rx, by,ty}
As PLG são formalmente vistas como gramáticas de multiconjuntos de atributos, que
apresentam uma sintaxe levemente diferente. Isto é simplesmente uma maneira mais
conveniente de escrever gramáticas. É importante notar que a gramática que está sendo
definida é uma gramática de multiconjuntos especializada e que a notação de produções em
uma gramática deste tipo é meramente uma abreviação das produções nas gramáticas de
multiconjuntos de atributos.
Assim como as gramáticas de multiconjunto de atributos, uma produção numa
gramática de descrição de figuras consiste de três partes: uma regra de reescrita, uma função
semântica e a restrição.
Quando um ou mais instâncias de um símbolo ocorre em uma regra de reescrita, eles
são distinguidos por sub-scripts. Dentro do lado direito da regra de reescrita, qualquer
símbolo terminal pode ser marcado como remoto, por caracteres sublinhados. Símbolos
remotos em uma produção formam o multiconjunto de contexto para a produção. Os demais
símbolos formam o multiconjunto regular.
As restrições em uma produção expressam o relacionamento requerido entre os
componentes de uma composição. Cada operador de construção built-in tem uma restrição
associada especificando a sintaxe de duas dimensões desta composição. Por exemplo, a
restrição associada ao operador over diz que o final do primeiro argumento deve estar acima
73
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
do topo do segundo elemento. Estas restrições são expressas em termos dos atributos dos
símbolos. Então, por exemplo, a produção em PLG:
FIGURE → over (TOP, BOTTOM),
Apresenta a restrição seguinte:
TOP.by >= BOTTOM.ty
Este exemplo ilustra como as produções determinam a interpretação das formas. Um
componente, numa linguagem visual, pode ter seus quatro atributos geométricos
interpretados tanto como extensão, como pontos finais. Em composições de formas os
componentes de um operador são tratados como formas, e seus atributos interpretados de
acordo.
Com o objetivo de mostrar a utilização da gramática na descrição de figuras,
reproduzimos a seguir alguns exemplos que foram fornecidos em [Gol91].
Exemplo2: Considere a Figura 3.10, consistindo de dois retângulos. A linguagem pode ser
definida com a seguinte produção:
1
2
Figura 3.10 – Restrições de uma linguagem definidas pelo usuário[Gol91]
FIGURE → over (retângulo1, retângulo2)
Where
retângulo1.lx == retângulo2.lx
retângulo1.rx == retângulo2.rx
retângulo1.by == retângulo2.ty
Esta produção representa o operador over com três restrições adicionais. Estas restrições
definidas pelo usuário especifica que os dois retângulos que formam a figura devem estar
alinhados nos seus lados esquerdo e direito, bem como a borda entre os mesmos.
As funções semânticas em uma produção computam os atributos de objetos agregados
resultantes da composição. Assim como as restrições, cada operador de produção built-in tem
74
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
uma função semântica que implementa a composição associada. As funções semânticas irão
computar os valores dos quatro atributos lx, by, rx e ty que serão apropriados com os objetos
agregados. Por exemplo, a regra:
FIGURE → over (TOP, BOTTOM),
Define os atributos da extensão que engloba tanto TOP como BOTTOM, isto é, o
menor retângulo que englobe TOP e BOTTOM. A função semântica para esta produção é
equivalente a:
FIGURE → (TOP, BOTTOM),
FIGURE.lx = min(TOP.lx,BOTTOM.lx)
FIGURE.rx = max(TOP.rx,BOTTOM.rx)
FIGURE.by = BOTTOM.by
FIGURE.ty = TOP.ty
Então, o projetista da linguagem pode incluir funções semânticas adicionais em uma
produção. Durante a análise sintática, as funções semânticas built-in são avaliadas primeiro,
seguidas pelas funções semânticas definidas pelo usuário. Desta forma, funções semânticas
adicionais podem ser usadas para sobrepor os valores computados pelas funções semânticas
built-in.
Exemplo3: Considere a Figura 3.11 consistindo de quatro retângulos. As seguintes produções
definem uma linguagem de características similares:
Figura 3.11 – Uma linguagem usando atributos adicionais[Gol91]
HORIZ → left_of (retângulo1, retângulo2)
HORIZ.center = retângulo1.rx
Where
Retângulo1.rx == retângulo2.lx
FIGURE → over(HORIZ1, HORIZ2)
Where
75
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
HORIZ1.by == HORIZ2.ty
HORIZ1.center == HORIZ2.center
Onde o atributo centro é usado para alinhar o ponto de corte da parte do topo e da
parte de baixo da figura.
3.6 U SO DE LINGUAGENS DE CONSULTAS VISUAIS EM SIG
Alguns autores sugerem que uma consulta espacial deve consistir de três partes [CCF+96]:
1.
Uma descrição do conjunto de objetos a ser recuperado;
2.
Um conjunto de resultados de consultas, com estes resultados separados em
conjuntos mais detalhados, cada um a ser disposto em um formato individual;
3.
Uma descrição do resultado especificando como interpretar os dados.
Um dos componentes mais importantes de um SIG é a visualização porque ajuda os
usuários a interpretar e comunicar relacionamentos espaciais complexos [Jun96]. A
visualização, em seu contexto original, é o processo de transformar dados em imagens. O
propósito da visualização em SIG é facilitar o entendimento e a interpretação de dados e
processos espaciais.
A informação contida nos dados originais deve ser interpretada fielmente na imagem
resultante. Nenhuma informação pode ser esquecida, como também nenhuma informação
pode ser adicionada. No entanto, todas as informações devem ser expressas de tal forma que
os usuários percebam, facilmente, características e padrões dos dados.
Há dois requisitos importantes a serem considerados quando se está projetando uma
visualização: a expressividade e a efetividade [Cat91b]. A expressividade observa se a
visualização contém todas e apenas as informações necessárias do conjunto de dados. A
expressividade é muito difícil de ser alcançada em SIG pois a visualização envolve todos os
tipos de mapeamento em um alto grau de abstração dos dados originais. Por outro lado, a
efetividade está relacionada com a capacidade do sistema visual humano. Em SIG existem
muitos fatores que influenciam na efetividade de uma visualização: o objetivo da
interpretação, a mídia de saída e o usuário. Ou seja, para ser efetiva, a visualização deve
incorporar as capacidades visuais do observador e as características da mídia para alcançar o
objetivo da interpretação.
76
Capítulo 3 - Linguagens de Consultas Espaciais e Sistemas de Consultas Visuais
________________________________________________________________________________________________
Alguns SIG utilizam Linguagens de Consultas Visuais como, por exemplo, a proposta
do Cigales [CM91, MP90, CM94]. Cigales é uma linguagem de consulta visual e declarativa
para SIG, onde uma consulta é definida numa filosofia Query-By-Example [Zlo76] gráfica,
que implica numa representação gráfica da consulta. Outros sistemas também suportam
consultas visuais em SIG [Mey92, WH98]. No próximo capítulo, serão descritos alguns
destes sistemas e suas metodologias.
3.7 C ONCLUSÃO
Os relacionamentos de topologia entre objetos espaciais necessitam ser formalmente
definidos através de um formalismo apropriado para poderem ser identificadas sem
ambiguidades [EH91]. O formalismo 9IM foi apresentado e é base deste trabalho.
Algumas características essenciais de uma linguagem de consulta para dados espaciais
foram apresentadas, citando algumas características de um subconjunto das mesmas que
foram encontradas na literatura. Neste subconjunto, pôde-se averiguar a falta de um
formalismo visual de apresentação de dados espaciais que facilite a busca de informações
geográficas.
Neste contexto, foi apresentado o paradigma de consultas visuais, caracterizando esse
tipo de sistema, além dos formalismos gramaticais existentes para linguagens visuais.
No próximo capítulo, serão apresentadas algumas propostas de sistemas de consultas
visuais específicos para SIG encontrados na literatura.
77
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
CAPÍTULO 4
SISTEMAS DE CONSULTAS VISUAIS PARA SIG
“Enquanto as bombas se cruzam e os
homens se matam, as rosas enviam para
além das fronteiras e dos ódios sua universal
mensagem de amor.”
(Dom Helder Câmara)
4.1 I NTRODUÇÃO
O objetivo deste capítulo é mostrar algumas propostas encontradas na literatura que
permitem consultas visuais em Sistemas de Informação Geográfica – SIG. Grande parte destas
propostas é estritamente acadêmica, não havendo, portanto, produtos comerciais no
mercado.
Como vimos no capítulo anterior, o uso de linguagens de consultas visuais reduz a
carga cognitiva dos usuários porque:
•
Estruturas de dados não precisam mais ser memorizadas;
•
Apresentações visuais substituem convenções sintáticas de texto;
•
Formas visuais de consultas são superiores na facilidade de uso e na
visualização conceitual das linguagens de consulta em que são baseadas.
É necessário inserir, neste contexto, o conceito de metáforas, dentro do escopo de
interfaces para SIG [BAT00, BF94, Kuh95, Lak02].
O conceito de metáfora pode ser
78
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
definido como um processo cognitivo onde uma “coisa” é entendida em termos de “outra”
[BAT00]. O uso de metáforas em interfaces permite uma melhora no entendimento dos
sistemas por parte dos usuários. Além disso, quando a ferramenta é bem entendida ela
aparenta ser mais fácil de usar, e dá suporte a um trabalho mais eficiente.
A metáfora mais utilizada quando se trabalha com SIG com certeza é o mapa. Uma
metáfora é considerada boa ou ruim dependendo de seu entendimento por parte dos
usuários. Se uma metáfora não for bem entendida pelos usuários, ela não pode ser
considerada metáfora, porque foge de seu princípio natural. As metáforas utilizadas nas
interfaces dos sistemas a serem apresentados serão discutidas e avaliadas.
As propostas a serem abordados a seguir são: CIGALES [BM95, CM91, CM94, CM95,
Mai92, Mai93a, Mai93b, Mai94, MP90], Lvis [BAT00, FA00, BF94] VISCO [HW97,
HMW00, WH98], Sketch! [Mey92a, Mey92b, Mey93, Mey94], Spatial-Query-By-Sketch
[BE00, Ege96, Ege97], GeoMedia [Geo02] e Arc/Info 8 [Pot02, UGIS95].
4.2 U MA LINGUAGEM DE CONSULTA VISUAL PARA SIG: CIGALES
Uma linguagem de consulta, segundo [CM94], é dita visual toda vez que a semântica de uma
consulta puder ser expressa por um desenho. É dita ser declarativa toda vez que a consulta
especificar as propriedades que vão ser verificadas no resultado da mesma, mas não a maneira
de obtê-las.
CIGALES (Cartographical Interface Generating an Adapted Language for Extensible
Systems) é uma linguagem de consulta visual e declarativa para SIG, onde uma consulta
gráfica é definida com uma filosofia Query-By-Example [Zlo76].
Como a consulta é
representada por um desenho, o gerenciamento do processo de tradução da mesma é bastante
complexo.
4.2.1 Caracterizando CIGALES
A principal característica desta linguagem é a sua simplicidade em expressar uma consulta e
seu poder representativo. O principal objetivo do CIGALES [CM91] [CM94] [MP90] é
tornar mais amigável a interação com o usuário. Desta forma definiu-se uma linguagem
gráfica que é uma maneira mais fácil e natural de manipular dados geográficos. Utiliza -se um
modelo de dados simplificado independente da representação física. Outro grande objetivo
79
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
do CIGALES é aumentar o poder expressivo que permite gerenciar um grande número de
consultas geográficas [MP90].
Dados alfanuméricos são modelados com uma metodologia orientada a objetos. Uma
consulta alfanumérica consiste na definição de um label que pode ser definido sobre um
objeto ou sobre um operador.
4.2.2 A Linguagem de Consulta
A linguagem utiliza a filosofia Query-By-Example, onde o usuário define um exemplo do
relacionamento espacial desejado. Duas metáforas, uma linha e uma área, estão disponíveis e
são completamente independentes da implementação física do modelo de dados. O primeiro
passo para o processamento de uma consulta é a escolha de uma metáfora (uma área, por
exemplo). O segundo passo é a definição da semântica desta metáfora (uma cidade com mais
de 100.000 habitantes poderia ser um exemplo e uma floresta como uma segunda área). O
terceiro passo é a definição de um relacionamento espacial entre estas duas áreas (uma
interseção, por exemplo). Uma consulta desta forma é definida como uma combinação de
relacionamentos espaciais. A manipulação dos resultados das consultas segue a mesma
filosofia.
A semântica de uma metáfora usada em uma consulta é definida no modelo de dados, o
qual é baseado numa extensão do modelo relacional, onde a representação espacial é definida
usando-se um Tipo Abstrato de Dados. Este modelo de dados permite noções básicas de
grafos (nós, arcos e redes) e conceitos definidos dentro do paradigma de orientação a objetos
(abstração). A localizaçã o espacial de uma cidade, por exemplo, é independente da
representação física destes arcos e nós. O mecanismo de abstração é aplicado nos nós, arcos e
redes, e o formalismo permite a definição de uma rede lógica com diferentes níveis de
abstração. Neste modelo, o nó e o arco podem ser representados por uma abstração de uma
ou mais redes. Operações neste modelo são usadas para definir consultas baseadas em redes.
CIGALES foi projetado para ser um Sistema de Gerenciamento de Banco de Dados
Espacial de alto nível. As metáforas, linha e área, representam objetos do banco de dados.
Cinco operadores espaciais estão disponíveis no nível da interface com o usuário: inclusão,
interseção, adjacência, linhas retas e caminhos. Muitos outros operadores estão disponíveis
assim como união e diferença, mas muitas vezes os usuários não sabem que os mesmos
existem. Na medida que o processo de desenho avança, automaticamente estes operadores
80
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
aparecem na interface. Uma consulta é graficamente construída pela combinação de
metáforas e operadores. Esta consulta é então traduzida numa expressão formal baseada numa
linguagem funcional a ser compilada pelo SGBD.
4.2.3 Interface Gráfica do CIGALES
A interface de CIGALES permite a construção de consultas gráficas, que podem ser
traduzidas em uma expressão formal, com uma gramática pré-definida. Esta expressão é
independente da aplicação do usuário e do SGBD. Torna-se necessário, por conseqüência, a
tradução da expressão formal para a linguagem de consulta do banco de dados.
A construção de consultas é executada através de um editor especializado, que provê
facilidades para a construção de consultas através de ícones que representam todos os
operadores disponíveis. A definição de consulta em CIGALES é uma combinação de
operadores, utilizando a noção de objeto corrente. A consulta pode ser feita com um objeto e
um operador, ou dois objetos e um operador entre os dois.
A consulta é definida pelo usuário, com uma interface gráfica (Figura 4.1). O
analisador compila esta consulta gráfica em uma expressão funcional usando operadores
CIGALES, onde uma otimização lógica é executada nesta expressão para evitar redundâncias
e expressões computacionais inúteis. A expressão funcional é então traduzida em comandos
específicos de acordo com o armazenamento físico dos dados. O resultado da consulta é
então transmitido do sistema de gerenciamento de dados físicos ao módulo tradutor,
formatado em estruturas de dados e associado a expressões de consulta lógica. Informações a
respeito de restrições gráficas definidas pelo usuário também são incluídas nestas estruturas.
O resultado da consulta é então transmitido à interface, pelo analisador.
81
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Figura 4.1 – Interface Gráfica do CIGALES
Um Editor Gráfico provê facilidades para a construção de consultas, contendo duas
áreas de desenho. A primeira delas, chamada área-de-consulta, é um retângulo grande vazio
no meio do editor. A outro, a área-de-trabalho é um retângulo menor vazio, abaixo da áreade-consulta. A primeira contém uma consulta a cada passo de construção, onde objetos
correntes são selecionados pelo usuário. A segunda área é usada para definir novos objetos
que podem ser combinados, pela aplicação de um operador aos objetos correntes. Funções de
agregação podem ser aplicadas a um ou vários objetos ou operadores.
Alguns botões disponíveis na interface, tais como o botão Zone e o botão Line possuem
suas semânticas representadas por um label gráfico, que corresponde a uma metáfora
completamente independente do armazenamento físico. O modelo de dados oferece, por
exemplo, diferentes semânticas para uma zona (cidades, florestas, lagos) e outras para linha
(estradas, rodovias, rios). Cinco outros botões representam operadores espaciais. As
82
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
semânticas destes operadores são: inclusão, interseção, limites, caminho e distância
Euclidiana.
O botão With/Without Negation significa expressar ou cancelar o conceito de negação
sobre os operadores espaciais. O botão Network expressa tanto aspectos orientados-ageometria como aspectos orientados-a-rede dos operadores espaciais, quando uma
ambigüidade aparece.
O botão Begin Selection tem uma semântica de permitir a seleção dos sub-objetos
resultantes da aplicação de um operador na área-de-consulta. O botão Global permite a
seleção de um objeto completo ou de uma sub-parte de um objeto.
Do lado esquerdo superior do editor se encontra o botão Logo (“France Telecom”) que
provê algumas facilidades internas na configuração do editor.
•
O botão Cancel está do lado direito do Logo, e cancela o trabalho corrente.
•
O botão Validation está do lado direito do Cancel, e valida o trabalho corrente.
•
O botão Save está do lado direito do Validation e salva uma consulta
intermediária.
•
O botão Restore está do lado direito do Save e restaura uma consulta
intermediária.
•
O botão Help está localizado do lado direito do Save e provê facilidades de
ajuda aos usuários.
•
O botão Exit se encontra do lado direito do Help e serve para sair do editor.
Uma consulta é realizada com a combinação de diferentes operadores. Introduz-se a
noção de objeto corrente de modo a permitir estas combinações. O usuário faz a escolha de
um objeto e depois escolhe um operador (que pode ser um operador unário), ou então
escolhe um outro objeto e um operador a ser usado com os dois objetos escolhidos.
83
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
4.2.3.1 Exemplo de uma Consulta Utilizando a Interface [Mai93a]
Uma consulta típica no CIGALES poderia ser a seguinte:
“Que estradas cruzam uma cidade em sua parte não-florestal?”
Para resolver esta consulta, podemos supor que a expressão gráfica de uma interseção
entre uma cidade e uma floresta está correntemente disponível na área-de-consulta. O usuário
então necessita selecionar o botão line, para representar a estrada, o botão zone para
representar a parte da cidade que não seja florestal, e o operador interseção. Para selecionar
apenas parte da cidade, o usuário necessitará do botão global que trabalha no modo switch.
Uma consulta alfanumérica, em CIGALES, é a definição de um label, que pode ser
definido sobre um objeto ou sobre um operador. Um label definido sobre um objeto é
construído a partir de um conjunto de informações do modelo de dados sobre um objeto de
um determinado tipo.
Uma consulta em SIG requer uma visualização de seus resultados. Dois componentes
são definidos: o tipo do resultado e o modo de display.
O tipo dos resultados é baseado nos objetos básicos que definem os resultados. Duas
classes podem ser distinguidas: 1) Os resultados podem ser definidos de acordo com os
objetos básicos que definem a consulta. Esta classe é chamada de Resultado-básico-orientadoa-tipos e corresponde a uma extensão do SQL que utiliza um predicado como uma interface
para uma linguagem de consulta a bancos de dados espaciais. 2) Os resultados podem ser
definidos com o uso dos operadores espaciais envolvidos na consulta. Esta classe nomeada
Totalmente-Orientada-a-Tipos corresponde a uma extensão de SQL com predicados e
operadores.
O modo de display é baseado na estrutura do resultado. Esta noção corresponde à
filosofia de definição da consulta. Duas classes podem ser definidas: 1) Os resultados podem
ser definidos pela união de objetos compondo o resultado. Esta classe denominada União-deresultados-elementares corresponde a uma metodologia orientada a conjuntos. 2) Os
resultados podem ser definidos como uma apresentação de elemento por elemento dos
resultados elementares. Esta classe denominada Resultado-elementar-no-tempo corresponde à
metodologia de um registro por vez. Normalmente a única política no momento disponível é
o par (resultado-básico-orientado-a-tipos, união-de-resultados-elementares).
84
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
4.2.4 Detalhes de Implementação
O protótipo CIGALES [CM94] foi desenvolvido usando OSF/MOTIF (para a interface com o
usuário), Yacc (para a análise das expressões funcionais internas que modelam a consulta), e a
linguagem de programaçã o C (para o gerenciamento das consultas) em estações de trabalho
Sun.
O número de aplicativos que utilizam SIG atualmente é muito grande, além disso, é de
extrema importância o oferecimento de uma interface poderosa e amigável aos usuários. O
objetivo do CIGALES não foi só oferecer mecanismos para a realização de análise espacial,
mas oferecer um ambiente computacionalmente equipado no qual estas análises estão
disponíveis.
4.2.5 Avaliando CIGALES
A proposta do CIGALES foi desenvolvida em ambiente acadêmico, como resultado de
trabalhos de pesquisa. Foi construído um protótipo da sua implementação, o que depois deu
origem a um outro projeto, como será visto a seguir. Como não foi encontrado um protótipo
executável do mesmo, observa-se, pela literatura, que a sua interface é pouco amigável e
funcionalmente pobre, apresentando poucos operadores espaciais para os usuários. Isto
significa restringir o poder da linguagem de consulta. Não foi mencionada a utilização de
padrões de metadados em sua concepção.
4.3. LVIS
A linguagem de consulta Lvis [BAT00, FA00, BF94] foi construída baseada no conhecimento
em linguagens de consultas espaciais e visuais. Introduz um modelo conceitual espaçotemporal onde consultas visuais são combinadas com métodos de navegação de modo a
construir uma linguagem amigável. Lvis é baseada na filosofia Query-by-Example [Zlo76] e é
uma extensão da linguagem do CIGALES [CM94].
4.3.1 Caracterizando Lvis
Cada objeto espaço-temporal neste modelo é associado com o tipo deste objeto. Este tipo do
objeto representa um nome lógico do nome da tabela relacional ou da classe de objetos. O
identificador semântico permite que o usuário identifique o objeto de forma mais amigável
possível: é composto de um subconjunto de atributos mono ou multi-valorados do objeto.
85
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
As consultas podem ser classificadas como: temáticas, espaciais, temporais e espaçotemporais. Consultas temáticas não incluem nenhum critério espacial ou temporal. Consultas
espaciais (temporais) são definidas com um ou mais critérios espaciais (temporais). Consultas
espaço-temporais envolvem ao menos um critério espaço-temporal.
4.3.2. A Linguagem de Consulta Lvis
Um objeto é visualizado por um ícone, uma forma geométrica e uma cor. Esta representação
visual pode ser reforçada por elementos textuais ou outras representações metafóricas como
balões ou âncoras, como mostra a Figura 4.2.
Identificador temático
Identificador semântico
e/ou critério temático
Eixo temporal
Critério temporal
Localização da âncora
Representação visual da
âncora associada
Rótulo
Figura 4.2 – Descrição de um balão e uma âncora em Lvis [BTAL99]
O ícone modela o identificador temático de um objeto. Uma forma geométrica é
associada com cada objeto de uma consulta de modo a representar seu tipo espacial. Critérios
temporais de uma consulta são expressos utilizando-se a metáfora de balões. Um balão
contém a especificação de um critério relacionado com um dado objeto. Uma âncora é a
representação reduzida de um balão.
As consultas em Lvis são compostas de operandos e operadores (lógicos, espaciais,
temporais e espaço-temporais). Os operadores espaciais da linguagem são topológicos e
métricos. Os operadores topológicos são os mesmos suportados pela linguagem Spatial-SQL
[Ege94]: intersection, inclusion, adjacency, disjunction e equality. Estes operadores podem
ser utilizados por alguns tipos de objetos espaciais suportados pelo sistema: ponto, linha e
polígono. Alguns operadores temporais também estão disponíveis no sistema: before, equals,
86
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
meets, overlaps, during, starts e finishes. Estes operadores são úteis para se comparar dois
objetos ao longo de um determinado tempo.
4.3.3 A Interface Gráfica Lvis
A Figura 4.3 mostra a interface gráfica da linguagem Lvis. Inicialmente apenas os operadores
topológicos estão disponíveis ao usuário.
Figura 4.3 – Interface da Linguagem Lvis
O usuário inicialmente seleciona os tipos dos objetos dentro do BD e então os associa
ao operador. A consulta aparece em uma área de trabalho e então, após a validação pelo
usuário final, aparece a área de validação da consulta.
Três ícones selecionados são suficientes para expressar consultas temáticas, espaciais e
temporais entre dois tipos de objetos. Critérios temáticos são especificados na forma de um
duplo clique em um ícone de um tipo de objeto da consulta.
Uma consulta válida pode ser modificada por refinamentos sucessivos: o usuário pode
adicionar novos objetos e aplicar novos operadores na consulta inteira ou em uma sub-parte
da consulta corrente. Consultas espaço-temporais complexas podem ser formatadas seguindo
este princípio.
87
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Consultas visuais são armazenadas em uma estrutura de árvore. Elas são traduzidas de
modo a serem expressas em uma linguagem destino de SIG. A linguagem pivô é baseada em
um analisador lógico que tenta ser compatível com a linguagem padrão Spatial-SQL [Ege94]
para os operadores espaciais e com TSQL [SPZ98] para operadores temporais.
As consultas válidas são computadas e executadas em SIG. Quando o usuário seleciona
o comando execute, a consulta é então traduzida na linguagem destino dos SIG. Objetos que
satisfazem os critérios definidos são então selecionados e visualizados em um mapa, segundo
mostra a Figura 4.4.
Figura 4.4 – Tradução da Linguagem Visual Lvis para a Linguagem SIG destino [BTAL99]
4.3.4 – Avaliando Lvis
A proposta da linguagem Lvis é interessante principalmente porque se apresenta como uma
extensão do CIGALES, que teve como característica ser um precursor em consultas visuais
para SIG. Lvis tem como proposta associar uma representação visual ao esquema do banco de
dados, enriquecer o conjunto de operadores disponíveis, e considerar aspectos temporais. Um
protótipo foi desenvolvido de acordo com a arquitetura mostrada na Figura 4.4.
88
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
4.4 VISCO
VISCO [HW97, WH98] é uma linguagem de consulta espacial e visual baseada-em-desenho
(sketch-based). O protótipo VISCO integra diferentes componentes para formar um sistema
de consulta visual. A interface de VISCO é composta de três componentes básicos: o editor
gráfico de consultas que oferece um mecanismo de formulação de consultas em bancos de
dados espaciais baseadas-em-desenho; um inspetor de resultados de consulta tipo-navegador;
e uma ferramenta de inspeção-de-mapa para o banco de dados espaciais. Um outro
componente importante do sistema é um compilador e otimizador de consultas da linguagem
visual.
Segundo
Wessel e Haarlev [WH98], uma linguagem é visual quando existe uma
comunicação com o sistema em uma maneira coerente e consistente através de expressões
visuais. No caso das linguagens de consultas visuais, considera-se um ambiente integrado de
sistemas que provêem um sistema de consulta visual fácil de usar, que oferece suporte e
feedback eficientes e fortes metáforas.
4.4.1 Caracterizando VISCO
VISCO é uma linguagem de consulta espacial que foi projetada para extrair informações de
sistemas de informações espaciais em uma maneira visual. O termo sistema de informação
espacial se refere a uma extensa classe de sistemas que coletam, gerenciam e oferecem análise
e apresentação de dados espaciais. Estes objetos espaciais normalmente possuem aspectos
espaciais e não-espaciais. VISCO suporta a recuperação de conjuntos de objetos espaciais de
interesse baseada em seus atributos estruturais, topológicos, métricos e geométricos e em seus
relacionamentos entre si.
4.4.2 A Linguagem de Consulta
Os seguintes elementos de linguagens de consulta são encontrados em VISCO:
•
Objetos VISCO: é qualquer elemento da linguagem visual VISCO.
•
Objetos Geométricos: são pontos, linhas, polilinhas simples, polígonos simples e
agregações. Distinguem-se dois objetos geométricos: objeto-consulta e objetouniversal.
89
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
ü Objeto-Consulta: é um objeto geométrico VISCO que corresponde a objetos
geométricos do banco de dados espaciais. Um objeto-consulta representa um
objeto do banco de dados.
ü Objeto-Universal:
Ao
contrário
do
objeto-consulta,
que
corresponde
exatamente com um objeto do banco de dados, um objeto-universal, ou
auxiliar, representa um objeto qualquer no universo de objetos geométricos.
São inicialmente usados para expressar restrições em objetos-consulta, e
posteriormente considerados como meta-objetos.
•
Meta-Objeto: é um objeto VISCO que exibe alguma condição/restrição adicional
sobre os objetos VISCO e, portanto, permitem a construção de sentenças sobre
estes objetos e suas interpretações.
•
Cerco (Enclosure): um cerco é um meta-objeto que representa um sub-conjunto
de R2. Distingue-se cercos constante, interior, exterior e e (r). Podem ser
translúcidos ou opacos.
•
Objetos Derivados: compreendem os cercos interior, exterior, e e (r) mas
também derivam pontos centrais, pontos de interseção calculada, etc.
Associa-se a cada objeto geométrico VISCO uma semântica física navegável que tem
como objetivo guiar a interpretação do usuário em aspectos espaciais numa representação
visual. Utiliza-se em VISCO, as seguintes metáforas:
• Filmes transparentes (Transparency Films): representam agregações transformáveis
com um sistema de coordenadas local. Filmes transparentes podem ser
rotacionados, traduzidos, mudados de escala, e definidos em uma determinada
camada. Cada objeto geométrico precisa ser definido com exatamente um filme
transparente.
• Percevejos e Bolas -de-Gude (Nails and marbles): são pontos especiais. Um percevejo
em um filme representa um ponto com uma posição exata, mas uma bola-de-gude
pode rolar ao redor de um cerco e, portanto, possui uma posição vaga.
• Ligas de borracha, Antenas de telescópio, e Feixes de madeira (Rubberbands,
Teslescope antennas, Wooden beams): são linhas especiais. Uma antena de
telescópio representa uma linha reta com comprimento arbitrário. Um feixe de
90
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
madeira representa uma linha reta com um comprimento exato e conhecido. E uma
liga de borracha representa uma polilinha de linhas retas.
A construção de consultas em VISCO é um processo progressivo: a cada momento em
que um objeto é criado, várias restrições de alto nível entre o novo objeto e os objetos préexistentes são estabelecidas. A noção, neste momento, de visualização parcial do objeto se
torna crucial. Os seguintes relacionamentos topológicos entre um novo objeto e outros já
existentes são permitidos em VISCO:
• Disjunto: é estabelecido se o outro objeto estiver completamente visível.
• Intersecta: é estabelecido se o novo objeto tem ao menos um ponto de interseção
visível com o outro objeto.
• Dentro de: é estabelecido se o novo objeto estiver completamente visível dentro de
um cerco.
• Contém: é estabelecido entre um novo cerco translúcido e outro objeto que está
completamente contido no mesmo.
Podemos pensar em VISCO como um componente na camada de aplicação de um
banco de dados espacial que trabalha com um modelo de dados externo provido
especialmente para VISCO.
4.4.4 A Interface Gráfica do VISCO
A interface gráfica de VISCO é composta por dois componentes:
• Um editor gráfico direcionado à sintaxe.
• Um modelo de execução e um inspetor de resultados de consultas, incluindo um
Visualizador de Mapa como mostra a Figura 4.5.
O editor gráfico de consultas do VISCO é a parte mais importante do sistema. A
interface do editor é composta de duas janelas, denominadas “VISCO” e “VISCO Buttons”
como pode ser visualizado na Figura 4.6.
91
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Figura 4.5 – Visualizador de mapa
A janela VISCO é a área de trabalho que permite que os usuários construam
interativamente suas consultas gráficas. Consiste de quatro áreas principais: a maior delas é a
“VISCO Query” que mostra a consulta gráfica corrente; a “VISCO Infos” provê informações
de ajuda; a linha de comando para entrada de comandos textuais; e a “VISCO Control” que
mostra o histórico da execução das consultas.
O estado corrente do editor gráfico é mantido e completamente visualizado pela janela
“VISCO Buttons”. Por exemplo, selecionando-se o botão “rubberband” no painel “VISCO
Objects”, o próximo segmento de linha que for criado será um “rubberband”.
Muitas outras representações gráficas podem ser selecionadas com os botões do painel
“VISCO Options” como também uma biblioteca de ícones de operadores está disponível no
painel “VISCO Operators”.
92
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Figura 4.6 – Editor Gráfico de Consultas
A grande maioria dos comandos pode ser entrada de forma textual na linha de
comandos, selecionada no menu de operadores ou diretamente ativada por um objeto, ou
uma seqüência de chaves.
As seguintes características estão disponíveis no editor gráfico VISCO:
•
•
Manutenção em paralelo de um histórico de consultas, editável;
Facilidades que dão suporte aos processos dos usuários no entendimento e
formulação das consultas;
•
Manipulação e interação com objetos complexos;
•
Criação de objetos complexos de forma “top-down” ou “bottom-up”.
•
Manipulação e interação com objetos emergentes.
Além disso, VISCO dispõe de um processo de compilação de consultas que utiliza o
modelo de redes de petri. A consulta VISCO pode ser considerada como declarativa, ou seja,
muitos planos de execução possíveis podem ser esperados. Um otimizador determina qual o
melhor desses planos e utiliza este plano para construir um programa LISP que irá buscar
informações no banco de dados de uma maneira “depth-first”.
93
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
VISCO usa a geometria dos desenhos das consultas seriamente e permite anotações de
meta-informações que podem ser usadas para especificar as consultas topológicas mais puras.
Essas meta-informações especificam relaxamentos e restrições adicionais do tipo “don’t care”
que define a interpretação das consultas. Essas restrições dizem respeito às informações
contidas na consulta do usuário de forma não proposital, ou seja, são informações que não
devem ser consideradas. A visibilidade dos relaxamentos definidos pelo usuário e de
restrições “don’t care” são umas das maiores contribuições deste trabalho [HW97].
4.4.2 Avaliando VISCO
Suas representações visuais de elementos geográficos possuem representações estranhas e
pouco expressivas à maioria dos usuários, o que dificulta o uso dos mesmos, tais como,
“cercos”, “percevejos”, “bolas de gude” e “ligas de borracha”. A construção de consultas em
VISCO é baseada em ícones que representam os objetos geográficos e seus operadores. Tem
uma interface composta por janelas bem informativas, mas não trabalha com padrões de
metadados.
4.5 SKETCH!
Sketch! [Mey92a, Mey92b, Mey94] é uma linguagem pictórica e totalmente dedutiva para
informações espaciais baseadas em desenhos. Acessos visuais tendem a ser bastante naturais
em informações espaciais porque as mesmas podem ser facilmente mapeadas em símbolos
pictóricos. A linguagem de consulta Sketch ! tem como principal metáfora o desenho.
Desenhos de entrada são interpretados pelo sistema de consulta e traduzidos em expressões
de um cálculo lógico orientado-a-objetos. É importante observar que cada desenho tem uma
interpretação bem-definida que pode ser formalmente derivada do desenho.
Nome = “Alemanha”
Rio 1
País 2
País 1
Figura 4.7 – Exemplo de um Desenho Espacial
94
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Dois tipos básicos de dedução diferentes podem ser distinguidos na manipulação de
informações espaciais: dedução proposicional e dedução espacial. Sketch! tem sua base
formal no modelo de dados orientado-a-objetos DeLOM. Um exemplo de uma consulta em
Sketch! pode ser vista na Figura 4.7.
4.5.1 Caracterizando Sketch!
Todo objeto no modelo DeLom [Mey92a], tem uma identidade única e um número de
atributos nomeados, que tanto podem ser dados (slots) como objetos (portas ) valorados.
Exemplo:
Classe Estrada:
Slots: nome → string,
Portas:
de
rota
→ cidade,
→ linha,
para
→ cidade.
Objetos que não possuem atributos do tipo objeto-valorados são chamados objetos
simples, caso contrário, são chamados de links. Um objeto é completamente definido por sua
classe, sua identidade, os valores de seus slots e as referências de suas portas. Os links são a
única maneira de se modelar relações entre objetos, já que não existe nenhum conceito
separado para os relacionamentos.
4.5.2 Linguagem de Consulta
As consultas são formadas por conjunções de fórmulas de objetos. Uma fórmula de objeto
atômico pode ser uma aplicação predicado, uma restrição, ou uma declaração de uma
variável objeto. Para usar uma fórmula como uma consulta, os atributos de resposta devem
ser definidos. Apenas variáveis dado-valoradas podem ser usadas como atributos de resposta.
A resposta é computada apenas com as informações geométricas.
O principal objetivo desta linguagem de consulta visual foi o de definir uma estrutura
de linguagem que se aproximasse de todos os processos de comunicação usados em
discussões sobre situações espaciais. Tipicamente nestas situações desenhos exemplos são
elaborados para aproximar a explicação das informações espaciais mais relevantes.
Informações não-espaciais são oferecidas em forma textual.
Sketch! divide as consultas em condições não-espaciais e espaciais. Enquanto as
restrições não-espaciais (proposicionais) são oferecidas na forma de objetos-grafos, as
restrições espaciais são oferecidas na forma de desenhos. Existe uma janela na interface na
qual os dados analógicos (espaciais) são representados por desenhos simples, e uma outra
95
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
onde dados proposicionais podem ser manipulados em figuras baseadas em diagramas.
Observe que estes desenhos não são elaborados pelo sistema de acordo com as restrições
espaciais oferecidas pelo usuário, pelo contrário, são feitos pelos usuários e interpretados
pelo sistema. No caso análogo, o conceito de ícones tem sido considerado levando-se em
consideração o formato do ícone, sua posição no espaço e talvez outras propriedades
analógicas como intensidade ou cores. Este projeto, refere-se a este tipo de ícones como
ícones analógicos, ou ácones.
Como foi dito acima, as informações não-espaciais são expressas por grafos-consulta.
Um grafo-consulta consiste de nodos objetos e nodos links. Cada nodo é nomeado pelo nome
de uma variável do tipo objeto que é, por default, um nome de uma classe, com um número
acrescido. Os rótulos devem ser únicos dentro de um grafo simples. Grafos-consulta não
precisam estar conectados entre si.
Os desenhos, por outro lado, consistem de objetos espaciais com relacionamentos
topológicos implícitos entre os mesmos. Os objetos que estão contidos em um desenho ou
são definidos pelos usuários, ou são sub-objetos definidos por uma relação topológica entre
alguns objetos explícitos. Cada objeto explícito em um desenho deve possuir um único rótulo
e deve representar necessariamente objetos distintos. Sub-objetos não são incluídos
explicitamente, mas derivados de outros objetos e seus relacionamentos topológicos.
O algoritmo de interpretação dos desenhos segue as seguintes regras [Mey94]:
(1) Relacionamentos topológicos são testados em todos os possíveis pares de objetos e
sub-objetos no desenho.
(2) Todos os relacionamentos no conjunto P de predicados espaciais são testados.
(3) Se um predicado p(x,y) aparece e existe uma função f e F correspondente a p,
então os sub-objetos serão calculados por f(x,y) e então serão interpretados como
objetos normais.
(4) Relacionamentos topológicos são sempre testados por um objeto inteiro, ou seja,
nunca será derivado que “uma parte” de um objeto está dentro de um outro objeto.
(5) Não serão derivados relacionamentos de negação.
(6) Não serão derivados relacionamentos entre um objeto e seus sub-objetos.
(7) Sub-fórmulas deduzidas são redundantes e podem ser removidas.
96
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
4.5.3 A Interface Sketch!
A nova metáfora, o paradigma do quadro-negro (Blackboard paradigm), é considerada uma
forte candidata à representação cognitiva adequada para resolver os problemas de linguagens
de consultas espaciais. Isto porque este paradigma faz um forte uso do conceito familiar de
espaço. Sketch! é uma linguagem de consulta visual com lógica baseada neste paradigma, que
se apresentou bastante interessante no projeto de interfaces baseadas-em-canetas [Mey92a].
O problema geral de interfaces para SIG consiste em que todos os formalismos que
tentam visualizar todos os aspectos espaciais de uma consulta em uma visualização simples
não são satisfatórios porque estes formalismos não podem gerenciar relações “don’t care”, e a
representação inflexível de linguagens icônicas torna o problema ainda mais difícil.
Em princípio, existem duas possibilidades ao se construir um sistema com uma
linguagem baseada em quadro-negro. Uma delas é usar um sistema totalmente baseado-emcaneta, no entanto isso sobrecarrega o sistema na tarefa de reconhecimento integral dos
desenhos feitos-à-mão. A alternativa que foi escolhida nesta proposta foi usar um tipo de
editor direcionado à sintaxe, tornando o reconhecimento de padrões desnecessário e ao
mesmo tempo, provendo um ambiente poderoso que auxilia o usuário a sintetizar consultas
corretas.
O uso de menus sensitivos-a-contexto orienta o usuário durante uma sessão de modo
que apenas um pequeno conhecimento do sistema é necessário. A área de trabalho consiste de
dois tipos de janelas: uma janela de consulta proposicional (p-window) e uma janela de
consulta espacial (s-window), que corresponde aos dados proposicionais e analógicos
respectivamente, como mostra a Figura 4.8.
97
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Figura 4.8 – Exemplo de Consulta na Interface do Sketch! [Mey92a]
Existem quatro tipos de ácones: ponto, linha , poligonal e curva. Qual desses será usado
na visualização, vai depender da classe do objeto a ser visualizado e do tipo dos atributos
geométricos ativos do objeto.
Predicados espaciais, tais como interseção, são incluídos de uma maneira pouco
diferente de predicados proposicionais, que correspondem aos links. Eles não precisam nem
podem ser fornecidos explicitamente. No entanto, eles são extraídos automaticamente do
arranjo de ícones, ou seja, se uma interseção entre dois objetos for necessária, é suficiente
fazer estes ícones se interceptarem na janela s-window. O predicado de interseção será
derivado pelo sistema sem nenhuma interferência do usuário.
98
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Atributos dado-valorados podem ser inseridos tanto na s-window como na p-window,
onde o usuário preferir. Se eles forem feitos em ambas as janelas estas condições serão
interpretadas como condições conjuntivas. Podem existir várias p-windows ou s-windows em
uma mesma consulta, cada uma delas denotando uma fórmula de uma consulta conjuntiva.
Como exemplo de utilização do Sketch!, a representação textual final da consulta
representada na Figura 4.8, é equivalente a [Mey92a]:
query(fname=FN, products=Pr, cname=PN)
C1, C2 : country ∧ R1: river(pollution=P) ∧
F1: factory(name=FN, products=Pr) ∧ T1: town ∧
P1: person(name=PN) ∧ channel(spring=F1, sink=R1) ∧
R1 intersects intersection(C1, C2) ∧ F1 inside C1 ∧ T1location inside C2∧
50 > min_dist(R1, T1location ) ∧ P<> [] ∧
employed(employee=P1, place=F1, position=“chairman”) .
Assim como predicados espaciais, funções espaciais são visualizadas na s-window. Para
aplicar uma função espacial, os objetos-argumentos deverão ser selecionados por
apontamento e o símbolo da função deverá ser invocado a partir do menu. Em alguns
predicados e especialmente em funções de agregação, conjuntos de valores ou de objetos são
usados como argumentos.
Se as consultas se tornarem muito complexas, a visualização pode se tornar um pouco
confusa, consistindo apenas de estruturas de linhas e pontos, apesar de que normalmente,
consultas interativas não chegam a este nível de complexidade. Mas se isto acontecer, a
melhor coisa a fazer é modularizá-las pelo uso de outras visões. Desta forma, partes inteiras
do diagrama serão reduzidas a um simples ícone, o que torna os diagramas mais claros e
reduzidos.
4.5.5 Avaliando Sketch!
A princípio Sketch! tem características comuns ao CIGALES, mas existem algumas diferenças
básicas, não apenas na aparência e estrutura da linguagem, como também no paradigma
fundamental em que se baseia a linguagem. O objetivo de Sketch! é explorar conceitos de
linguagens que sejam mais bem aplicados para usuários não-experientes, que não estão
acostumados com os conceitos de linguagens, mas são bem informados a respeito da estrutura
dos dados com os quais eles estão trabalhando.
99
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
A interface de Sketch! é baseada no paradigma do quadro-negro, onde os usuários
desenham a mão-livre e o sistema deduz sua interpretação. Isto implica na implementação
árdua de algoritmos eficientes para interpretação destes desenhos.
4.6 S PATIAL-QUERY -BY-SKETCH
Esta proposta está baseada no desenho a mão-livre. Este método é diferente de outras
propostas anteriormente discutidas porque o usuário especifica livremente cada propriedade
dos objetos, particularmente seu formato, tipos, localizações, orientações, e relações espaciais
entre objetos. O uso da técnica do desenho livre permite que usuários pensem espacialmente
tornando a interação com a linguagem de consulta espacial mais natural. Isto acontece
porque freqüentemente usuários têm uma representação baseada em imagens em suas mentes
quando buscam por configurações espaciais.
Expressando as configurações espaciais em uma linguagem natural ou semiformal, o
uso de sistemas de informações espaciais se torna um sucesso, principalmente se os usuários
tiverem permissão de desenhar uma figura ou imagem que eles tenham em mente,
recuperando os dados de seus interesses.
4.6.1 Caracterizando o Spatial-Query-By-Sketch
Apresenta-se aqui uma linguagem de consulta espacial chamada Spatial-Query-By-Sketch
[BE00, Ege96] que permite que os usuários expressem consultas espaciais muito próximas da
maneira como eles pensam a respeito de muitos problemas espaciais e incorpore mecanismos
de entendimento poderosos para inferir variações geométricas no desenho. O desenho
permite um feedback gráfico imediato e, portanto, é inerentemente um processo mais natural
para formular restrições espaciais do que as linguagens textuais.
O conceito de Spatial-Query-By-Sketch fica próximo da proposta Sketch!. No entanto,
este é fundamentado em um modelo matemático sólido de relações espaciais e seus
relaxamentos.
Spatial-Query-By-Sketch utiliza um dispositivo de entrada sensível ao toque, idealmente
estes dispositivos são dotados de uma caneta digital. Simulações podem ser obtidas com um
mouse ou trackballs, mas desenhar com estes dispositivos é mais vagaroso e menos efetivo.
Uma consulta desenhada consiste de cinco passos, partindo do desenho propriamente dito até
a sua execução pelo sistema de gerenciamento de banco de dados.
100
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Passo 1: O usuário desenha com a caneta um protótipo de uma configuração
geométrica que fica mais próximo
da situação espacial que ele espera
recuperar do banco de dados geográfico.
Passo 2:
O usuário anota no desenho descrições das propriedades desejadas dos
objetos desenhados. Estas anotações podem incluir a especificação destas
classes de objetos, atributos de objetos e restrições métricas.
Passo 3: Spatial-Query-By-Sketch analisa o desenho e o traduz para uma representação
em pixels em um modelo de dados vetorial e topológico.
Passo 4: Spatial-Query-By-Sketch desenvolve o plano de processamento da consul-ta.
Se necessário, as ambigüidades são resolvidas a partir de um processo de
intervenção visual com o usuário.
Passo 5: O processador de consultas executa a consulta no banco de dados espacial e
recupera o cenário que casa com a consulta solicitada em prioridade, de
modo que os cenários que melhor casem com a consulta serão recuperados
primeiro.
Embora estes processos estejam conceitualizados como passos, eles não precisam
obrigatoriamente acontecer de uma maneira linear. Por exemplo, depois de desenhar o
primeiro objeto, o usuário pode anotar imediatamente sua geometria e sua semântica, e
depois retornar ao passo 1 para desenhar o próximo objeto. O analisador irá agir assim que o
usuário começar a desenhar e não irá esperar o desenho ser completado e completamente
anotado. Desta forma, depois de analisar uma consulta o sistema pode intervir com o usuário
e requisitar informações adicionais esclarecedoras, o que fará possivelmente com que o
usuário reedite seu desenho. De uma maneira similar, depois de examinar o resultado da
consulta no passo 5, o usuário pode desejar modificar a sua consulta e submetê-la novamente.
4.6.2 A Linguagem de Consulta
O processamento de consultas desenhadas é uma tarefa não-trivial, porque os desenhos
necessitam de interpretação de quais aspectos o usuário desenhou intencionalmente, e quais
restrições foram acidentais. Isto difere consideravelmente do processamento de outros tipos
de consultas, onde relações espaciais são fornecidas explicitamente e as semânticas dos
101
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
relacionamentos são fixas. Em Spatial-Query-By-Sketch o processador de consultas precisa
determinar o que deve seguir rigorosamente e o que pode ser relaxado.
Por exemplo, em uma linguagem de consulta baseada em SQL convencional um
usuário pode formular uma consulta que recupere todos os lagos incluídos em um Estado,
sem ter que especificar suas extensões, orientação, nem tamanho dos lagos ou do Estado. Por
outro lado, um usuário pode fazer uma tradução correta da imagem em sua mente para uma
expressão verbal. Este processo pode gerar algumas ambigüidades porque o mapeamento de
representações pictóricas em descrições verbais é altamente subjetivo.
Uma segunda fonte de imprecisão surge quando a consulta espacial é processada pelo
banco de dados espacial. Bancos de Dados Geográficos guardam a geometria dos seus dados
em um modelo de dados vetorial ou matricial. Além disso, um processador de consultas tem
que entender a semântica dos termos espaciais, de modo a saber o que deve ser recuperado
do banco de dados.
Se o SGBD tiver que recuperar apenas as configurações que provêem um casamento
exato com o desenho, métodos de casamentos de padrões de imagens e recuperação de
imagens podem ser aplicados. No entanto, para informações geográficas, pode ser necessário
relaxar algumas restrições do desenho porque o usuário pode ter desenhado algumas partes
do cenário exemplo acidentalmente, ou seja, sem intenção de fazê-lo. Para decidir quais
restrições devem ser relaxadas e quais restrições devem ser mantidas, é necessário basear o
processamento da consulta em um modelo computacional de similaridades em relações
espaciais.
A análise das relações topológicas está baseada no modelo 9-intersection [EH91], um
modelo completo para relações topológicas binárias que se aplica a objetos do tipo: área,
linha e ponto. As relações topológicas que podem ser realizadas entre duas regiões espaciais
em Spatial-Query-By-Sketch são: disjunto, encontra, sobrepõe, contém, cobre, dentro_de,
coberto_por e igual.
Em Spatial-Query-by-Sketch, segundo Blaser [BE00], dentro das relações topológicas,
as relações que são mais similares com outras são descritas em termos de grafo de vizinhança
conceitual. Por exemplo: cobre ↔ coberto_por; contém ↔ dentro_de ↔ igual.
O relaxamento de uma relação topológica corresponde à troca de suas vizinhanças
conceituais. Por exemplo, se um usuário desenha um cenário onde uma linha estava
102
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
totalmente incluída no interior de uma região, então o relaxamento irá considerar não só esta
configuração que casa exatamente com esta relação topológica, mas também as que casam
com suas vizinhanças conceituais. Altos graus de relaxamento podem alcançar recursividade,
movendo de vizinhos conceituais para os mesmos. Quanto mais uma relação topológica for
relaxada, menos semelhante a relação se torna de sua geradora.
Spatial-Query-By-Sketch analisa o desenho e extrai, a partir do modelo de dados
vetorial do mesmo, as relações topológicas, tal como foram desenhadas. Para n objetos em
um desenho existem n2 relações topológicas binárias.
O processamento da consulta
desenhada pode ser analisada na Figura 4.9.
Consulta Espacial Desenhada
Rede Semântica derivada
do desenho do usuário
Sentença da linguagem de
consulta espacial do BD
Banco de
de
Dados
Dados
Espacial
Espacial
Sistema de
Gerenciamento
do
Banco de Dados
Sistema de Processamento da Consulta
Conjuntos de Registros
Recuperados do BD
Acessos similares e classificação
baseada em comparações com a
.
configuração original
Melhores resultados e
“casamentos” classificados .
Figura 4.9 – Esquema de Processamento de uma Consulta em Spatial-Query-By-Sketch
[Bla02]
Uma parte crítica do analisador sintático das consultas e do processador de consultas é
o modelo de interpretação do desenho, particularmente as relações espaciais entre os objetos
considerados. Usuários inexperientes irão inevitavelmente fazer desenhos com uma grande
variação mesmo que eles tenham a mesma configuração em suas mentes. Da mesma forma, o
mesmo usuário poderá introduzir variações randômicas quando repetirem o mesmo modelo
103
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
de desenho. Além disso, é necessário selecionar um modelo que será robusto o bastante para
suportar estas variações.
4.6.3 – Interface Spatial-Query-By-Sketch
Spatial-Query-By-Sketch está baseado na premissa da importância topológica e do
refinamento métrico. Quando o usuário desenha coincidência, inclusão, disjunção, ou
separações de características, estas especificações são consideradas mais críticas do que
direções sobre características espaciais como distâncias relativas, áreas, e outros detalhes.
Figura 4.10 – Spatial-Query-By-Sketch [Bla02]
Um aspecto crítico da interação do sistema (Figura 4.10) é que desenhos baseados em
canetas digitais podem ser usados para dois propósitos: (1) o desenho da consulta cenário e
(2) a interação com o desenho para acomodar operações tais como seleção dos objetos
desenhados; reposicionamento e eliminação de objetos; e a troca da visão do usuário sobre o
desenho. A caneta utilizada na implementação de Spatial-Query-By-Sketch possui um botão
rocker com duas posições: forward e backward. A primeira posição troca o modo da
ferramenta selecionada atual, e a segunda, inicia um menu dependente de contexto. A caneta
introduz ainda dois estados (pressionado e não-pressionado).
A interação baseada em caneta provê um método de zooming mais direto do que as
ferramentas de zoom comumente encontradas nos SIG atuais. Com o botão rocker na posição
neutra e o estado pressionado, a caneta se move a partir do centro da área de desenho
fazendo o zoom-out gradual.
Spatial-Query-By-Sketch permite que os usuários mostrem o desenho em três diferentes
níveis de abstração: (1) o desenho original com os detalhes das linhas do usuário; (2) a visão
do objeto interpretado, que mostra como Spatial-Query-By-Sketch é traduzida de linhas em
objetos; (3) uma visão diagramática, que captura as relações espaciais entre os objetos
identificados que foram considerados no processamento da consulta.
104
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
A visão de desenho acomoda o ambiente da interface com o usuário. É o lugar em que
o desenho é inicialmente criado e editado.
A visão de objeto mostra como o sistema agregou as linhas em objetos. Esta visão
mostra o resumo interpretado e simplificado de cada objeto. Ele distingue através do uso de
cores os tipos de objetos. Esta visão permite ao usuário avaliar a interpretação dada ao seu
desenho, e modificá-lo, caso desejado.
A visão de diagrama é a visão mais abstrata do desenho, pois mostra simbolicamente os
objetos como relações espaciais binárias. Relações espaciais são geradas e computadas de
acordo com a configuração do desenho digital, enquanto que o conjunto de objetos é dado
pela consulta desenhada. Esta visão permite que um usuário examine e edite certos aspectos
de seu desenho melhor do que a visão de objeto ou a visão de desenho.
4.6.4 Avaliando Spatial-Query-By-Sketch
A proposta de Spatial-Query-By-Sketch tem como principal filosofia a construção das
consultas a mão-livre, assim como no Sketch!. No entanto, esta é fundamentada em um
modelo matemático sólido de relações espaciais e seus relaxamentos. Uma consulta
desenhada consiste de passos, partindo do desenho propriamente dito até a sua execução
pelo sistema de gerenciamento de banco de dados. Em Spatial-Query-By-Sketch o
processador de consultas precisa determinar o que deve seguir rigorosamente e o que pode
ser relaxado.
A interface com o usuário conta com equipamentos modernos, sensíveis ao toque, onde
os usuários utilizam canetas para a construção de suas consultas. Os operadores espaciais
disponíveis na interface, no entanto, são limitados.
4.7 O UTRAS PROPOSTAS
Existem algumas outras propostas, igualmente importantes, que são apresentadas a seguir de
forma resumida. O fato delas serem apresentadas desta forma deve-se ao fato de que não foi
possível, pela literatura encontrada, uma avaliação mais extensa das mesmas.
GeoMedia [Geo02] é uma ferramenta de acesso, integração e análise de dados geográficos,
com uma interface gráfica com funcionalidades para a realização de consultas dinâmicas
como, por exemplo, capacidade de agregação, junção analítica, zoneamento de buffer, análise
linear, entre outras. Acrescenta também características de apresentação de mapas, plotagem e
105
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
visualização, e suporta padrões industriais de interface como OGC e de formatos de dados.
GeoMedia permite não só a visualização de dados em múltiplos formatos, mas também a
análise dessa informação pela execução de consultas, zonas de buffer e temas sobre diversos
formatos SIG. Pode-se executar análise espacial complexa utilizando-se um conjunto de
ferramentas de análise avançadas. Isto inclui funções espaciais tais como: “inteiramente
contido em”, ou “toca”, um conjunto completo de funções aritméticas e todas as ferramentas
necessárias para se criar consultas do tipo “what if”. Podem-se criar imagens de satélite
integradas com outras informações geográficas e expandir conjuntos de dados adicionando-se
novas características. GeoMedia oferece além disso, geo-codificação o que traduz dados
tabulares em dados espaciais. GeoMedia é OLE compatível de modo que pode-se associar
imagens, spreadsheets, e outras informações com características de mapas para preparar
relatórios, anotar desenhos, e criar apresentações.
ArcInfo 8 [Pot02] é a última versão do ArcInfo [UGIS95] para SIG. Uma característica
chave do ArcInfo 8 é que ele torna SIG sofisticados mais fáceis de usar. Enquanto sua
funcionalidade é bastante completa, a sua interface se torna muito fácil pela apresentação ao
usuário do que ele quer quando ele quer. Novos aplicativos como o ArcToolbox, ArcCatalog
e o ArcMap provêem interfaces fáceis de usar tornando o trabalho com o ArcInfo mais fácil
do que antes. Um novo modelo de dados de componentes de objetos, permite, através das
características tradicionais de ponto, linha e polígono, modelar objetos tais como estações de
força e circuitos elétricos, de uma maneira mais realista. Permite, também, personalizar as
interfaces de suas ferramentas de acordo com as aplicações. ArcMap e ArcCatalog possuem
um menu de ferramentas com a opção “Customize” que permite a modificação de botões de
forma fácil, além de outras ferramentas disponíveis na interface sem necessidade de
programação. ArcInfo 8 permite modernizar aplicações de SIG e expandir o seu uso através
de ferramentas mais poderosas, um modelo de dados mais flexível e um ambiente altamente
adaptável.
Uma outra proposta de consultas visuais em dados espaciais é SVIQUEL (Spatial Visual
Query and Exploration Language) [KR98a] [KR98b]. SVIQUEL permite que os usuários
realizem consultas sobre posições espaciais relativas de dois conjuntos de objetos, capturando
tanto a parte topológica como direcional do relacionamento. SVIQUEL utiliza como
componentes: Interface de Slides Espaciais (Spatial Slider Interface S-Sliders), Figuras Ativas
para Interface de Consultas (Active Picture for Querying Interface – APIQ), o Processador de
106
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Consultas (Query Processor) e a visualização espacial dos resultados das consultas (Spatial
Visualization of Results - SVIZ). Um usuário em SVIQUEL especifica uma consulta usando
uma combinação de S-sliders com interfaces APIQ. S-sliders são filtros de consultas espaciais
dinâmicos e APIQ é um complemento natural ao modelo de consultas SVIQUEL. APIQ pode
mostrar, por exemplo, todas as posições primitivas que as casas podem ocupar com respeito a
um lago, cada posição graficamente definida por uma descrição SPRIM. SPRIM é cada
relacionamento espacial primitivo que pode ser definido entre dois objetos. SVIQUEL oferece
aos usuários: uma interface visual para especificar consultas espaciais com relacionamentos
relativamente posicionados de qualquer tipo, tal como topológicos ou direcionais; habilidade
para ajustar rapidamente consultas espaciais através da manipulação direta e para especificar
de forma incremental consultas espaciais; poder tanto para especificar consultas particulares
bem como para navegar através dos relacionamentos espaciais, sem nenhuma consulta em
mente; e habilidade para compor consultas complexas assim como uma combinação de
relacionamentos espaciais de uma maneira simples.
Uma outra proposta de linguagem de consulta visual para bancos de dados geográficos
é a PQL* [PR99] (Pictorial Query Language declarativa), que é uma extensão de PQL. PQL*
é capaz de expressar consultas em um banco de dados geográfico orientado-a-objetos,
desenhando as características que formam a consulta. Consultas complexas podem ser
expressas por operações pictóricas simples e intuitivas. Usando características simbólicas
como uma representação de classes geográficas e objetos, as consultas são compostas
colocando os objetos espaciais que estão envolvidos nos relacionamentos topológicos e
posicionais graficamente em evidência. Desta forma, as semânticas das consultas são
expressas desenhando-se figuras geométricas. Uma das características peculiares desta
proposta é que a mesma permite a realização de consultas no nível intencional, ou seja,
consultas ao esquema do banco de dados. PQL* oferece um alto poder expressivo, porque os
usuários compõem suas consultas pictoricamente, expressando desta maneira todos os
relacionamentos topológicos entre os objetos geográficos envolvidos; a sua característica nãoprocedural permite voltar a atenção do usuário ao que ele deseja, e não ao como.
4.8 Análise Comparativa das Propostas de Interfaces de Consultas Visuais para SIG
Fazendo uma análise comparativa entre os diversos sistemas de consultas visuais para SIG,
apresentamos a Tabela 4.1 que mostra as semelhanças e as particularidades de cada um.
107
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
É bom salientar que cada sistema tem sua característica em particular como, por
exemplo, o desenho a mão livre disponível em Spatial-Query-By-Sketch [BE00], que necessita
de algoritmos de interpretação de desenhos muito complexos, ou a proposta SVIQUEL
[KR98a], que utiliza Sliders de valores na interface.
Sistemas de
Consultas
Visuais para
SIG
CIGALES
[CM91]
Lvis
[BAT00]
VISCO
[WH98]
SKETCH
[Mey92a]
SPATIALQUERY-BYSKETCH
[BE00]
Características
Operadores
Disponíveis da
Linguagem
Funções de localizaInclusão, Interção, modificação de
Interface pobre, seção, Adjacência,
objetos e medida de
com poucas
Caminho, Ligação,
superfície. Versão
funcionalidades. Extensão, União e
acadêmica.
Diferença.
Interface bem
Interseção, Inclutrabalhada,
são, Adjacência,
Consultas temáticas,
disponibiliza os
Disjunção, Igualespaciais, temporais e operadores da
dade. Antes, Igual,
espaço temporais.
linguagem de
Encontra, Sobreforma visual
põe, Durante,
permitindo vários
Começa e
tipos de consulta.
Termina.
Interface baseada
Janelas de controle e
em ícones e
Disjunto,
informação e muitas menus, mas com Intersecta, Dentro,
facilidades na
representações
Contém,
elaboração das
estranhas e pouco
Conectado,
consultas.
expressivas.
Sobrepõe.
Os desenhos são
associados com
ícones e menus que
facilitam o
entendimento.
Interface
Interface pouco
amigável e
confusa.
Oferece refinamentos
métricos nas
Interface com
consultas e
tecnologia
relaxamento das
avançada e muito
relações.
amigável.
Metáfora
Icônica.
Icônica.
Icônica.
Intersecta, Dentro,
Distância_Max,
Quadro_Negro.
Distância_min,
(Desenhos e
Merge,
ícones)
Mais_perto.
Disjunto, Encontra, Sobrepõe,
Contém, Cobre,
Dentro, É-Coberto-por, Igual.
Desenho Livre.
Permite análise
Interface bastante
espacial complexa e amigável e autoGEOMEDIA execução de consultas explicativa, toda Funções espaciais e Ícones, Menus e
[Geo02]
sobre diversos
baseada em
aritméticas.
Mapas.
formatos SIG.
ícones, com
janelas de ajuda.
108
Capítulo 4 – Sistemas de Consultas Visuais para SIG
_______________________________________________________________________________________________
Produto poderoso e
composto por vários Interface bastante
aplicativos que se
amigável e
ARCINFO 8
completam na
facilmente
manipulação
adaptável às
[Pot02]
de diversos formatos
diversas
de dados geográficos. aplicações SIG.
(informação
desconhecida)
Ícones, Mapas, e
Imagens de
Satélite.
Interface pouco
Disjunto,
Os sliders de consulconvencional e
Encontra,
SVIQUEL
tas dinâmicas que
complexa con- Sobrepõe, Contém,
[KR98a]
apresentam os
tendo Sliders com Cobre, É-cobertopossíveis valores dos possíveis valores
por, Contém,
Sliders.
atributos é a principal de atributos para
Dentro, Igual,
característica deste
a construção de
Norte, Sul, Leste,
sistema.
consultas.
Oeste.
Tem como funInterface amigá- União, Diferença,
cionalidade adicional
vel com
Disjunto, Toca,
PQL
a realização de
construção de
Igualdade, DistânIcônica
consultas usando
consultas baseacia, ao-norte-de,
[PR99]
operadores OLAP.
das em ícones.
ao-sul-de.
Tabela 4.1 Análise Comparativa dos Sistemas de Consultas Visuais para SIG
4.9 C ONCLUSÃO
Neste capítulo, tivemos oportunidade de discutir alguns sistemas que utilizam o paradigma de
consultas visuais em Sistemas de Informação Geográfica (SIG). Alguns desses sistemas
utilizam ícones gráficos para a definição das consultas, como CIGALES e VISCO, outros
utilizam o desenho livre como Spatial-Query-By-Sketch. Sketch! se caracteriza por usar as
duas maneiras em conjunto para formalizar uma consulta.
Cada um desses sistemas se dispõe a resolver algum subconjunto do imenso conjunto
de problemas existentes na definição da interface ideal para SIG, usando a tecnologia de
consultas visuais. Ainda existem outros problemas que não foram atacados por estes sistemas,
tais como, a definição de uma representação visual para dados espaciais e a definição de uma
linguagem de consulta visual que utiliza padrões de metadados em sua concepção. Esses
aspectos são considerados nesta tese, e são apresentados no próximo capítulo.
109
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
CAPÍTULO 5
C ONSULTAS VISUAIS EM BDG BASEADAS EM M ETADADOS
ESPACIAIS
“Ide, pois aos vossos campos e pomares,
e lá aprendereis que o prazer da abelha é de sugar o mel da flor,
mas que o prazer da flor é de entregar o mel à abelha.
Pois, para a abelha,
uma flor é uma fonte de vida.
E para a flor
uma abelha é mensageira do amor.”
(Gibran Khalil Gibran)
5.1 I NTRODUÇÃO
Este capítulo apresenta GeoVisual – Um Ambiente para Consultas Visuais em Bancos de
Dados Geográficos. GeoVisual tem como objetivo principal facilitar o acesso a informações
em Bancos de Dados Geográficos (BDG) por meio de uma interface apropriada e de uma
linguagem de consulta visual.
Apresentamos a seguir a arquitetura do sistema proposto com seus diversos módulos e
funcionalidades. Dentro desses módulos, definimos uma representação visual para dados
geográficos e uma Linguagem de Consulta Visual Geográfica. Esta linguagem é definida
através de um formalismo apropriado como também a tradução das sentenças de consultas
visuais para a linguagem textual, baseada em SQL, está definida no Apêndice C, anexado a
este trabalho.
110
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Um protótipo deste sistema foi desenvolvido e será apresentado no próximo capítulo.
5.2 Sistema GeoVisual
“GeoVisual – Um Ambiente de Consultas Visuais para Bancos de Dados Geográficos ”,
é composto de quatro módulos que foram definidos segundo a sua funcionalidade.
Estes módulos se relacionam entre si e cada um desempenha um papel fundamental
no funcionamento do sistema. A arquitetura GeoVisual é apresentada na próxima
seção.
5.2.1 ARQUITETURA DO SISTEMA GEOVISUAL
A arquitetura do Sistema GeoVisual, Figura 5.1 [SS00, SS99], é baseada em módulos que
possuem tarefas definidas e independentes que interagem entre si: SGBD, Modelo de
Metadados, Gerenciador de Consultas e Interface Gráfica.
5.2.1.1 Módulo do SGBD
Inclui o modelo de dados do SGBD, o Banco de Dados Geográfico, ou abreviadamente BDG,
e a sua Linguagem de Consulta Espacial. O Modelo de Dados do SGBD descreve como as
informações geográficas são estruturadas internamente ao BDG. Tomaremos como base,
neste nível, o modelo de geodados definido pelo Open GIS [OGC99a] e a especificação SQL
deste mesmo consórcio [OGC99b].
111
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Interface GeoVisual
LEGENDA
Caixa de Diálogo
Ferramentas
Gráficas
Editor
Editorde
de
Consultas
Consultas
Janela
Janelade
de
Resultado
Resultado
das
dasconsultas
consultas
Interação entre
os módulos
Usuário
Interação/Dependëncia entre
componentes
Principal
contribuição
Informações
Metadados
Gerenciador de Consultas
GeoVisualQL
Tradutor de
Consultas
SGBD
Modelo de Metadados
Descrição dos Dados
Padrão de
Metadados
Espaciais
Símbolos
Visuais
Modelo
de Dados
Open GIS
BDG
SQL
Estendido
Open GIS
Figura 5.1 – Arquitetura do Sistema GeoVisual
5.2.1.2 Módulo do Modelo de Metadados
Para este módulo, assume-se que os BDG estão com as suas bases de dados descritas através
do padrão de metadados do FGDC [FGD99]. As informações referentes às feições
geográficas, armazenadas no banco de dados, deverão estar descritas por seus metadados em
arquivos independentes, os quais chamamos de “arquivos de metadados do BDG”.
Esses arquivos de metadados auxiliam o sistema na geração das sentenças SQL de
forma correta. Para cada aplicação, pode-se definir um conjunto de símbolos visuais para suas
feições geográficas, que poderão ser utilizadas na construção de consultas. Estes símbolos
112
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
visuais são representações vetoriais dos tipos ponto, linha e polígono, ou variações dos
mesmos.
5.2.1.3 Módulo Gerenciador de Consultas
Neste módulo, uma Linguagem de Consulta Visual, a GeoVisualQL (Geographic Visual
Query Language), é definida utilizando os símbolos visuais básicos das geometrias ponto,
linha e polígono como também dos operadores espaciais da linguagem. É necessária a
definição de analisadores sintático e semântico para a efetiva tradução das sentenças de
consultas visuais para sentenças de consultas textuais.
O Módulo
Gerenciador de Consultas, detalhado na Figura 5.2, mostra o processo de
tradução da sentença de consulta visual, vindo do módulo de interface, para a sentença de
consulta textual que será utilizada na consulta efetiva ao BD Geográfico.
GeoVisualQL
Tradutor da
Consulta
Objetos
Pictóricos
Analisador
Sintático
Sentença
de consulta
visual
Operadores
Espaciais
Analisador
Semântico
Sentença
de consulta
textual
Figura 5.2 – Gerenciador de Consultas
A linguagem GeoVisualQL está baseada na especificação da linguagem SQL estendida
do OGC [OGC99b], que será referenciada, daqui por diante, por linguagem base. Os
operadores espaciais de natureza topológica e os operadores espaciais de conjunto da
linguagem base foram definidos visualmente na
GeoVisualQL. Alguns operadores
topológicos, não encontrados na linguagem base, foram adicionados à linguagem visual
GeoVisualQL, como está apresentado na seção 5.5.
A análise sintática da sentença de consulta visual é feita baseada na gramática da
GeoVisualQL, onde algumas regras de tradução são usadas para gerar a sentença de consulta
textual equivalente. As regras de tradução são necessárias para garantir que a nova sentença
113
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
represente exatamente o que o usuário inicialmente pretendeu. Isto pode ser feito de acordo
com os seguintes passos:
•
Identificações de quais entidades estão envolvidas na sentença de consulta visual;
•
Construção da árvore sintática da consulta;
•
Geração da sentença textual a partir da sentença visual, segundo a especificação da
gramática GeoVisualQL e do tradutor.
A sentença textual gerada é usada para recuperar efetivamente as informações no banco de
dados geográfico, que faz parte do Módulo SGBD. O resultado da consulta é então
graficamente apresentado no Módulo da Interface Gráfica [Fer00, Cor02].
5.2.1.4 Módulo da Interface Gráfica
Este módulo é o nível mais alto da arquitetura do Sistema GeoVisual e tem como função
principal interagir com o usuário, disponibilizando, os elementos da linguagem GeoVisualQL
para a realização das consultas visuais. Através desta interface o usuário pode selecionar os
símbolos visuais componentes de uma consulta e submetê-la à execução pelo banco de dados
geográfico, sem haver necessidade de conhecimento prévio da linguagem de consulta espacial
específica de cada banco de dados.
Foi desenvolvido um protótipo da Interface GeoVisual, especificada nesta arquitetura, o qual
foi objeto de uma dissertação de mestrado [Fer00]. Algumas outras funcionalidades, não
anteriormente previstas, foram adicionadas à Interface [Cor02].
5.3 Escopo do Trabalho
Dentro da arquitetura do Sistema GeoVisual mostrada na Figura 5.1, o escopo deste trabalho
diz respeito a:
•
Especificação Formal da Linguagem de Consulta Visual – GeoVisualQL (Geographic
Visual Query Language), parte do Módulo Gerenciador de Consultas;
•
Definiçã o do Processo de Tradução da Linguagem GeoVisualQL, parte do Módulo
Gerenciador de Consultas, para a linguagem base;
•
Desenvolvimento/Atualização do protótipo do Sistema GeoVisual, com as novas
funcionalidades definidas;
114
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
Validação do Sistema, com uma aplicação de hidrologia.
Diante disto, descrevemos, a seguir, essas etapas acima mencionadas.
5.4 Representações Visuais do Sistema GeoVisual
Dentre os modelos de representação vetorial e matricial, o Sistema GeoVisual se propõe a
trabalhar apenas com o modelo de representação vetorial, o qual pode ser facilmente
representado pelas figuras geométricas de ponto, linha ou região (polígono regular).
Na definição de símbolos visuais básicos para representação de dados geográficos foi
considerado o modelo de geodados proposto pelo consórcio OpenGIS [OGC99a]. Nos
propomos a utilizar algumas geometrias das feições geográficas definidas pelo consórcio
OpenGIS [OGC99V], as quais se baseiam no modelo de representação vetorial. Uma feição
geográfica, no modelo de dados do OGC, é sempre associada a uma classe geométrica que
identifica o tipo do símbolo visual que representa a feição geográfica.
A Figura 5.3 mostra a hierarquia das classes geométricas, que representam as feições
geográficas, dentro da especificação OGC.
Sabe-se que não existe um modelo mental de visualização de entidades geográficas
único por parte dos usuários. O modelo mental é dependente da aplicação e da visão pessoal
de cada usuário. Segundo Golin [Gol91] modelos mentais são, de fato, o que os usuários têm
em suas mentes e o que os guiam no uso de sistemas e/ou aplicações. No entanto, algumas
representações visuais de tipos de feições geográficas já são utilizadas, por exemplo, em
mapas cartográficos. Símbolos visuais representativos de feições geográficas podem ser usados
para uma determinada aplicação dentro do Sistema GeoVisual.
115
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Geometria
Ponto
1+
Sistema de Referência Espacial
Curva
Superfície
Cadeia de
Linhas
Polígono
Coleção de Geometrias
2+
MultiSuperfície
MultiCurva
MultiPonto
1+
Linha
Linha Anel
MultiPolígono
MultiCadeiaLinhas
1+
Figura 5.3 – Hierarquia de Classes Geométricas [OGC99a]
No Sistema GeoVisual, para cada feição geográfica da aplicação pode-se associar um
símbolo visual que tenha uma melhor representação, ou seja, que lembre a figura geométrica
da feição geográfica real. Novos símbolos visuais podem ser acrescentados ao sistema, de
acordo com as aplicações em uso. Através da descrição de metadados, o projetista pode
indicar qual o símbolo visual que representa a feição geográfica que está sendo inserida no
banco. Desta forma, a interface poderá utilizar este símbolo visual para a realização de
futuras consultas. Como essa associação é feita será apresentado na seção 5.6.
Ponto
Linha
Polígono
Figura 5.4 – Símbolos Visuais Básicos da Linguagem GeoVisualQL
116
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
A linguagem GeoVisualQL utiliza apenas os três símbolos visuais básicos ilustrados na
Figura 5.4, dentro de todas as representações vistas na Figura 5.3. Isso se deve ao fato de que
esta linguagem trabalha apenas com geometrias simples. Ao utilizar estes símbolos visuais na
interface, o usuário deverá selecionar uma possível feição geográfica para os mesmos, dentro
da aplicação em uso. A esta feição também pode estar associado o nome de uma instância em
particular.
5.4.1 Utilizando os Padrões de Metadados
O principal objetivo de padrões de metadados espaciais, tal como FGDC [FGD99], é tornar
os dados espaciais bem estruturados e que os mesmos possam ser compartilhados entre os
diversos BDG, como se pôde ver no Capítulo 3.
A proposta de utilização de metadados na interface, denominada de GeoVisual
Interface (Geographic Visual Interface), tem como objetivo principal deixar disponível as
informações descritivas dos dados geográficos armazenados no banco de dados para poder
associar a cada entidade geográfica um símbolo visual.
A GeoVisual Interface apresentada em [Fer00] foi acrescida de uma funcionalidade que
trabalha com informações descritivas de metadados espaciais. Estas informações de
metadados realizam um importante papel na construção de consultas visuais por dois motivos
básicos: (1) O usuário, até então leigo de informações a respeito do conteúdo do banco de
dados geográficos, passa a dispor de informações a respeito das feições geográficas existentes
com seus respectivos símbolos visuais, ou seja, os objetos pictóricos∗ da aplicação em uso; (2)
O usuário, além de poder conhecer o conteúdo do banco de dados, pode utilizar estes objetos
pictóricos em consultas visuais.
5.4.2 Exemplo do Uso do Padrão FGDC e do Modelo OGC em uma Aplicação de
Hidrologia
Como dito anteriormente, a interface GeoVisual conta com informações de metadados que
servem para dar suporte aos usuários com informações a respeito das feições geográficas que
estão disponíveis no banco de dados.
∗
Objetos pictóricos fazem parte da definição da linguagem GeoVisualQL e estão definidos na seção 5.5.1
117
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
De acordo com o modelo de geodados do Open GIS [OGC99b] cada feição geográfica
armazenada no banco de dados está descrita em uma linha dentro de uma tabela de
metadados chamada GEOMETRY_COLUMNS. Para exemplificarmos a viabilidade do uso
desta proposta descrevemos as informações, que fazem parte de uma aplicação de Hidrologia
e estão contidas nesta tabela, através do padrão FGDC e o utilizamos na Interface GeoVisual.
A descrição de metadados completa está contida no Apêndice A desta tese. Estas informações
serão utilizadas posteriormente pelo tradutor de consultas. Mostramos na Figura 5.5 um
resumo da descrição de uma entidade de Bacia Hidrográfica, pelo padrão FGDC.
Entity_and_Attribute_Information:
Detailed_Description:
Entity_Type:
Entity_Type_Label: Bacia Hidrográfica
Entity_Type_Definition: Entidade Geográfica Bacias
Hidrográficas do Estado do RN
Entity_Type_Definition_Source: none
Attribute:
Attribute_Label: GEOMETRY_TYPE
Attribute_Definition: Tipo da Geometria Utilizada
Attribute_Definition_Source: INTEGER
Attribute_Domain_Values:
Enumerated_Domain:
Enumerated_Domain_Value: 5
Enumerated_Domain_Value_Definition: Números inteiros
representativos das geometrias 1=point, 3=linestring, e
5=polygon
Figura 5.5 – Descrição de Metadados da Feição Geográfica Bacia Hidrográfica
Para cada feição geográfica descrita nos metadados podemos associar o símbolo
visual correspondente que poderá ser utilizado na construção de uma consulta ao banco, ou
seja, definimos um objeto pictórico da linguagem.
5.5 D EFININDO A LINGUAGEM DE CONSULTA VISUAL – GEOVISUAL QL
A definição de uma nova linguagem de consulta envolve decisões que precisam ser tomadas,
principalmente na fase de projeto. Após analisar muitas propostas de linguagens de consulta
desenvolvidas para BDG, foi tomada a decisão de que o projeto da linguagem GeoVisualQL
deveria levar em consideração as iniciativas encontradas na literatura e descritas em [Soa01] e
ser baseada em alguma delas, criando, na verdade, uma versão visual de uma linguagem já
anteriormente existente e utilizada. Nesta fase, foi tomada a decisão de utilizar a
especificação SQL do consórcio Open GIS [OGC99b].
118
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
A linguagem GeoVisualQL é definida utilizando-se símbolos visuais que representam as
feições geográficas e os operadores da linguagem. As feições geográficas, que são manipuladas
no BDG, são representadas pelos objetos pictóricos da linguagem que serão definidos na
próxima seção.
Os operadores espaciais da linguagem também estão representados graficamente para
permitir que usuários componham suas consultas de forma completamente visual.
A formulação da consulta no sistema GeoVisual é baseada nas seguintes estratégias
definidas em [Cat+97]:
•
Por Navegação de Esquema: o sistema apresenta informações de metadados do banco
de dados geográfico no módulo da interface, de modo que os usuários possam
navegar através do mesmo, selecionando elementos para compor suas consultas.
•
Por Sub-Consultas: Os usuários podem re-submeter o resultado de suas consultas de
modo a obter informações mais detalhadas.
•
Por Seleção: as consultas podem ser formuladas pela manipulação direta dos símbolos
visuais, componentes da linguagem GeoVisualQL, e que estão disponíveis no módulo
da Interface.
A sintaxe de GeoVisualQL foi definida de acordo com a linguagem base, uma vez que
necessitamos que as construções possíveis desta linguagem tenham uma construção
equivalente de forma pictórica, ou seja, as regras sintáticas e semânticas da linguagem base
devem ser obedecidas na linguagem visual (Figura 5.6).
A decisão de optar pela especificação SQL do consórcio Open GIS, como linguagem
base, foi tomada de acordo com os seguintes fatores: (1) Como o modelo de dados que está
sendo usado é também o proposto pelo mesmo consórcio, o uso desta especificação SQL se
torna mais natural e apropriado; (2) As demais propostas de linguagens de consultas espaciais
são também, em grande parte, extensões de SQL. Muitas delas até hoje servem de base ao
desenvolvimento de novas linguagens, como a Spatial SQL [Ege94]. No entanto, a realidade
atual requer mais funcionalidades das novas linguagens, e a especificação SQL do Open GIS
tenta unir características das melhores linguagens, sendo atualmente tomada também como
referência de linguagens de consulta para BDG [ACK+98].
119
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Feições
Geográficas
Linguagem
de
Consulta
Espacial
Operadores
Espaciais
e
Lógicos
Objetos
Pictóricos
Símbolos
Visuais
Linguagem de
Consulta
Consulta
Visual
Geográfica
GeoVisualQL
Especificação Formal
Formalismo
Semântico
Formalismo
Sintático
Figura 5.6 – Linguagem de Consulta Visual Geográfica (GeoVisualQL)
A definição da linguagem de consulta visual GeoVisualQL foi feita considerando as
seguintes decisões:
•
A definição da sintaxe da linguagem visual GeoVisualQL é feita para um conjunto
de operadores permitidos na linguagem base;
•
A definição da semântica de GeoVisualQL é a mesma da linguagem base;
•
O formalismo utilizado para a definição de GeoVisualQL é a Picture Layout
Grammar – PLG [GR89a] [Gol91], que foi apresentado no Capítulo 4.
5.5.1 ESPECIFICAÇÃO DA GEO VISUALQL
Algumas considerações serão necessárias para definirmos a linguagem de consulta visual para
dados geográficos GeoVisualQL:
ü Os operadores de GeoVisualQL dividem-se em topológicos, de conjuntos e lógicos.
§
Os operadores topológicos atualmente disponíveis na linguagem são: equals,
disjoint, touches, within, contains, overlaps, intersects, crosses, croches,
crothin, crossects e crossout.
§
Os operadores de conjunto são: intersection, difference e union.
§
Os operadores lógicos são: and, or e not.
120
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
ü Símbolos visuais (sv) são as representações visuais dos objetos pictóricos e dos
operadores da linguagem.
ü O conjunto de tipos geométricos permitidos T é composto pelas representações
vetoriais simples: ponto, linha e polígono. Esses tipos geométricos também são
representados por símbolos visuais que são chamados de símbolos visuais básicos e
estão representados na Figura 5.4.
Definição 1: Seja a linguagem de consultas visuais para dados geográficos GeoVisualQL
definida como GeoVisualQL = (O,R,Σ), onde O é o conjunto de objetos
pictóricos da linguagem, R é o conjunto de operadores permitidos e Σ é o conjunto
de restrições sobre estes operadores.
Definição 2: Um objeto pictórico em GeoVisualQL é uma quádrupla op=(t,sv,fg,i) onde t ∈
T é o tipo da geometria, sv é o símbolo visual do objeto, fg é a feição geográfica
representada, e i (eventualmente vazia) é o valor da instância de fg.
Definição 3: Um operador em GeoVisualQL é uma tupla r=(to,sv) onde to representa o tipo
do operador espacial e sv é o símbolo visual do operador.
Definição 4: Um relacionamento espacial topológico em GeoVisualQL é uma tripla rt=
(r,op1,op 2), onde r ∈ R é um operador topológico, e op1 e op2 ∈ O são ambos
objetos pictóricos.
Definição 5: Um relacionamento lógico em GeoVisualQL é uma tripla rl = (r,rs1,rs2), onde
r ∈ R é um operador lógico e rs1 e rs2 são relacionamentos espaciais topológicos
ou relacionamentos lógicos. No caso do operador lógico not um dos
relacionamentos da tripla rl pode ser vazio.
Definição 6: Um relacionamento espacial de conjunto em GeoVisualQL é uma tripla rc =
(r,op1,op 2), onde r ∈ R é um operador de conjunto e op1 e op2 ∈ O são objetos
pictóricos.
Um relacionamento espacial de conjunto rc retorna, como resultado, uma
geometria. Relacionamentos espaciais topológicos rt e relacionamentos lógicos rl
retornam, como resultado, valores booleanos.
121
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Definição 7: Uma consulta visual em GeoVisualQL é representada por uma figura que
contém um agrupamento de símbolos visuais que ilustram um relacionamento
espacial topológico rt, um relacionamento lógico rl, ou um relacionamento
espacial de conjunto rc.
5.5.1.1 Operações sobre Feições Geográficas
Ao definir a linguagem GeoVisualQL é necessário levar-se em consideração que a mesma é
baseada numa linguagem textual que é uma extensão do padrão SQL. Isto implica dizer que,
as sentenças de consultas visuais serão, ao final, executadas como sentenças SQL.
As operações a serem definidas utilizam as primitivas definidas anteriormente: o
relacionamento espacial topológico , o relacionamento lógico e o relacionamento espacial de
conjunto.
Definição 8: Seleção por Atributos
Seleção por atributos
O operador de seleção por atributos σ sobre um conjunto homogêneo F de feições
geográficas, dada uma restrição ρ baseada apenas nos atributos descritivos de F, é tal que:
σρ (F) = { f ε F | ρ(f) }.
Esta é operação semelhante à seleção da álgebra relacional, como indica o exemplo:
"Recupere as cidades do Estado de Pernambuco com população entre 50.000 e 500.000
habitantes".
Para definir as operações de consulta espacial, é necessário descrever o conceito de
compatibilidade de predicado espacial.
Definição 9: Predicado Espacial Computável
Predicado espacial computável
Dados uma região geográfica R, e duas feições f1 e f2 cujas geometrias geo(f1) e geo(f2) ε R, um
predicado espacial ξ computável sobre f1 e f2 é uma restrição espacial, definível através de um
relacionamento topológico (disjoints, within, touches, overlaps, intersects, contains, crosses,
crothin, croches, crossects e crossout), ou de um relacionamento de conjunto (intersection,
difference e union), entre as representações geométricas geo(f 1) e geo(f2) destas feições.
122
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Intuitivamente, os predicados espaciais que se utilizam nessas operações envolvendo
feições geográficas são assertivas do tipo “Rio que cruza o município do Recife, na região do
Recife Antigo”.
Definição 10: Seleção Espacial
Seleção espacial
Seja uma região geográfica R, um conjunto de feições F e cujas geometrias geo(fi) ε R. Seja
ainda uma feição fr cujas geometria geo(f r) ε R. Dado um predicado espacial ξ computável, o
operador de seleção espacial ϕ : F x fr → F é tal que:
ϕ (F, fr) = {fr ε F | ξ( geo(f r), geo(fi))}.
ξ
O resultado desta operação é um subconjunto do conjunto original, composto de
todos as feições que satisfazem o predicado geométrico. Um exemplo dado em [Cam95]
(Figura 5.7), mostra o resultado de uma seleção espacial.
• Exemplo: “Selecione todas as regiões da França adjacentes à região de Midi-Pirenées
(que contém a cidade de Toulouse)”.
M
Figura 5.7 - Exemplo de operação de seleção espacial [Cam95]
Definição 11: Junção Espacial
Junção Espacial
Seja uma região geográfica R e dois conjuntos de feições F1 e F2. Dado um predicado
espacial ξ computável, a operação de junção espacial θ: F1 x F2 → F1 x F2 é tal que:
θ (F1,F2) = {(f1, f2) ε (F1, F2) | ξ (geo(f1), geo(f2) ) }.
ξ
123
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
O termo junção espacial é empregado por analogia à operação de junção em banco de
dados convencionais e denota o conjunto de operações onde ocorre a comparação entre dois
conjuntos de objetos, baseado num predicado espacial computado sobre suas representações.
Exemplos:
• “Para cada estrada de Pernambuco, ache as reservas indígenas a menos de 5 km de
uma estrada”.
• “Para as cidades do sertão potiguar, ache quais estão a menos de 10 km de algum
açude com capacidade de mais de 50.000 m3 de água”.
O resultado é uma coleção de objetos e valores, que satisfazem a restrição espacial. No
primeiro exemplo, a resposta é um conjunto de pares (reserva, estrada) no segundo um
conjunto de pares (cidade, açude).
5.5.1.2 Geometrias dos Objetos Pictóricos
De acordo com as definições acima, as primitivas gráficas, que representam os objetos
pictóricos da linguagem, pertencem aos tipos geométricos: ponto, linha e polígono. Os
símbolos visuais básicos dos mesmos foram mostrados na Figura 5.4.
5.5.1.3 Relacionamentos, definidos pelo modelo 9IM, entre as Geometrias: Ponto, Linha e
Polígono.
Dadas as particularidades de cada geometria, verifica-se que nem todos os tipos de
relacionamentos espaciais são possíveis entre dois tipos geométricos quaisquer. De acordo
com esta observação definimos, apresentando as matrizes do modelo 9IM [EH91], os
relacionamentos que serão considerados na linguagem GeoVisualQL entre possíveis
combinações de duas geometrias. Como o relacionamento intersects, é, por definição, a
negação da disjunção, então, todos os exemplos a seguir que se diferenciam do
relacionamento disjoints também podem identificar o relacionamento intersects. Nas matrizes
a seguir, observa-se que, como o ponto não possui limites, a interseção entre o limite deste
tipo geométrico e qualquer parte de outra geometria é sempre vazia. Considera-se o
relacionamento within como sendo o uso conjunto dos relacionamentos Inside e Covers
definidos no modelo 9IM. O relacionamento contains não está demonstrado pois é
equivalente ao within, apenas com a ordem de seus operandos invertida.
124
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
a) Ponto X Ponto: Dadas duas geometrias do tipo ponto, as possíveis relações espaciais
entre as mesmas, são apenas duas: Disjoints e Equals, como mostra a Figura 5.8.
A
B
AB
“Disjoints”
B° ∂B B A° ∅ ∅ ¬∅
A ∩B= ∂A ∅ ∅ ∅
A- ¬∅ ∅ ¬∅
“Equals”
B° ∂B B A° ¬∅ ∅ ∅
A ∩B=∂A ∅ ∅ ∅
A- ∅ ∅¬∅
Figura 5.8 – Relacionamentos Possíveis entre dois Pontos
b) Ponto X Linha: Dados dois elementos geométricos dos tipos ponto e linha, os
possíveis relacionamentos espaciais entre os mesmos, como mostra a Figura 5.9, são
os seguintes: Disjoints, Within e Touches.
A
A
A
B
B
¨Disjoints¨
B° ∂B B-
A° ∅ ∅ ¬∅
A ∩B= ∂A ∅ ∅ ∅
A- ¬∅¬∅¬∅
B
¨Within¨
¨Touches¨
B° ∂B B-
B° ∂B B-
A° ¬∅ ∅
∅
∅ ∅ ∅
A- ¬∅¬∅¬∅
A ∩B= ∂A
A° ∅¬∅ ∅
A ∩B= ∂A ∅ ∅ ∅
A- ¬∅¬∅¬∅
Figura 5.9 – Relacionamentos Possíveis entre um Ponto e uma Linha
c) Ponto X Região: Dados dois elementos geométricos dos tipos ponto e região, os
relacionamentos espaciais possíveis entre os mesmos, de acordo com a Figura 5.10,
são os seguintes: Disjoints, Touches e Within.
125
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
A
A
A
B
¨Disjoints¨
B
B
¨Within¨
B° ∂B B-
A° ∅ ∅¬∅
A ∩B=∂A ∅ ∅ ∅
A- ¬∅¬∅¬∅
¨Touches¨
B° ∂B BA°¬∅ ∅ ∅
A ∩B=∂A ∅ ∅ ∅
A- ¬∅¬∅¬∅
B° ∂B B-
A° ∅ ¬∅ ∅
A ∩B=∂A ∅ ∅ ∅
A- ¬∅¬∅¬∅
Figura 5.10 – Relacionamentos Possíveis entre um Ponto e uma Região.
d) Linha X Linha: Dados dois objetos geométricos do tipo linha, os relacionamentos
espaciais entre os mesmos, como mostra a Figura 5.11, são os seguintes: Equals,
Disjoints, Crosses, Touches, Overlaps e Within.
B
A
A
“Disjoints”
“Crosses”
B° ∂B BA°
A∩B= ∂A
A-
A
B
B° ∂B BA° ¬∅ ∅ ¬∅
A∩B= ∂A ∅ ∅ ¬∅
A- ¬∅ ¬∅¬∅
∅ ∅ ¬∅
∅ ∅ ¬∅
¬∅ ¬∅¬∅
B
A
B
“Touches (a)”
“Touches (b)”
B° ∂B BA° ∅ ∅ ¬∅
A∩B=∂A ∅ ¬∅ ¬∅
A- ¬∅ ¬∅¬∅
∅ ¬∅ ¬∅
∅ ∅ ¬∅
B° ∂B B-
¬∅ ¬∅¬∅
B
A
B
“Equals”
B° ∂B B-
A° ¬∅ ∅ ∅
A∩B= ∂A ∅ ¬∅ ∅
A- ∅ ∅¬∅
A
B
“Within”
B° ∂B B -
A° ¬∅ ∅ ∅
A∩B= ∂A ¬∅ ∅ ∅
A- ¬∅ ¬∅¬∅
A
“Overlaps”
B° ∂B B-
¬∅ ¬∅ ¬∅
A°
A∩B=∂A ¬∅ ∅ ¬∅
A- ¬∅ ¬∅¬∅
Figura 5.11 – Relacionamentos entre duas Linhas
126
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
e) Linha X Região: Dados dois elementos geométricos de tipos linha e região
consideram-se os seguintes relacionamentos espaciais, como mostra a Figura 5.12:
Disjoints, Crosses, Within e Touches.
A
“Disjoints”
“Within (a)”
B° ∂B B-
A°
A∩B=∂A
B
“Within (b)”
B° ∂B B-
A
A
A
B
“Touches (b)”
“Touches (a)”
B° ∂B B-
B° ∂B B-
∅ ∅ ¬∅
A° ¬∅ ∅ ∅ ¬∅ ∅ ∅
A°
∅ ∅ ¬∅ A∩B= ∂A ¬∅ ∅ ∅ ¬∅ ¬∅ ∅ A∩B= ∂A
A- ¬∅ ¬∅¬∅
A
B
A B
B
A- ¬∅ ¬∅¬∅ ¬∅ ¬∅¬∅
B° ∂B B-
∅ ∅ ¬∅
∅¬∅ ¬∅
A° ∅ ¬∅ ¬∅
A∩B= ∂A ∅ ∅ ¬∅
A- ¬∅ ¬∅¬∅
A- ¬∅ ¬∅¬∅
B
“Crosses (a)”
“Crosses (b)”
B° ∂B B -
B° ∂B B-
“Crosses (c)”
B° ∂B B-
A° ¬∅ ¬∅¬∅ A° ¬ Ø Ø Ø A° ¬ Ø ¬Ø Ø
A∩B= ∂A ∅ ∅ ¬∅ ∂A Ø ¬Ø Ø ∂A Ø ¬Ø Ø
A- ¬∅ ¬∅¬∅ A- ¬ Ø ¬Ø ¬Ø A- ¬ Ø ¬Ø ¬Ø
“Crosses (d)”
B° ∂B B-
A° ¬ Ø ¬Ø ¬ Ø
∂A Ø ¬Ø Ø
A- ¬ Ø ¬Ø ¬Ø
“Crosses (e)”
B° ∂B BA° ¬ Ø ¬Ø ¬ Ø
∂A Ø ¬Ø ¬ Ø
A- ¬ Ø ¬Ø ¬Ø
Figura 5.12 – Relacionamentos Espaciais possíveis entre uma Linha e uma Região
f) Região X Região: Dados dois objetos geométricos do tipo Região, considera-se os
seguintes relacionamentos entre os mesmos, como mostra a Figura 5.13: Disjoints,
Touches, Within/Contains, Overlaps, e Equals.
A
B
B
“Disjoints”
B
A
“Within (a)”
B° ∂B BA° ∅ ∅ ¬∅
A∩B= ∂A ∅ ∅ ¬∅
A- ¬∅ ¬∅¬∅
A
A
B
“Within (b)”
B° ∂B BB° ∂B BA° ¬∅ ∅ ∅ ¬∅ ∅ ∅
A∩B= ∂A ¬∅ ∅ ∅ ¬∅ ¬∅ ∅
A- ¬∅ ¬∅¬∅ ¬∅ ¬∅¬∅
A
B
“Touches”
(a)
B° ∂B
B-
A° ∅ ∅ ¬∅
A∩B= ∂A ∅¬∅ ¬∅
A- ¬∅ ¬∅¬∅
A
B
“Equals”
B° ∂B BA° ¬∅ ∅ ∅
A∩B=∂A ∅¬∅ ∅
A- ∅ ∅¬∅
A
B
“Touches”
(b)
“Overlaps”
B° ∂B
A° ∅ ∅ ¬∅
A∩B=∂A ∅¬∅ ¬∅
A- ¬∅ ¬∅¬∅
B° ∂B BA° ¬∅¬∅ ¬∅
A∩B= ∂A ¬∅¬∅ ¬∅
A- ¬∅ ¬∅¬∅
B-
Figura 5.13 – Relacionamentos Espaciais possíveis entre duas Regiões.
127
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
5.5.2 Relacionamentos Espaciais da Linguagem GeoVisualQL
Definiremos a seguir os relacionamentos espaciais e os operadores que serão usados em
GeoVisualQL, com as suas respectivas restrições. Como vimos na seção anterior, alguns
relacionamentos não podem ser usados por certos tipos de geometrias, devido à própria
natureza das mesmas e do relacionamento.
Alguns operadores foram adicionados à linguagem GeoVisualQL de modo a facilitar a
edição das consultas visuais. A metodologia utilizada na elaboração de consultas na nossa
linguagem é sempre a do uso de operadores espaciais agrupados aos símbolos visuais dos
objetos pictóricos. Mas, para a realização de consultas mais complexas, onde vários
operadores estão relacionados e onde exista a necessidade de utilização de operadores
lógicos, faz-se necessário o uso dos operadores adicionais como ilustrado na Figura 5.14(a).
Para agrupar elementos, utilizaremos o operador de edição adicional que representa a
ação de agrupamento Grouped como mostra a Figura 5.14(b). Este operador de agrupamento
também pode ser utilizado para associar os operadores lógicos aos símbolos visuais.
Normalmente ele é substituído, na linguagem textual, pelo uso dos parênteses.
Operador AND: ∧
Operador OR:
∨
Operador NOT: ¬
(a) Representação dos Operadores Lógicos
(b) Representação do Operador de Edição
Grouped
Figura 5.14 – Representação Visual dos operadores Adicionais da GeoVisualQL
Em cada um dos operadores a serem apresentados a seguir, mostramos sua definição
formal pelo modelo 9IM [EH91] (apresentado no Capítulo 4), seu símbolo visual e sua
definição gramatical. Em seguida, são apresentados exemplos de possíveis consultas válidas,
utilizando cada um desses operadores, em GeoVisualQL. Cada uma dessas sentenças ao ser
identificada como válida, será depois traduzida para a linguagem base. É importante lembrar
que todas as consultas em GeoVisualQL são compostas por símbolos visuais que representam
os objetos pictóricos e os operadores espaciais. A consulta só é semanticamente analisada
128
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
quando se encontra na sua forma textual traduzida, quando então é submetida ao BD
Geográfico.
Sabe-se que uma consulta, em GeoVisualQL, utiliza sempre objetos pictóricos como
operandos. Sabe-se, também, que um dos componentes do objeto pictórico, além da feição
geográfica que está sendo representada, é o tipo da geometria deste objeto.
O tipo da geometria do objeto pictórico é a informação mais importante para a
definição das consultas visuais na linguagem GeoVisualQL, pois, é com base neste tipo que se
identificam os possíveis relacionamentos entre as mesmas. Desta forma, para simplificar a
especificação das consultas em GeoVisualQL nos baseamos unicamente nas geometrias dos
objetos pictóricos. Para uma consulta ser determinada como válida, a mesma deve ser
formada por duas geometrias e um operador espacial, agrupados.
O tipo das geometrias relacionadas com os operadores depende da especificação de
sintaxe de cada operador espacial de acordo com a gramática de cada um deles. Uma consulta
visual está delimitada pelo operador grouped mais externo.
Vale lembrar que os relacionamentos Covers e CoveredBy do modelo 9IM tiveram suas
características incorporadas aos do relacionamento Inside, também do 9IM, gerando, na
definição da linguagem base, o relacionamento Within, como sugere o próprio autor do
modelo 9IM em [EH91]. O operador Crosses, da maneira como está definido a seguir,
considera apenas o caso do cruzamento entre duas linhas (Figura 5.11) e um caso de
cruzamento entre uma linha e uma região (Figura 5.12 (a)). Os demais casos do Crosses entre
uma linha e uma região são definidos, na linguagem GeoVisualQL, separadamente, com
nomes diferentes, como operadores adicionais à linguagem, como pode-se ver a seguir.
5.5.2.1 Relacionamentos Espaciais Visuais de Topologia baseados na SQL do OGC
A seguir apresenta-se os relacionamentos espaciais de topologia da linguagem GeoVisualQL,
com suas respectivas restrições.
129
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
a) Equals: Operador Igual
Formalismo 9IM
A.equals.B ⇔ (A° ∩ B° = ¬∅) ∧ ((∂A ∩ ∂B =¬∅ ) ∨
(∂A ∩ ∂B =∅ )) ∧ (A-∩ B -=¬∅) ∧ (A°∩ ∂B =
A°∩ B -= ∂A ∩ B° = ∂A ∩ B- = A- ∩ ∂B = A- ∩ B -= ∅)
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta de igualdade em GeoVisualQL está definida se existir
um agrupamento de duas geometrias, do mesmo tipo, com o operador equals, como
mostra a definição abaixo:
EQUALS-CLAUSE→ grouped(GEOMETRY1,Equals, GEOMETRY2)
Where
(GEOMETRY1.type = GEOMETRY2.type)
O analisador sintático GeoVisualQL verifica se os tipos das geometrias utilizadas são
iguais de modo a validar e submeter a consulta. As representações pictóricas de possíveis
consultas válidas para o operador equals estão ilustradas na Figura 5.15.
Figura 5.15 – Exemplos de consultas válidas usando o operador equals
130
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
b) Disjoint: Operador Disjunto
Formalismo 9IM
A.disjoints.B ⇔ ( A° ∩ B° = ∅) ∧ (A° ∩ ∂B =∅ ) ∧
(∂A ∩ B° =∅)∧ (∂A ∩ ∂B = ∅) ∧ (A- ∩ B - =¬∅) ∧ (A∩ B° =¬∅) ∧ ((A- ∩ ∂B) =¬∅) ∨ (A- ∩ ∂B) =∅)) ∧ (A°
∩ B - =¬∅) ∧ ((∂A ∩ B - =¬∅)∨ (∂A ∩ B - =∅))
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta de disjunção está definida em GeoVisualQL se existir
um agrupamento de duas geometrias de qualquer tipo, com o operador disjoint, dentro de
uma consulta visual, como define a descrição abaixo, e ilustra a Figura 5.16:
DISJOINT–CLAUSE→ grouped(GEOMETRY1,Disjoint, GEOMETRY2)
O operador DISJOINT pode ser usado comparando-se quaisquer dois tipos geométricos
conhecidos, por isso, não apresenta restrições em sua definição.
Figura 5.16 – Representação de consultas válidas com o operador disjoint
131
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
c) Touches: Operador Toca.
Formalismo 9IM
A.touches.B ⇔ (A° ∩ B° = ∅) ∧ ((∂A ∩ B° =¬∅) ∨
(A° ∩ ∂B =¬∅ ) ∨(∂A ∩ ∂B =¬∅)) ∧ (A- ∩ B-= ¬∅) ∧
(A- ∩ B°=¬∅) ∧ (A- ∩ ∂B =¬∅) ∧ ((A° ∩ B-= ¬∅) ∧
(∂A ∩ B-= ¬∅)) ∨ ((A° ∩ B-= ∅) ∧
(∂A ∩ B-= ∅))
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta toca está definida em GeoVisualQL se o operador
espacial touches for agrupado junto com duas geometrias segundo a especificação abaixo e
ilustrada na Figura 5.17:
TOUCHES -CLAUSE→ grouped(GEOMETRY1,Touches, GEOMETRY2)
Where
(GEOMETRY1.type=point and GEOMETRY2.type = line) or
(GEOMETRY1.type=point and GEOMETRY2.type=polygon) or
(GEOMETRY1.type=line and GEOMETRY2.type = line) or
(GEOMETRY1.type= line and GEOMETRY2.type = polygon) or
(GEOMETRY1.type=polygon and GEOMETRY2.type=polygon)
O operador espacial touches está definido para quaisquer dois tipos geométricos, exceto o caso
de dois pontos.
Figura 5.17 – Representação de consultas válidas usando o operador touches
132
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
d) Within: Operador Dentro de
Formalismo 9IM
A.within.B ⇔ ( A° ∩ B° = ¬∅) ∧ (A° ∩ ∂B =∅ ) ∧
(A° ∩ B - =∅) ∧ (∂A∩ B - =∅) ∧ ((∂A ∩ ∂B =∅) ∨
(∂A∩ ∂B=¬∅))∧ ((∂A∩ B°= ¬∅)∨ (∂A ∩ B°= ∅)) ∧
( A-∩ B°= ¬∅) ∧ (A- ∩ ∂B = ¬∅) ∧ (A- ∩ B - = ¬∅)
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta dentro_de em GeoVisualQL está definida se existir
um agrupamento de duas geometrias com o operador within, segundo a especificação
abaixo, como ilustrado na Figura 5.18:
WITHIN-CLAUSE→grouped(GEOMETRY1, Within, GEOMETRY2)
Where
(GEOMETRY1.type = point and GEOMETRY2.type = line) or
(GEOMETRY1.type=point and GEOMETRY2.type= polygon) or
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type= polygon) or
(GEOMETRY1.type=polygon and GEOMETRY2.type= polygon)
Pela restrição definida, operador Within só não se aplica no caso de dois pontos.
Figura 5.18 – Representação de consultas válidas usando o operador within
133
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
e) Overlaps: Operador Sobrepõe
Formalismo 9IM
A.overlaps.B ⇔ (A° ∩ B° = ¬∅) ∧ (A°∩ B -=¬∅ ) ∧
(A°∩∂B =¬∅) ∧(∂A ∩ B°=¬∅) ∧ (∂A ∩ B -=¬∅ ) ∧
((∂A ∩ ∂B =¬∅)∨ (∂A ∩ ∂B =∅)) ∧ (A -∩ B° =¬∅) ∧
(A- ∩ B -=¬∅) ∧(A- ∩ ∂B =¬∅)
Símbolo
Visual
Formalismo Gramatical
Definição: A definição de uma cláusula de consulta de sobreposição é definida se existir
um agrupamento de duas geometrias, segundo a especificação definida a seguir,
juntamente com o operador overlaps, como ilustrado na Figura 5.19:
OVERLAPS -CLAUSE→ grouped(GEOMETRY1,Overlaps,GEOMETRY2)
Where
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type=polygon and GEOMETRY2.type=polygon)
O analisador sintático de GeoVisualQL verifica se o operador overlaps está agrupado com
duas geometrias do tipo linha, ou duas geometrias do tipo região a fim de validar a
consulta.
Figura 5.19 – Representação de consultas válidas utilizando o operador overlaps
134
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
g) Crosses: Operador Cruza
Formalismo 9IM
A.crosses.B ⇔ (A° ∩ B° = ¬∅) ∧ ((A° ∩ ∂B =¬∅) ∨
(A° ∩ ∂B =∅)) ∧ (A° ∩ B - = ¬∅) ∧ (∂A ∩ B° = ∅) ∧
(∂A ∩ ∂B =∅) ∧ (∂A ∩ B-= ¬∅) ∧ (A-∩ B° = ¬∅) ∧ (A∩ ∂B =¬∅) ∧ (A-∩ B-= ¬∅)
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta visual de cruzamento em GeoVisualQL é definida se
existir um agrupamento de duas geometrias, segundo a especificação abaixo, com o
operador crosses e é ilustrada na Figura 5.20:
CROSSES-CLAUSE→grouped(GEOMETRY1,Crosses,GEOMETRY2)
Where
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type = polygon)
Neste caso, pela própria natureza do operador crosses, que diz respeito a um cruzamento,
o primeiro operador geométrico envolvido na consulta deverá ser do tipo linha, como prérequisito para a sua validação, e o segundo operando só poderá ser do tipo linha ou do tipo
região. Exemplos de possíveis consultas válidas utilizando o operador crosses estão
ilustrados na Figura 5.20.
Figura 5.20 – Representação de consultas válidas envolvendo o operador crosses.
135
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
g) Intersects: Operador Intersecta
Formalismo 9IM
A.intersects.B ⇔ (A° ∩ B°=¬∅) ∨ (A° ∩ ∂B =¬∅ ) ∨
(∂A ∩ B°=¬∅) ∨ (∂A ∩ ∂B =¬∅) ∧ (A- ∩ B -=¬∅) ∧
(A- ∩ B° =¬∅) ∧ (A-∩ ∂B =¬∅) ∧ (A°∩ B - =¬∅) ∧
(∂A∩ B - =¬∅)
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta visual de interseção em GeoVisualQL, é definida se
existir um agrupamento de duas geometrias com o operador espacial intersects,como
definido abaixo e ilustrado na Figura 5.21:
INTERSECTS-CLAUSE→ grouped (GEOMETRY1, Intersects,GEOMETRY2)
Nenhuma restrição é adicionada à relação intersects, pois como a mesma é somente a
negação da relação disjoints, ela também pode ser usada com qualquer tipo de objeto
geométrico.
Figura 5.21 – Representação de consultas válidas que usam o operador espacial intersects
136
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
g) Contains: Operador Contém
Formalismo 9IM
A.contains.B ⇔ ( A° ∩ B° = ¬∅) ∧ (∂A∩ B° =∅ ) ∧
(A - ∩ B° =∅) ∧ (A -∩ ∂B =∅) ∧ ((∂A ∩ ∂B =∅) ∨ (∂A
∩ ∂B =¬∅)) ∧ ((A° ∩ ∂B =¬∅) ∨ (A° ∩ ∂B =∅)) ∧
-
Símbolo
Visual
-
(A°∩ B = ¬∅) ∧ (∂A ∩ B = ¬∅) ∧ (A- ∩ B - = ¬∅)
Formalismo Gramatical
Definição: Uma cláusula de consulta visual que utiliza o operador contém, em
GeoVisualQL, é definida se existir um agrupamento de duas geometrias, como definido
abaixo, com o operador contains:
CONTAINS-CLAUSE→ grouped(GEOMETRY1,Contains, GEOMETRY2)
Where
(GEOMETRY1.type = point and GEOMETRY2.type = line) or
(GEOMETRY1.type=point and GEOMETRY2.type= polygon) or
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type= polygon) or
(GEOMETRY1.type = polygon and GEOMETRY2.type = polygon)
O operador contains é, funcionalmente igual ao operador within, com a ordem de seus
operandos invertida. O uso deste operador está ilustrado na Figura 5.22.
Figura 5.22 – Representação de consultas válidas que utilizam o operador contains
137
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
5.5.2.2 Acrescentando novos Operadores Espaciais de Topologia
Ao analisar o cruzamento entre uma linha e uma região foi verificado que o operador Crosses
merece ser detalhado de modo a demonstrar, na linguagem, as suas variações topológicas, de
acordo com o modelo 9IM proposto por Egenhofer [Ege91]. Segundo a avaliação feita pelos
usuários em [ME94] o cruzamento simples entre uma linha e uma região está fracamente
representado por apenas um tipo de cruzamento. Desta forma, foram identificados alguns
tipos de cruzamentos que representam estas variações da realidade, como foi apresentado no
Capítulo 4.
Estes relacionamentos não são oferecidos na linguagem base, ou seja, pela especificação
SQL do OGC [OGC99b]. Apresentam-se, então, quatro possíveis extensões de cruzamento
entre uma linha e uma região.
a) Crothin: Representa o caso em que uma linha A cruza totalmente uma região B estando
totalmente dentro da mesma. Será definido a seguir abreviadamente como CroThin.
Formalismo 9IM
A.crothin.B ⇔ ( A° ∩ B° = ¬∅) ∧ ( A° ∩ ∂ B =∅ ) ∧ (
A° ∩ B -=∅ ) ∧ (∂A ∩ B° =∅) ∧ (∂A ∩ ∂B = ¬∅) ∧(∂A
∩ B - =∅) ∧ (A- ∩ B° = ¬∅) ∧ (A- ∩ ∂B =¬∅) ∧ (A∩ B - =¬∅)
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta visual válida em GeoVisualQL que utiliza o crothin,
está definida se existir um agrupamento de duas geometrias de tipo linha e região, com o
operador crothin, como definido abaixo e ilustrado na Figura 5.23:
CROTHIN-CLAUSE→grouped(GEOMETRY1,Crothin, GEOMETRY2)
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
A função do operador crothin pode ser representada pela situação de união entre o
operador crosses e o operador within.
138
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Figura 5.23 – Consulta visual válida que utiliza o operador crothin
b) Croches: Representa a situação em que uma linha A cruza totalmente uma região B,
está totalmente dentro da mesma e o interior de A toca nos limites de B. Está definido
a seguir como CroChes.
Formalismo 9IM
A.croches.B ⇔ (A°∩ B°= ¬∅) ∧ ( A° ∩ ∂ B =¬∅ ) ∧ (
A° ∩ B - =∅ ) ∧ (∂A ∩ B° = ∅) ∧ (∂A ∩ ∂B =¬∅) ∧
(∂A ∩ B - =∅) ∧(A- ∩ B°= ¬∅) ∧ (A- ∩ ∂B =¬∅) ∧ (A∩ B - =¬∅)
Símbolo
Visual
Formalismo Gramatical
Definição: Uma cláusula de consulta visual válida em GeoVisualQL que utiliza o croches,
está definida se existir um agrupamento de duas geometrias de tipo linha e região, com o
operador croches, como definido abaixo e ilustrado na Figura 5.24
CROCHES -CLAUSE→grouped(GEOMETRY1,Croches, GEOMETRY2)
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
A função do operador croches pode ser representada pela situação de união entre o
operador crosses e o operador touches.
139
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Figura 5.24 – Consulta visual válida que utiliza operador Croches.
c) Crossout: Representa a situação em que uma linha A cruza uma região B e um dos
limites de A se encontra no exterior de B. Será referenciado como operador crossout.
Formalismo 9IM
Símbolo
Visual
A.crossout.B ⇔ (A° ∩ B°= ¬∅) ∧ ( A°∩ ∂ B =¬∅ ) ∧ (
A° ∩ B -=¬∅ ) ∧ (∂A ∩ B° = ∅) ∧ (∂A ∩ ∂B =¬∅ ) ∧
(∂A ∩ B -=¬∅ )∧ (A-∩ B°=¬∅) ∧ (A-∩ ∂B =¬∅) ∧
(A- ∩ B - =¬∅)
Formalismo Gramatical
Definição: Uma cláusula de consulta visual válida em GeoVisualQL que utiliza o crossout,
está definida se existir um agrupamento de duas geometrias de tipo linha e região, com o
operador crossout, como definido abaixo:
CROSSOUT-CLAUSE →grouped (GEOMETRY1, Crossout, GEOMETRY2)
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
Este operador se mostrou necessário para representar a situação em que uma linha tem
início dentro de uma região e termina fora da mesma. Está ilustrado na Figura 5.25.
Figura 5.25 – Consulta visual válida que utiliza o operador crossout
140
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
d) Crossects: Representa a situação em que uma linha A cruza uma região B, onde, ambos os
limites de A se encontram dentro de B, mas, parte de seu interior se encontra externo a B.
Será referenciado a seguir como Crossects.
Formalismo 9IM
Símbolo
Visual
A.crossects.B ⇔ (A°∩ B° =¬∅) ∧ ( A° ∩ ∂ B =¬∅ ) ∧
(A°∩ B -=¬∅ ) ∧ (∂A ∩ B°=∅) ∧ (∂A ∩ ∂B =¬∅ ) ∧
(∂A ∩ B -=∅ ) ∧(A- ∩ B°= ¬∅) ∧ (A- ∩ ∂B = ¬∅) ∧ (A∩ B - =¬∅)
Formalismo Gramatical
Definição: Uma cláusula de consulta visual válida em GeoVisualQL que utiliza o
crossects, está definida se existir um agrupamento de duas geometrias de tipo linha e
região, com o operador crossects, como definido abaixo:
CROSSECTS-CLAUSE→grouped (GEOMETRY1, Crossects, GEOMETRY2)
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
O uso deste operador está ilustrado na Figura 5.26.
Figura 5.26 – Consulta visual válida que utiliza o operador crossects
5.5.2.3 Relacionamentos Espaciais Visuais de Conjuntos baseados na SQL do OGC
Os operadores de conjuntos, definidos pela linguagem base, têm como característica retornar
uma geometria como resultado.
Como não são operadores de natureza topológica, não
estão descritos pelo modelo 9IM [EH91]. Na especificação OGC [OGC99b] não é
141
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
apresentada uma formalização para estes operadores. Apresenta-se então uma formalização
para estes operadores.
Sabe-se que as geometrias manipuladas pela linguagem GeoVisualQL são: ponto P,
linha L e região R. Então, considerando cada uma das possíveis combinações entre duas
geometrias em um espaço bi-dimensional IR2 , utilizam-se algumas notações adicionais. Há
casos em que o retorno do operador de conjunto entre as geometrias A e B é uma geometria
diferente de A e diferente de B. Neste caso, interessa apenas o tipo desta geometria
retornada, que pode ser representada como G(P) para uma geometria do tipo ponto, G(L)
para uma geometria do tipo linha, e G(R) para uma geometria do tipo região. Além disso, em
alguns casos, faz-se nece ssário acrescentar outra notação, G(Rh), que identifica uma
geometria do tipo região com um “buraco” (hole), como também G(mL), para uma geometria
do tipo MultiLinha, ou G(mR) para uma geometria do tipo MultiPolígono. As definições que
se seguem considera apenas regiões convexas. A seguir definem-se os operadores de
conjuntos oferecidos pela GeoVisualQL.
a) Intersection
O operador intersection retorna a geometria resultante da interseção entre duas
geometrias quaisquer. O símbolo visual que o representa na linguagem GeoVisualQL e
sua definição, para cada conjunto de combinações possíveis entre geometrias está
definido a seguir:
Símbolo
Visual
i.
A ponto e B ponto
A.intersection.B = B.intersection.A ⇒ A ∨ B ∨ ∅
Prova: Se A ∈ P e B ∈ P, então, A ∩ B = A = B.
•
Se A intersecta B implica dizer que A é igual a B, pois, como uma
geometria do tipo Ponto possui uma única célula, esta é a única
142
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
possibilidade de interseção entre duas geometrias deste mesmo tipo.
Desta forma, a geometria retornada é o ponto A ou B;
•
Se as duas geometrias do tipo ponto A e B forem disjuntas, a interseção
entre os mesmos retorna o conjunto vazio.
ii.
A ponto e B linha
A.intersection.B = B.intersection.A ⇒ A ∨ ∅
Prova: Se A ∈ P e B ∈ L, então A ∩ B = A.
•
Se A do tipo P intersecta B do tipo L, implica dizer que A está dentro de
B ou que A toca em B. Nestes dois casos, o resultado da interseção é o
próprio A;
•
Se A e B forem disjuntos, o resultado da interseção entre os dois é o
conjunto vazio.
iii.
A ponto e B região
A.intersection.B = B.intersection.A ⇒ A ∨ ∅
Prova: Se A ∈ P e B ∈ R, então A ∩ B = A.
•
Se A do tipo P, intersecta B do tipo R, o resultado desta interseção é o
próprio A, como pode ser verificado nos casos em que A está dentro de
B ou que A toca em B;
•
No caso de A e B serem disjuntos, o resultado da interseção entre os
dois é o conjunto vazio.
iv.
A linha e B linha
A.intersection.B = B.intersection.A ⇒ G(P) ∨ G(L) ∨ A ∨ B ∨ ∅
Prova: Se A ∈ L e B ∈ L, então:
•
O retorno da interseção entre duas linhas A e B pode ser um ponto
G(P), nos casos em que A e B se cruzam ou no caso em que se tocam;
•
O retorno da interseção é um segmento de linha G(L), no caso em que
A se sobrepõe a B;
143
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
O retorno da interseção pode ser a própria linha A, no caso de A estar
dentro de B, ou se B contém A.
•
E se B estiver dentro de A, ou se A contém B, este retorno é a própria
linha B;
•
O retorno da interseção pode ser a linha A ou a linha B, no caso de
serem iguais;
•
O retorno pode ser simplesmente o conjunto vazio no caso de A e B
serem disjuntos.
v.
A linha e B região
A.intersection.B = B. intersection.A ⇒ G(P) ∨ G(L) ∨ A ∨ ∅
Prova: Se A ∈ L e B ∈ R, então:
•
A interseção entre linha A e a região B retorna um ponto G(P), no
caso em que A toca em B em um ponto;
•
A intersecção entre A e B retorna um segmento de reta G(L), no caso
em que A toca em um lado de B, ou no caso em que A cruza B, ou em
que A entra/sai em/de B;
•
A interseção entre A e B pode ser a própria linha A, no caso de A estar
dentro de B;
•
A interseção entre A e B pode retornar simplesmente o conjunto vazio
no caso de A e B serem disjuntos.
vi.
A região e B região
A.intersection.B = B.intersection.A ⇒ G(P) ∨ G(L) ∨ G(R) ∨ A ∨ B ∨ ∅
Prova: Se A ∈ R e B ∈ R, então:
•
O retorno da interseção entre A e B pode ser um ponto G(P), no caso
em que as regiões de tocam em um único ponto;
•
O retorno pode ser um segmento de reta G(L), no caso em que A e B
se tocam em um lado;
144
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
O retorno da interseção entre A e B pode ser uma região G(R), se A se
sobrepõe a B;
•
O retorno da interseção entre A e B pode ser a própria região A, se A
estiver dentro de B;
•
A interseção entre A e B pode retornar a região A ou a região B no caso
de serem iguais;
•
A interseção entre A e B pode retornar simplesmente o conjunto vazio
no caso de A e B serem disjuntos.
Formalismo Gramatical
Definição: Uma consulta que utiliza o operador de interseção é definida se existir um
agrupamento de duas geometrias com o operador intersection, como definido abaixo e
ilustrado na Figura 5.27:
INTERSECTION-CLAUSE→grouped(GEOMETRY1,Intersection, GEOMETRY2)
O operador intersection é definido para quaisquer tipos de geometrias.
Figura 5.27 – Representação de consultas visuais que utilizam o operador Intersection
145
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
b) Difference
O operador difference retorna como resultado a geometria da diferença entre duas outras
geometrias. O símbolo visual que o representa na linguagem GeoVisualQL e sua
definição, para cada conjunto de combinações possíveis entre geometrias estão definidos
a seguir.
Símbolo
Visual
i.
A ponto e B ponto
A.difference.B ⇒ ∅ ∨ A
Prova: Se A ∈ P e B ∈ P, então:
•
Se A intersecta B implica dizer que A é igual a B, então, A – B = ∅ ;
•
Se A e B forem disjuntos, a diferença entre A e B retorna o próprio
ponto A.
B.difference.A ⇒ ∅ ∨ B
Prova: Se A ∈ P e B ∈ P, então:
•
Se A intersecta B implica dizer que A é igual a B, então, B – A = ∅ ;
•
Se A e B forem disjuntos, a diferença entre B e A retorna o próprio
ponto B.
ii.
A ponto e B linha
A.difference.B ⇒ A ∨ ∅
Prova: Se A ∈ P e B ∈ L, então:
•
Se A intersecta B, como no caso em que A está dentro de B, ou A toca
em B, a diferença A – B = ∅ ;
146
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
Se A e B forem disjuntos entre si, A – B = A, ou seja, retorna o
próprio ponto A.
B.difference.A ⇒ (G(L1)∧ G(L2)) ∨ G(L) ∨ B
Prova: Se A ∈ P e B ∈ L, então:
•
Se A está dentro de B, o retorno da diferença entre B e A é a linha B
menos exatamente o ponto A, gerando, por conseqüência, dois
segmentos de linha;
•
Se A toca B, então o retorno de B – A, é igual a B menos um de seus
limites, gerando um novo segmento de linha;
•
E no caso de A e B serem disjuntos entre si, B – A = B, ou seja, retorna
a própria linha B.
iii.
A ponto e B região
A.difference.B ⇒ A ∨ ∅
Prova: Se A ∈ P e B ∈ R, então:
•
Se A intersecta B, temos casos em que A está dentro de B ou em que A
toca em B, então a diferença A – B = ∅ ;
•
Se A e B forem disjuntos entre si, A – B = A, ou seja, retorna o
próprio ponto A.
B.difference.A ⇒ G(Rh) ∨ G(R) ∨ B
Prova: Se A ∈ P e B ∈ R, então:
•
Se A está dentro de B, então a diferença entre B e A é uma geometria
com menos um ponto interno, gerando na verdade, uma região com
um ¨buraco¨;
•
Se, o ponto A tocar na região B, o resultado da diferença B – A é uma
nova região;
•
Se A e B forem disjuntos entre si, B – A = B, ou seja, retorna a
própria região B.
147
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
iv.
A linha e B linha
A.difference.B ⇒ A ∨ ( G(L1) ∧ G(L2) ) ∨ G(L) ∨ ∅
Prova: Se A ∈ L e B ∈ L, então:
•
Se A e B forem disjuntos, o retorno da diferença entre as duas é a
própria linha A, ou seja, A – B = A;
•
No caso de cruzamento entre as duas linhas a diferença entre A e B é
igual a linha A menos o ponto de interseção, gerando dois segmentos
de linha (L1 e L2);
•
No caso da linha A tocar a linha B, ou se a linha A se sobrepõe à
linha B, o retorno da diferença entre A e B é um novo segmento de
linha;
•
Se as linhas A e B forem iguais, ou se A estiver dentro de B, então, A –
B = ∅;
•
Se A contém B, então a diferença entre A e B vai ser um ou dois
segmento(s) de linha(s).
B.difference.A ⇒ B ∨ ( G(L1) ∧ G(L2)) ∨ G(L) ∨ ∅
Prova: Se A ∈ L e B ∈ L, então:
•
Se as linhas A e B forem disjuntas, o retorno da diferença entre as duas
é a própria linha B, ou seja, B – A = B;
•
No caso de cruzamento entre as duas linhas, a diferença entre B e A é
igual a B menos o ponto de interseção, gerando dois segmentos de
linha;
•
No caso da linha A tocar a linha B, ou no caso em que as duas linhas
se sobrepõem o retorno da diferença entre B e A, é um novo segmento
de linha;
•
Se as duas linhas forem iguais, então B – A = ∅;
148
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
Se a linha A estiver dentro da linha B, então, a diferença entre B e A
vai ser um ou dois segmento(s) de linha(s) ;
•
Se a linha A contém a linha B, a diferença entre B e A é o conjunto
vazio.
v.
A linha e B região
A.difference.B ⇒ A ∨ ∅ ∨ ( G(L1) ∧ G(L2)) ∨ G(L)
Prova: Se A ∈ L e B ∈ R, então:
•
Se A e B forem disjuntos entre si, a diferença entre A e B é igual à linha
A;
•
Se A está dentro de B, então, A menos B, vai ser igual ao conjunto
vazio;
•
Se a linha A cruza a região B, a diferença entre A e B é igual a dois
segmentos de linha;
•
Se a linha A toca em um lado de B, a diferença entre A e B é igual a um
ou dois segmento(s) de linha(s).
•
Se A toca em um ponto de B, ou se A entra/sai da região B, então a
diferença entre A e B é igual a um novo segmento de linha.
B.difference.A ⇒ B ∨ G(Rh) ∨ (G(R1) ∧ G(R2)) ∨ G(R)
Prova: Se A ∈ L e B ∈ R, então:
•
Se A e B forem disjuntos, então, B menos A, é igual à própria região B;
•
Se A está dentro de B, então a diferença entre B e A é a região B menos
os pontos referentes à linha A, ou seja, é uma região com um
¨buraco¨;
•
Se A entra/sai em/de B, o resultado da diferença entre B e A é uma
nova região.
•
Se a linha A cruza a região B, então a diferença entre B e A, são duas
regiões;
149
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
E se A toca em B, a diferença entre B e A, nos dois casos em que a
linha A toca em apenas um ponto, ou toca em um lado de B, o
resultado é uma nova região.
vi.
A região e B região
A.difference.B ⇒ A ∨ ∅ ∨ G(R) ∨ G(Rh)
Prova: Se A ∈ R e B ∈ R, então:
•
Se A e B forem disjuntos, A – B = A;
•
Se A está dentro de B, ou A igual a B, A – B = ∅;
•
Se A contém B, então a diferença entre A e B é uma região com um
buraco;
•
Se a região A toca na região B em um lado, ou se A toca em B em um
ponto, ou se A se sobrepõe a B, o resultado da diferença entre A e B é
igual a uma nova região.
B.difference.A ⇒ B ∨ G(Rh) ∨ ∅ ∨ G(R)
Prova: Se A ∈ R e B ∈ R, então:
•
Se A e B são disjuntos entre si então B – A = B;
•
Se A está dentro de B, então a diferença entre B e A é uma região
com um ¨buraco¨;
•
Se A contém B, então a diferença entre B e A é o conjunto vazio;
•
Se A e B forem iguais, então B – A = ∅ ;
•
Se A toca em B por um lado, ou se A toca em B por um ponto, ou se
A se sobrepõe a B, então a diferença entre B e A é uma nova região.
Formalismo Gramatical
Definição: Uma consulta que utiliza o operador Difference é representada pelo
agrupamento de duas geometrias com o operador, como definido abaixo, e ilustrado na
Figura 5.28:
150
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
DIFFERENCE-CLAUSE→ grouped(GEOMETRY1,Difference, GEOMETRY2)
O retorno desta operação é a conjunto de pontos topologicamente fechados resultante da
diferença entre a primeira e a segunda geometria.
Figura 5.28 – Representação de co nsultas visuais que utilizam o operador difference
c) Union
O operador union retorna a geometria resultante da união entre as duas geometrias A e
B. O símbolo visual que o representa na linguagem GeoVisualQL e sua definição, para
cada conjunto de combinações possíveis entre geometrias estão definidos a seguir:
Símbolo
Visual
i.
A ponto e B ponto
A.union.B = B.union.A ⇒ (A ∧ B) ∨ A ∨ B
Prova: Se A ∈ P e B ∈ P, então:
151
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
Se A e B são disjuntos, a união dos dois consiste do conjunto formado
pelos dois pontos.
•
ii.
Se A e B são iguais então a união dos dois é o ponto A ou o ponto B.
A ponto e B linha
A.union.B = B.union.A ⇒ (A ∧ B) ∨ B
Prova: Se A ∈ P e B ∈ L, então:
•
Se A e B são disjuntos, a união dos mesmos consiste do conjunto
formado pelo ponto A e pela linha B;
•
Se A está dentro de B, ou se A toca B, o resultado da união dos dois é a
própria linha B.
iii.
A ponto e B região
A.union.B = B.union.A ⇒ (A ∧ B) ∨ B
Prova: Se A ∈ P e B ∈ R, então:
•
se A e B forem disjuntos, então a união dos dois será o conjunto
formado pelo ponto A e pela região B.
•
Se A está dentro de B, ou se A toca B, então o resultado da união dos
dois é a própria região B.
iv.
A linha e B linha
A.union.B = B.union.A ⇒ (A ∧ B) ∨ G(mL) ∨ A ∨ B ∨ G(L)
Prova: Se A ∈ L e B ∈ L, então:
•
Se A e B são disjuntos, a união dos dois é o conjunto formado pelas
duas linhas A e B.
•
Se A e B se cruzam, ou se tocam entre si, o resultado da união dos dois
é uma multilinha formada pela união de todos os pontos de A e B.
•
Se A e B são iguais, o resultado da união dos dois é a linha A ou a
linha B.
152
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
Se A está dentro de B o resultado da união é a linha B;
•
Se A contém B o resultado da união entre A e B é a linha A;
•
Se A e B se sobrepõem , então o resultado da união das duas é uma
nova linha.
v.
A linha e B região
A.union.B = B. union.A ⇒ (A ∧ B) ∨ B ∨ (B ∧ 2 G(L))
Prova: Se A ∈ L e B ∈ R, então:
•
Se A e B são disjuntos, então a união entre os dois é o conjunto
formado pelas duas geometrias desconectas linha e região;
•
Se A está dentro de B, o resultado da união entre A e B é a região B;
•
Se A contém B, o resultado da união é a região A;
•
Se A cruza B, o resultado da união entre os dois, é a região B junto
com os dois segmentos de linhas restantes de A.
•
Se A toca em B, em um ponto, ou em um lado, ou se A entra/sai na
região B, o resultado desta união, é o conjunto formado pelas duas
geometrias conectadas A e B.
vi.
A região e B região
A.union.B = B.union.A ⇒ (A ∧ B) ∨ A ∨ B ∨ G(R) ∨ G(mR)
Prova: Se A ∈ R e B ∈ R, então:
•
Se A e B são disjuntos, a união dos dois é formada pelo conjunto de
geometrias desconectas A e B.
•
Se A está dentro de B, o resultado da união é a região B;
•
Se A contém B, o resultado da união é a região A;
•
Se A e B são iguais, o resultado da união entre A e B, é a região A ou
a região B.
153
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
•
Se A e B se tocam em um lado, o resultado da união entre A e B é uma
nova região.
•
Se A e B se tocam por um único ponto, o resultado da união dos dois é
uma geometria do tipo multipolígono ;
•
Se A e B se sobrepõem, então o resultado da união entre os mesmos é
uma nova região.
Formalismo Gramatical
Definição: Uma consulta visual que utiliza o operador de união é identificada se existir um
agrupamento de duas geometrias com o operador union como definido abaixo e ilustrado
pela Figura 5.29:
UNION -CLAUSE → grouped (GEOMETRY1, Union, GEOMETRY2)
Este operador retorna como resultado a geometria correspondente à união das duas
geometrias envolvidas na consulta.
Figura 5.29 – Representação simbólica de possíveis consultas visuais que utilizam o
operador union
5.5.3 Gramática da linguagem GeoVisualQL
A gramática da linguagem GeoVisualQL [SS02] foi definida, no Apêndice B, utilizando-se a
Picture Layout Grammar [Gol91] que foi apresentada no Capítulo 3. Nesta definição da
154
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
gramática foram definidos os símbolos terminais e não terminais da linguagem e os formatos
das sentenças de consultas. Por exemplo, suponha que se deseja validar uma consulta que
utiliza o operador Within. Partindo do símbolo inicial da linguagem STATEMENT, segue-se
as sentenças da gramática até se alcançar a cláusula WITHIN_CLAUSE, tem-se:
STATEMENT
STATEMENT ⇒ QUERY_CLAUSE
QUERY_CLAUSE ⇒ WITHIN_CLAUSE
WITHIN-CLAUSE⇒ grouped (GEOMETRY1, Within, GEOMETRY2)
Where
(GEOMETRY1.type = point and GEOMETRY2.type = line) or
(GEOMETRY1.type = point and GEOMETRY2.type= polygon) or
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type = polygon) or
(GEOMETRY1.type= polygon and GEOMETRY2.type= polygon)
Substituindo cada símbolo terminal desta equação final por seus símbolos visuais
equivalentes obtêm-se exatamente as consultas válidas representadas na Figura 5.18.
Considere agora uma sentença de consulta mais complexa que utiliza o operador lógico Not.
Considere novamente o símbolo inicial da linguagem STATEMENT, como mostra a Figura
5.30, onde as derivações da gramática são utilizadas, a partir do símbolo inicial da linguagem,
até se alcançar a cláusula de consulta visual original.
155
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
STATEMENT
STATEMENT
⇒ QUERY_CLAUSE
QUERY_CLAUSE
⇒ LOGIC_CLAUSE
LOGIC_CLAUSE
⇒ NOT_CLAUSE
NOT_CLAUSE
Þ Not (QUERY_CLAUSE)
NOT_CLAUSE
Þ Not (LOGIC_CLAUSE)
Not (LOGIC_CLAUSE)
ÞNot (And_Clause)
Not (And_Clause)
ÞNot ((Query_clause) And (Query_clause))
Not ((Query_clause) And (Query_clause))
ÞNot ((crosses_clause) And (within_clause))
-- Crosses Clause -Þ Not ((grouped(GEOMETRY1.crosses.GEOMETRY2)
where
(GEOMETRY1.type=line and GEOMETRY2.type=line) or
(GEOMETRY1.type=line and GEOMETRY2.type=polygon))
-- and -AND
-- Within Clause -(grouped (GEOMETRY3.within.GEOMETRY4))
¬
∧
Figura 5.30 – Possível Consulta Visual equivalente à definição de uso do operador Not pela
Gramática da GeoVisualQL
No apêndice B, está descrito todo o formalismo gr amatical da linguagem GeoVisualQL.
Nele, pode-se observar como são as sentenças de consulta desta linguagem, os símbolos
terminais e não-terminais e o seu símbolo inicial. Os símbolos visuais dos operadores
espaciais mostrados na seção 5.5.2 complementam a definição de GeoVisualQL.
O processo de tradução da sentença de consulta visual para a sentença de consulta
textual na linguagem base faz parte também da especificação da linguagem GeoVisualQL e
será descrito a seguir.
5.6 ESPECIFICAÇÃO DO USO DOS METADADOS
Ao gerar a sentença SQL equivalente à consulta visual GeoVisualQL, são utilizadas as
definições formais da seção 5.5.1.1 conjuntamente com as informações de metadados.
A definição de predicado espacial computável requer que as geometrias das feições
sejam computáveis através de um operador espacial, por exemplo, os operadores crosses ou
touches.
156
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
O uso de metadados aparece como uma alternativa útil para determinar, dadas duas
feições f1 e f2 e um predicado espacial ξ, se o predicado é computável e como ele é
computável. Por exemplo, o processamento da consulta “Ache todos os lotes de Recife que
tocam o rio Capibaribe” poderia ser facilitado se se soubesse quais são as representações
geométricas associadas aos “lotes” e ao “rio Capibaribe”.
Estas informações estão disponíveis nas descrições de metadados, de forma que ao
submeter a consulta, através do analisador sintático, seja possível determinar se as feições
geográficas definidas como lote e rio possuem geometrias que podem ser associadas ao
operador touches. Caso o predicado espacial seja não computável, a consulta não é aceita.
5.7 Geração da Sentença SQL
Para ser possível a efetiva tradução da sentença de consulta visual GeoVisualQL para a
sentença de consulta textual SQL são utilizadas informações de metadados a respeito das
feições geográficas, envolvidas na consulta. Através das descrições de metadados, é possível
saber: quais as tabelas em que estão armazenadas as feições geográficas, que tipo de
geometria está associada às mesmas, além da informação do símbolo visual, ou imagem no
formato GIF que irá representar, dentro da linguagem, o objeto pictórico. Estas descrições de
metadados estão no formato XML e são lidas pelo tradutor de modo a disponibilizar, para os
usuários, os objetos pictóricos de cada aplicação, as possíveis instâncias para os mesmos,
como também tornar possível a geração da sentença SQL. Um exemplo completo destes
arquivos e como utilizá-los na tradução das consultas será apresentado no próximo capítulo.
Para cada um dos tipos de operadores disponíveis na GeoVisualQL, apresenta-se uma
breve descrição de como podem ser traduzidos para a especificação SQL do Open GIS. As
sentenças SQL geradas são dependentes do tipo do operador utilizado.
5.7.1 Geração de sentenças SQL utilizando os operadores topológicos definidos pela
linguagem base
Todos os operadores espaciais de natureza topológica, tais como: equals, disjoint, touches,
crosses, overlaps, within e contains, retornam valores lógicos em seus resultados. Devido à
natureza visual da linguagem GeoVisualQL, necessita-se, no entanto, de um retorno
essencialmente visual.
157
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Desta forma, inicialmente precisa-se identificar as feições geográficas que fazem parte
da sentença de consulta visual. Esta informação é obtida através das informações de
metadados da aplicação. Através das cláusulas SQL buscam-se, no banco de dados, as
coordenadas de cada feição, de modo a representar o resultado da consulta de forma visual.
Desta forma, uma possível sentença de consulta gerada, seguindo a especificação SQL do
OGC é a seguinte:
Select Feicao1.GetGeometry(), Feicao2.GetGeometry()
From Feicao1, Feicao2
Where OperadorTopológico ( Feicao1.GetGeometry(),
Feicao2.GetGeometry()) = 1
A função GetGeometry() retorna as coordenadas da geometria que representa a Feição
Geográfica e está descrita no Apêndice C.
5.7.2 Geração de sentenças SQL utilizando as extensões dos operadores topológicos
Os operadores topológicos derivados do formalismo 9IM [EH91] e acrescentados à
linguagem GeoVisualQL tais como: crothin, croches, crossout e crossects, são traduzidos, em
geral, para combinações de operadores que fazem parte da especificação SQL do OGC
[OGC99b]. Alguns destes podem ser simulados com o uso de dois ou mais operadores
espaciais de topologia do OGC. No entanto, existem casos em que isso ainda não é possível.
Devido à natureza visual da linguagem GeoVisualQL, necessita-se, também nestes operadores,
de um retorno visual.
Desta forma, as possíveis sentenças de consultas geradas, usando as funções da
especificação SQL do OGC, considerando que a função GetGeometry() retorna as
coordenadas da geometria que representa a Feição Geográfica, são as seguintes:
a) Crothin
Select Feicao1.GetGeometry(), Feicao2.GetGeometry()
From Feicao1, Feicao2
Where ((Crosses(Feicao1. GetGeometry(), Feicao2. GetGeometry()) = 1)
AND
((Within(Feicao1. GetGeometry(), Feicao2. GetGeometry()) = 1))
158
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
b) Croches
Select Feicao1.GetGeometry(), Feicao2.GetGeometry()
From Feicao1, Feicao2
Where ((Crosses(Feicao1. GetGeometry(), Feicao2. GetGeometry()) = 1)
AND
((Touches1. GetGeometry(), Feicao2. GetGeometry()) = 1))
No caso dos operadores Crossout e Crossects, não existe um conjunto de operadores
topológicos da especificação SQL do OGC [OGC99b] que tenham sua semântica equivalente
a estas definições e que possam ser utilizados na cláusula SQL. Desta forma, não
apresentamos a tradução para SQL destes dois operadores.
5.7.3 Geração de sentenças SQL utilizando operadores de conjuntos
Todos os operadores espaciais de conjuntos, utilizados na GeoVisualQL, retornam geometrias
como resultado. Devido à natureza visual da linguagem GeoVisualQL, utilizamos estes
retornos geométricos na interface. Desta forma, identificadas as feições geográficas que estão
sendo consultadas, as sentenças SQL geradas buscam, no banco de dados, as coordenadas de
cada feição, de modo a executar os operadores espaciais de conjuntos entre essas geometrias.
As possíveis sentenças de consultas geradas, usando as funções da especificação SQL do
OGC, considerando que a função GetGeometry() retorna as coordenadas da geometria que
representa a Feição Geográfica, são as seguintes:
a) Intersection
Select Intersection( Feicao1.GetGeometry(), Feicao2.GetGeometry())
From Feicao1, Feicao2
a) Difference
Select Difference( Feicao1.GetGeometry(), Feicao2.GetGeometry())
From Feicao1, Feicao2
a) Union
Select Union( Feicao1.GetGeometry(), Feicao2.GetGeometry())
From Feicao1, Feicao2
159
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
5.7 PROCESSO DE TRADUÇÃO DA CONSULTA VISUAL
A tradução da sentença de consulta visual para a consulta equivalente em SQL é feita
inicialmente através de uma associação dos símbolos equivalentes das duas linguagens. Os
símbolos visuais dos operadores topológicos, e de conjuntos, foram apresentados na seção
5.5.2. Também neste Capítulo, foram mostrados os símbolos visuais dos operadores lógicos,
na Figura 5.14(a) e do operador Grouped na Figura 5.14 (b).
Através da gramática da linguagem, a cada consulta visual válida em GeoVisualQL,
uma árvore sintática é gerada [Cor02] de acordo com o tipo do operador espacial utilizado,
se topológico, de conjunto ou lógico.
Então, considerando os tipos de operadores da linguagem, apresenta-se as possíveis
árvores sintáticas para cada tipo de consulta em GeoVisualQL. Consideram-se apenas árvores
binárias, onde o caminhamento na mesma é feito na forma in-order.
Uma cláusula de consulta lógica em GeoVisualQL apresenta-se com os seguintes
componentes, como mostra a Figura 5.31.
And
Or
Query
Clause
Query
Clause
Query
Clause
Query
Clause
Query
Clause
Not
Figura 5.31 – Árvores Sintáticas Logic_Clauses em GeoVisualQL
Dadas as árvores da Figura 5.31, cada Query_clause pode ter uma das seguintes
derivações, ilustradas na Figura 5.32. Uma Query_Clause, pode gerar uma outra
Logic_Clause, como está ilustrado na Figura 5.32. Neste caso, esta Logic_Clause será
substituída por uma das árvores da Figura 5.31, onde, para cada Query-Clause será utilizada
novamente as substituições da Figura 5.32 quantas vezes forem necessárias.
160
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Topologic
Operator
Logic
Clause
GEOMETRY
GEOMETRY
Figura 5.32 – Árvores Sintáticas das Query_Clauses de GeoVisualQL
Um outro tipo de consulta visual em GeoVisualQL é no caso do uso de operadores de
conjunto. Neste caso, a Figura 5.33 mostra a árvore sintática de uma cláusula de conjunto.
Set
Operator
GEOMETRY
GEOMETRY
Figura 5.33 – Árvore Sintática de um Set_Query_Clause em GeoVisualQL
Estes símbolos da linguagem GeoVisualQL foram todos definidos em sua gramática, no
Apêndice B desta tese. Para enfatizar, porém, definimos a geometria, chamada GEOMETRY,
utilizada nas cláusulas de consultas, como mostrado na Figura 5.34.
GEOMETRY
PONTO
LINHA
POLÍGONO
SET_QUERY
CLAUSE
Figura 5.34 – Tipos de Geometrias Aceitos nas C láusulas de Consulta GeoVisualQL
A partir da árvore sintática de uma consulta GeoVisualQL válida, algumas decisões são
tomadas, de acordo com o tipo de operador utilizado [Cor02].
Quando um operador topológico ou lógico é utilizado na consulta, a tradução SQL
equivalente corresponde a uma condição na cláusula WHERE do SELECT. Quando um
operador de conjunto é utilizado na consulta visual, o resultado da consulta é uma geometria
que é visualizada.
161
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Rio = ‘Capibaribe’
Cidade = ‘Recife’
Figura 5.35 – Exemplo de uma Consulta Visual válida
Considere o exemplo de consulta dado na Figura 5.35. Esta consulta ilustra o seguinte
questionamento: “O Rio Capibaribe cruza a Cidade do Recife?”. Apresenta-se a árvore
sintática desta consulta, na Figura 5.36, e como é feita a tradução da mesma. Baseado na
definição do tradutor, apresentado no Apêndice C desta tese, apresenta-se o exemplo de
tradução desta sentença de consulta visual para a sentença de consulta textual equivalente.
Crosses
Linha
Polígono
Figura 5.36 – Árvore Sintática Equivalente da Consulta Representada na Figura 5.35
Inicialmente identifica-se o operador crosses e as feições geográficas associadas às
geometrias e suas respectivas instâncias que, neste exemplo, estão identificadas. Então,
seguindo o tradutor da GeoVisualQL a seguinte sentença textual é gerada:
Select Rio.GetGeometry(), Cidade.GetGeometry() from Rio, Cidade
Where ((Rio.name =¨Capibaribe ¨) AND (Cidade.name =¨Recife¨) AND
Crosses(Rio.GetGeometry(), Cidade.GetGeometry()) = 1)”)
Isto implica dizer que a consulta em SQL vai buscar as geometrias das feições
geográficas do tipo Cidade e Rio que possuam os nomes de instâncias Recife e Capibaribe,
respectivamente, se as mesmas se cruzarem entre si. Caso contrário, a consulta retornará
vazia.
Suponha a seguinte consulta visual ilustrada pela Figura 5.37:
162
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
Parque = “Central Park”
Figura 5.37 – Exemplo de uma Consulta Válida com o operador crothin
A questão da consulta agora é a seguinte: “Retorne, se existir, um Rio que esteja
inteiramente dentro do Central Park, e o cruze de uma extremidade a outra”. De acordo com
o tradutor definido no Apêndice C, gera-se a seguinte sentença de consulta:
Select Rio.GetGeometry(), Parque.GetGeometry() from Rio, Parque
Where (Parque.name =“Central Park”) and
(Crosses(Rio.GetGeometry(), Parque.GetGeometry()) = 1 and
Within(Rio.GetGeometry(), Parque.GetGeometry()) = 1) )
Nesta consulta, serão selecionados todos os rios que cruzam o Central Park e que
estejam totalmente dentro do mesmo, assim como foi definida a consulta visual da Figura
5.37.
Para a geração de sentenças de consultas complexas, que utilizam operadores lógicos,
ilustra-se a geração da sentença SQL da Figura 5.30, seguindo as regras de tradução definidas
no Apêndice C desta tese:
Select feicao1.GetGeometry(), feicao2.GetGeometry(), feicao3.GetGeometry(),
feicao4.GetGeometry() from feicao1, feicao2, feicao3, feicao4
Where NOT ( (Crosses(feicao1.GetGeometry(), feicao2.GetGeometry()) = 1)
AND
Within(feicao3.GetGeometry(), feicao4.GetGeometry()) = 1) )
5.8 ANÁLISE COMPARATIVA DOS SISTEMAS DE CONSULTAS VISUAIS PARA SIG E O
SISTEMA GEOVISUAL
A seguir apresenta-se uma análise comparativa dos sistemas avaliados no Capítulo 4, de
acordo com as suas ca racterísticas e vantagens, como também suas limitações, e os
comparamos com o sistema GeoVisual. Primeiramente são apresenatdas as características do
Sistema GeoVisual, na Tabela 5.1, de acordo com as características avaliadas no Capítulo 4,
na Tabela 4.1.
163
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
SQL Padrão
OGC
Operadores
Métricos
Operadores
Temporais
Operadores
Lógicos
Modelo de
Dados OGC
Sistemas de
Consultas
Visuais para SIG
Interface
Representação
visual do
esquema do
Linguagem de
Consulta
Visual
Operadores
Topológicos
Conformidade
9IM
GeoVisual
Operadores
Disponíveis da
Metáfora
Linguagem
Topológicos: Equals,
Disponibiliza uma
Interface com
Disjoints, Touches,
linguagem de
ícones e
Within, Contains,
consulta visual em
informações de
Intersects, Overlaps,
Icônica.
sua interface, que
metadados que
Crosses, Crothin,
apresenta feições
facilitam o
Croches, Crossects e
geográficas de
entendimento do
Crossout. Conjunto:
forma visual e
conteúdo do BD.
Intersection,
operadores.
Difference e Union.
Lógicos.
Tabela 5.1 – Caracterizando GeoVisual
Características
Metadados
Sistema de
Consultas Visuais
para SIG
CIGALES
x
x
Ö
Ö
Ö
Lvis
x
x
Ö
Ö
Ö
Ö
Ö
VISCO
x
x
x
Ö
Ö
SKETCH
x
x
x
Ö
Ö
SPATIALx
x
x
Ö
Ö
Ö
Ö
QUERY-BYSKETCH
GEOMEDIA
x
√
x
x
x
x
x
Ö
ARCINFO 8
x
x
x
x
x
x
SVIQUEL
x
x
Ö
Ö
PQL
x
x
Ö
Ö
GeoVisual
x
x
Ö
Ö
Ö
Ö
Ö
Ö
Ö
Tabela 5.2 – Análise Comparativa de GeoVisual com demais trabalhos
Legenda:
x
x
x
x
x
x
x
x
x
Ö
Ö apresenta a característica
x não apresenta a característica
não foi possível avaliar.
A Tabela 5.2 compara a existência ou não de algumas funcionalidades entre os mesmos
sistemas. Ao analisar essa tabela pode-se observar que o Sistema GeoVisual se destaca por ter
usado padrões em diversos estágios de definição, por utilizar informações de metadados em
sua tradução, por representar o esquema do BD visualmente e por definir uma linguagem de
164
Capítulo 5 - Consultas Visuais em BGG baseadas em Metadados Espaciais
________________________________________________________________________________________________
consulta visual contendo, inclusive, operadores lógicos. Operadores métricos, direcionais e
temporais não são suportados.
5.9 CONCLUSÃO
As aplicações de BDG vêm demonstrando uma crescente necessidade de desenvolvimento de
novas opções de consultas para dados geográficos. Por ser bastante complexa e diversificada,
a natureza destes dados tem uma característica inerentemente visual devido a sua topologia e
referência espacial, além de suas dimensões. O uso de linguagens de consultas visuais em
BDG tem sido objeto de pesquisa em diferentes comunidades, e se destaca devido a sua
natureza amigável e a sua maior facilidade de uso em relação às linguagens de consultas
textuais tradicionais.
O que GeoVisual oferece como característica adicional aos outros sistemas é que: (1)
Define símbolos visuais para as geometrias das entidades geográficas e para os operadores da
linguagem de consulta, na interface; (2) Define formalmente uma linguagem de consulta
visual GeoVisualQL que é baseada no padrão Open GIS e possui operadores espaciais de
topologia, de conjuntos e operadores lógicos; (3) Faz a efetiva tradução para a linguagem
textual baseada em SQL; (4) Oferece uma visualização para os retornos booleanos dos
operadores topológicos; (5) Propõe novos operadores de topologia à linguagem que seguem a
especificação 9IM [Ege91]; (6) Propõe uma interface baseada em informações de metadados,
e portanto, extensível a novas aplicações.
No Capítulo seguinte apresenta-se um exemplo de uma aplicação utilizando o Sistema
GeoVisual.
165
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
CAPÍTULO 6
IMPLEMENTAÇÃO DO SISTEMA G EOVISUAL
“Em grande parte de vossas conversações, o
pensamento é meio assassinado. Pois, o
pensamento é uma ave do espaço que, numa
gaiola de palavras, pode abrir as asas, mas
não pode voar”.
(Gibran Khalil Gibran)
6.1 I NTRODUÇÃO
Este capítulo apresenta os detalhes de implementação do protótipo do Sistema GeoVisual
[Cor02] e as suas funcionalidades de acordo com a especificação da linguagem GeoVisualQL.
É possível, através do uso da interface deste protótipo, selecionar os símbolos visuais, agrupálos e submeter uma consulta ao sistema. Em seguida, após a validação sintática dessa consulta,
o módulo de tradução gera a sentença SQL equivalente. A partir dessa sentença SQL o banco
de dados é acessado e o resultado da mesma é apresentado de forma visual ao usuário.
Para validar o Sistema GeoVisual foi feita uma atualização na
implementação da
Interface GeoVisual [Fer00], como também uma modelagem de uma aplicação de Hidrologia,
utilizando dados reais do Estado do Rio Grande do Norte.
166
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Bacia Hidrográfica
Açude
Descrição:
Descrição:
Símbolo
visual
Área total drenada por um
rio e seus afluentes .
Símbolo
visual
Lago
Floresta
Descrição:
Símbolo
visual
Massa continental de água
superficial de extensão
considerável.
Descrição:
Símbolo
visual
Cidade
Símbolo
visual
Símbolo
visual
Símbolo
visual
Ecossistemas complexos,
nos quais as árvores são a
forma vegetal predominante
que protege o solo contra o
impacto direto do sol, dos
ventos e das precipitações.
Rio Permanente
Descrição:
Centro populacional
permanente, altamente
organizado, com funções
urbanas e políticas próprias.
Lugar onde a água é
acumulada, em geral,
formado pela construção de
barragens nos rios.
Descrição:
Símbolo
visual
Curso de água permanente
ou outro líquido cuja vazão
contribui para aumentar o
volume de outro corpo
d'água.
Rio Intermitente
Estrada de Ferro
Descrição:
Descrição:
Curso de água temporário ou
outro líquido cuja vazão
contribui para aumentar o
volume de outro corpo d'água.
Símbolo
visual
Via de transporte
Ferroviário.
Rodovia
Município
Descrição:
Descrição:
Via de transporte
Rodoviário.
Símbolo
visual
Extensão territorial em que
se exerce a jurisdição de
uma vereação.
Tabela 6.1 – Objetos Pictóricos de Recursos Hídricos
167
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
6.2 Objetos Pictóricos da Aplicação de Recursos Hídricos
A aplicação exemplo é denominada Hidrologia e contém as seguintes feições
geográficas, cada uma delas com a sua representação visual equivalente.
Um conjunto de dados-exemplo de Hidrologia é formado por uma descrição de Bacias
Hidrográficas do Estado do Rio Grande do Norte. Cada Bacia é representada por uma região
bem limitada, contendo um rio e seus afluentes. A extensão de uma Bacia pode incluir mais
de um município. Cada açude pertence a uma única Bacia Hidrográfica e é formado pela
barragem de um dos rios que compõem a Bacia. Uma Bacia pode ou não possuir açudes.
Qualquer ponto geográfico do Estado pertence obrigatoriamente a alguma Bacia
Hidrográfica. Em outras palavras, as bacias hidrográficas cobrem toda a extensão do Estado.
Dentro de uma Bacia encontram-se, além dos rios e açudes, os municípios com suas cidades,
lagos, florestas, estradas de ferro e rodovias. Alguns objetos pictóricos, com seus respectivos
símbolos visuais que representam as feições geográficas, foram definidos para esta aplicação e
podem ser usados na construção de consultas como ilustrados na Tabela 6.1.
Os objetos pictóricos de uma aplicação de Recursos Hídricos representados na Tabela
6.1 estão disponíveis na interface para a efetiva elaboração das consultas ao banco de dados
geográfico da aplicação.
6.3 Interface GeoVisual
A interface GeoVisual apresenta uma área para os símbolos visuais básicos da linguagem
(ponto, linha e polígono) e uma área para os símbolos visuais dos operadores espaciais, sejam
de topologia, de conjuntos ou lógicos, e o operador de agrupamento, como mostra a Figura
6.1. A área de consultas está localizada na área central da Janela Principal e nela o usuário
seleciona os símbolos visuais e os agrupa, segundo a definição de cada operador da
linguagem. Uma área adicional é dependente da aplicação em uso e apresenta os objetos
pictóricos específicos para a mesma, como ilustrado na Figura 6.2.
168
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Símbolos
Visuais dos
Operadores
Lógicos
Símbolos
Visuais
Básicos
Área de Consultas
Símbolos
Visuais dos
Operadores
da
Linguagem
Figura 6.1 - Interface GeoVisual - Janela Principal
A Figura 6.2 ilustra os objetos pictóricos que representam as feições geográficas da
aplicação de Hidrologia que foram implementados neste protótipo. Uma área adicional é
definida, como ilustrado na Figura 6.3, onde o usuário tem a disponibilidade de verificar a
sentença SQL gerada, e uma outra onde pode analisar, graficamente, o resultado da consulta.
169
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Figura 6.2 - Janela da Aplicação
Figura 6.3 - Janela de Apresentação
6.3.1 Detalhes de Implementação
A Interface GeoVisual [Cor02] atual, foi desenvolvida em Java no ambiente JBuilder 6
Enterprise Edition, da Borland Products, sendo, desta forma, portável e facilmente adaptável
ao ambiente Web.
Foi feita uma implementação do Banco de Dados Geográfico utilizando o pacote
Oracle Spatial da versão 9i do SGBD Oracle [Ora02]. Para realizarmos a comunicação da
interface com o banco de dados, utilizou-se a API JDBC própria do Oracle 9i, de modo que
as consultas realizadas pudessem ser geradas e executadas com sucesso.
Um conjunto de dados reais de Recursos Hídricos foi selecionado para a efetiva
implementação do banco de dados. Estes dados incluíram coordenadas geográficas, e
informações não espaciais de bacias hidrográficas, açudes e municípios. Foram realizados
vários tipos de consultas neste banco de dados, e algumas delas foram implementadas de
forma visual, na Interface.
170
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
6.3.2 Adaptação ao Oracle 9i
Para a implementação do banco de dados geográfico, utilizamos o pacote Oracle Spatial do
Oracle 9i Database [Ora02] e adaptamos a geração das consultas SQL para a especificação da
linguagem do Oracle.
Para implementação do tipo Geometria, o Oracle Spatial apresenta um esquema, o
MDSYS, que define o armazenamento, a sintaxe e a semântica dos tipos geométricos a que dá
suporte, como também os mecanismos de indexação espacial e funções espaciais.
Os tipos geométricos permitidos no Oracle Spatial 9i são compatíveis com a
especificação do Open GIS [OGC99a]. Os relacionamentos topológicos oferecidos pela
implementação Oracle são mostrados na Figura 6.4.
Figura 6.4 - Relacionamentos Topológicos do Oracle Spatial 9i [Ora02]
Alguns relacionamentos que foram definidos para a linguagem GeoVisualQL não são
oferecidos por esta versão do Oracle, como por exemplo, o relacionamento Crosses e suas
variações. O relacionamento Within, do GeoVisualQL, pode ser substituído pelo uso do
INSIDE e do COVEREDBY, ilustrados na Figura 6.4.
6.3.2.1 Tipo Geometria do Oracle e seus Métodos
O Oracle Spatial 9i define um tipo geometria, dentro do esquema MDSYS, chamado de
SDO_GEOMETRY, como:
171
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
CREATE TYPE sdo_geometry AS OBJECT (
SDO_GTYPE NUMBER,
SDO_SRID NUMBER,
SDO_POINT SDO_POINT_TYPE,
SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,
SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY);
onde, SDO_GTYPE define o tipo da geometria,
SDO_SRID define o Sistema de Referencia Espacial,
SDO_POINT é utilizado em casos especiais quando os dois
próximos campos são vazios. Armazena as
coordenadas do ponto.
SDO_ELEM_INFO define a forma de leitura dos pontos
armazenados em SDO_ORDINATE_ARRAY.
SDO_ORDINATES armazena as coordenadas da geometria.
e os tipos auxiliares:
CREATE TYPE
X
Y
Z
CREATE TYPE
CREATE TYPE
sdo_point_type AS OBJECT (
NUMBER,
NUMBER,
NUMBER);
sdo_elem_info_array AS VARRAY (1048576) of NUMBER;
sdo_ordinate_array AS VARRAY (1048576) of NUMBER;
Ao incluirmos as características de uma feição geográfica, definimos um campo
pertencente ao tipo definido MDSYS.SDO_GEOMETRY que armazena todas as informações
da geometria, como também, utiliza os métodos que facilitam o uso deste tipo.
De todos os operadores especiais implementados dentro do pacote Oracle Spatial, um
deles parece suprir as necessidades dos operadores de GeoVisualQL de origem topológica,
que é o operador SDO_RELATE.
A sintaxe geral do operador SDO_RELATE é a seguinte:
SDO_RELATE(geometry1, geometry2,’mask = <tipo_do_relacionamento>
querytype = <tipo_da_consulta>’) = ’TRUE’
SDO_RELATE define se duas geometrias interagem entre si de um modo específico,
ou não. Os modos de interação, entre essas geometrias, permitidos pelo operador são uma
combinação de um ou mais dos seguintes relacionamentos 9IM padrões [Ora02]: TOUCH,
OVERLAPBDYDISJOINT, OVERLAPBDYINTERSECT, EQUAL, INSIDE, COVEREDBY,
CONTAINS, COVERS, ANYINTERACT, ON.
Estes operadores foram visualmente
apresentados na Figura 6.4.
172
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Algumas dessas relações topológicas são homônimas aos operadores definidos para a
GeoVisualQL, outras, apesar de ter outros nomes, têm a mesma funcionalidade. Por exemplo,
OVERLAPBDYINTERSECT pode ser usado no lugar do operador Overlaps da GeoVisualQL.
Os operadores INSIDE e COVEREDBY podem ser usados juntos para simular a função do
operador Within da GeoVisualQL.
Também se pode usar algumas funções de geometria que estão definidas neste pacote
Oracle. Estas funções de geometria podem ser usadas para fazer a efetiva tradução dos
operadores de conjunto de GeoVisualQL, para a linguagem SQL. A sintaxe dessas funções
está mostrada a seguir, onde dim1 e dim2 são os parâmetros de dimensão das duas
geometrias, e são obtidos da tabela de metadados do Oracle [Ora02] denominada
USER_SDO_GEOM_METADATA, que armazena as informações básicas das entidades que
possuem características de geometria. Sintaxe das funções de geometria do Oracle:
SDO_GEOM.SDO_DIFFERENCE(
geom1 IN MDSYS.SDO_GEOMETRY,
dim1 IN MDSYS.SDO_DIM_ARRAY,
geom2 IN MDSYS.SDO_GEOMETRY,
dim2 IN MDSYS.SDO_DIM_ARRAY
) RETURN MDSYS.SDO_GEOMETRY;
SDO_GEOM.SDO_UNION(
geom1 IN MDSYS.SDO_GEOMETRY,
dim1 IN MDSYS.SDO_DIM_ARRAY,
geom2 IN MDSYS.SDO_GEOMETRY,
dim2 IN MDSYS.SDO_DIM_ARRAY
) RETURN MDSYS.SDO_GEOMETRY;
SDO_GEOM.SDO_INTERSECTION(
geom1 IN MDSYS.SDO_GEOMETRY,
dim1 IN MDSYS.SDO_DIM_ARRAY,
geom2 IN MDSYS.SDO_GEOMETRY,
dim2 IN MDSYS.SDO_DIM_ARRAY
) RETURN MDSYS.SDO_GEOMETRY;
6.4 Modelagem da Aplicação
A aplicação-exemplo da área de Hidrologia, consta de apenas três tipos de feições:
bacia_hidrografica, municipios e açudes . Para os dados destas feições utilizou-se dados de
173
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
latitude e longitude reais do Estado do RN, obtidos da Empresa de Pesquisa Agropecuária do
Rio Grande do Norte S/A.
De acordo com a especificação Oracle 9i, as seguintes Tabelas, 6.2, 6.3 e 6.4 foram
criadas, segundo os scripts em anexo no Apêndice D.
BACIAS_FID
VARCHAR(256)
NAME
BACIAS_NUM_PONTOS
VARCHAR(256)
INTEGER
MUNICIPIOS_FID
NAME
BACIAS_FID
VARCHAR(256)
VARCHAR(256)
INTEGER
Id. da Bacia Hidrografica
Nome da Bacia
Número de Pontos de
coordenadas
BACIAS_EXTENSAO
REAL
Extensão da Bacia em Km 2
BACIAS_PERCENTAGEM
REAL
Percentagem da Bacia em
relação ao Estado do RN
BACIAS_NUM_ACUDES
INTEGER
Número de açudes relevantes
da bacia
BACIAS_VOL_AGUA
REAL
Volume de água total da
Bacia
GM_SHAPE
MDSYS.SDO_GEOMETRY
Tipo Geometria Oracle
Tabela 6.2 Tabela de Bacias Hidrográficas
MUNICIPIOS_POPULACAO REAL
MUNICIPIOS_NUM_
REAL
PONTOS
GM_SHAPE
MDSYS.SDO_ GEOMETRY
Tabela 6.3 Tabela de Municípios
ACUDES_FID
NAME
BACIAS_FID
VARCHAR(256)
VARCHAR(256)
INTEGER
MUNICIPIOS_FID
REAL
ACUDES_RIO_BARRADO
ACUDES_CAPACIDADE
GM_SHAPE
REAL
INTEGER
MDSYS.SDO_GEOMETRY
Tabela 6.4 Tabela de Açudes
Identificador do Município
Nome da Município
Bacia onde ele se encontra
total ou parcialmente
População do Município
Número de Pontos de
coordenadas do Município
Tipo Geometria Oracle
Identificador do Açude
Nome do Açude
Bacia a que o Açude
pertence
Município ao qual o açude
pertence
Nome do Rio barrado
Capacidade do Açude
Tipo Geometria Oracle
De acordo com a especificação SQL do Oracle Spatial, e considerando as tabelas de
feições da aplicação, definem-se a seguir exemplos da geração das sentenças SQL.
174
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Considere o seguinte cenário onde a aplicação de hidrologia está em uso. Na aplicação, cada
feição geográfica possui um tipo de geometria e, possivelmente, um símbolo visual específico
para a mesma. Desta forma, na interface, para cada tipo geométrico dos símbolos visuais
básicos, encontram-se disponíveis as feições geográficas que foram definidas para o mesmo.
Estas informações são encontradas pelo sistema através dos arquivos de descrição de
metadados de cada aplicação. Os arquivos de metadados que o sistema utiliza estão no
formato do padrão FGDC, e se encontram descritos em XML (eXtensible Markup Language)
[XML02]. Para cada feição geográfica existente na aplicação são descritas informações como:
o nome da tabela, o tipo da geometria desta feição e o nome da imagem no formato GIF que
irá representar o objeto pictórico dentro da aplicação. O usuário pode então construir suas
consultas utilizando, por exemplo, os objetos pictóricos específicos da hidrologia, fazendo ou
não uma associação com alguma possível instância, ou pode utilizar os símbolos visuais
básicos da linguagem, tais como ponto, linha e polígono, juntamente com os operadores
espaciais disponíveis na interface. A descrição completa das feições geográficas utilizadas
neste protótipo, descritas em XML, são mostradas no Apêndice E.
6.4.1 Utilizando os metadados
Para cada feição geográfica, identifica-se uma seção do padrão FGDC chamada ENTITYTYPE, e uma sub-seção, ENTITY_LABEL, que em XML são identificadas respectivamente
por: enttyp e enttypl. Estas seções identificam o nome da feição, que se refere também ao
nome da tabela onde a mesma se encontra definida. Dentro de cada definição de entidade,
definem-se os atributos que a compõem, através das subseções denominadas ATTRIBUTE,
ATTRIBUTE_LABEL, ATTRIBUTE_DEFINITION, entre outras. Em XML estas subseções
estão representadas respectivamente por: attr, attrlabl, attrdef. Cada attr define um atributo.
Cada feição possui os seguintes atributos básicos: NAME, GEOMETRY-TYPE, IMAGE_GIF
e GM_SHAPE, e outros atributos que são específicos para a mesma. O atributo NAME
identifica o nome da instância, o atributo GEOMETRY_TYPE identifica o tipo da geometria
que está associada àquela feição, o atributo IMAGE_GIF indica o caminho do arquivo
contendo o símbolo visual que representa o objeto pictórico da feição, e o atributo
GM_SHAPE é o tipo geometria definido pelo Oracle. Os atributos GEOMETRY_TYPE e
IMAGE_GIF não estão efetivamente armazenados no banco de dados. São atributos que
175
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
fornecem informações para que o sistema possa compor a interface, e auxiliam à geração das
sentenças SQL.
A descrição completa das feições implementadas neste protótipo se encontra no Apêndice E.
A seguir, apresentamos um resumo da descrição da feição bacia hidrográfica, em XML:
<enttyp >
<enttypl>Bacias </enttypl>
<enttypd>Entidade Geográfica Bacias Hidrograficas do
Estado do RN e seus atributos </enttypd >
<enttypds>none </enttypds>
</enttyp>
<attr>
<attrlabl>IMAGE_GIF </attrlabl>
<attrdef >Nome do Arquivo que Representa a
Entidade </attrdef >
<attrdefs>GIF </attrdefs >
- <attrdomv >
<udom> ~GeoVisual/GIFS/Bacia.GIF </udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GM_SHAPE </attrlabl>
<attrdef >Tipo Geometria implementado no Oracle
9i</attrdef >
<attrdefs>MDSYS.SDO_GEOMETRY </attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
A identificação da imagem representativa do objeto pictórico do atributo IMAGE_GIF não é
obrigatória. Cabe ao projetista decidir se vai inserir esta imagem em sua especificação ou não.
Para as feições geográficas que não possuem objetos pictóricos previamente definidos, os
símbolos visuais básicos da linguagem podem ser usados, de acordo com o tipo de geometria
definida para esta feição, definida no atributo GEOMETRY_TYPE.
Através das informações de metadados, as informações de conteúdo do banco de dados estão
disponíveis ao usuário. Pelas representações visuais que fazem parte da interface, o usuário
obtém informações a respeito de quais tipos de feições geográficas estão implementadas para
uma determinada aplicação, inclusive com o tipo de sua geometria.
176
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
6.4.2 Exemplos das Sentenças SQL geradas
Ao usarmos os operadores de topologia da GeoVisualQL, as sentenças SQL geradas
equivalentes para a implementação do Oracle são as seguintes:
a) Equals, Touches, Disjoints e Overlaps
SELECT Feicao1.GM_SHAPE, Feicao2.GM_SHAPE
FROM Feicao1, Feicao2
WHERE SDO_RELATE(Feicao1.GM_SHAPE, Feicao2.GM_SHAPE ,
'mask=EQUAL querytype=WINDOW') = 'TRUE'
SELECT Feicao1.GM_SHAPE, Feicao2.GM_SHAPE
FROM Feicao1, Feicao2
WHERE SDO_RELATE(Feicao1.GM_SHAPE,Feicao2.GM_SHAPE,
'mask= TOUCH querytype=WINDOW') = 'TRUE'
SELECT Feicao1.GM_SHAPE, Feicao2.GM_SHAPE
FROM Feicao1, Feicao2
WHERE SDO_RELATE(Feicao1.GM_SHAPE,Feicao2.GM_SHAPE ,
'mask=DISJOINT querytype=WINDOW') = 'TRUE'
SELECT Feicao1.GM_SHAPE, Feicao2.GM_SHAPE
FROM Feicao1, Feicao2
WHERE SDO_RELATE(Feicao1.GM_SHAPE,Feicao2.GM_SHAPE ,
'mask=OVERLAPBDYINTERSECT querytype=WINDOW') = 'TRUE'
b) Within e Contains
SELECT Feicao1.GM_SHAPE, Feicao2.GM_SHAPE
FROM Feicao1, Feicao2
WHERE SDO_RELATE(Feicao1.GM_SHAPE,Feicao2.GM_SHAPE ,
'mask=INSIDE+COVEREDBY querytype=WINDOW') = 'TRUE'
SELECT Feicao1.GM_SHAPE, Feicao2.GM_SHAPE
FROM Feicao1, Feicao2
WHERE SDO_RELATE(Feicao1.GM_SHAPE,Feicao2.GM_SHAPE ,
'mask=CONTAINS+COVERS querytype=WINDOW') = 'TRUE'
Para os operadores de conjunto definidos para a GeoVisualQL a geração das sentenças SQL
são as seguintes:
177
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
a) Intersection
SELECT SDO_GEOM.SDO_INTERSECTION( A.GM_SHAPE, m.diminfo,
B.GM_SHAPE, m.diminfo)
FROM Feicao1 A, Feicao2 B, USER_SDO_GEOM_METADATA m
b) Difference
SELECT SDO_GEOM.SDO_DIFFERENCE( A.GM_SHAPE, m.diminfo,
B.GM_SHAPE, m.diminfo)
FROM Feicao1 A, Feicao2 B, USER_SDO_GEOM_METADATA m
c) Union
SELECT SDO_GEOM.SDO_UNION( A.GM_SHAPE, m.diminfo,
B.GM_SHAPE, m.diminfo)
FROM Feicao1 A, Feicao2 B, USER_SDO_GEOM_METADATA m
6.5 Considerações sobre GML
O OpenGIS define uma linguagem, a Geography Markup Language (GML), que utiliza a
codificação XML para permitir o transporte e o armazenamento de informações geográficas
incluindo tanto as propriedades espaciais como as não espaciais das feições geográficas
[GML02].
Apesar da linguagem GML ter sido definida pelo próprio OpenGIS, especificação que
foi adotada na definição do Sistema GeoVisual, foi decidido utilizar a linguagem XML da
forma como o próprio padrão FGDC definiu. Pela descrição de metadados do FGDC, o uso
do XML é auxiliado pela ferramenta TKME [Sch02]. Além disso, o protótipo do sistema
GeoVisual está baseado também neste padrão de metadados.
6.6 Exemplo de Utilização da GeoVisualQL
Considerando a aplicação de hidrologia que foi descrita na seção 6.4, seja o seguinte cenário,
onde um usuário deseja realizar uma consulta do tipo:
“Quais os Municípios que se sobrepõem à Bacia Hidrográfica de Curimataú?¨
A elaboração da consulta visual segue os seguintes passos:
178
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
1. Inicialmente, o usuário seleciona os símbolos visuais da GeoVisualQL disponíveis na
interface, que melhor possam representar as feições geográficas envolvidas na
consulta.
2. Ao selecionar o símbolo visual polígono, o usuário conta, na interface, com os objetos
pictóricos, cujas feições geográficas foram definidas para este tipo de geometria, e que
fazem parte da Interface GeoVisual. Cita-se, por exemplo, alguns anteriormente
definidos, tais como: Bacia e Município. O usuário, então, seleciona o objeto
pictórico da feição geográfica Bacia Hidrográfica identificando a instância de
‘Curimataú’. Depois disso, seleciona o objeto pictórico da feição Município e o
posiciona também na área de consulta sem necessitar identificar a instância, uma vez
que a consulta não especifica um Município individual.
3. Após serem identificados os dois operandos da consulta, o símbolo visual que
representa o operador espacial Overlaps é selecionado e agrupado junto com os
objetos pictóricos da consulta, resultando na seguinte sentença de consulta visual,
ilustrada na Figura 6.5.
Figura 6.5 – Exemplo de uma Consulta Visual válida
179
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Ao submeter esta consulta, a interface a valida e passa o processamento para o tradutor,
que gera a sentença de consulta textual, na linguagem SQL como mostrado na próxima seção.
6.6.1 Sentença SQL Equivalente
De acordo com a especificação visual da consulta, as feições e uma de suas instâncias estão
especificadas, de modo que a consulta SQL gerada tem o seguinte formato:
SELECT MUNICIPIOS1.GM_SHAPE
FROM MUNICIPIOS MUNICIPIOS1 , BACIAS BACIAS2
WHERE BACIAS2.NAME Like '%CURIMATAU%'
AND
SDO_RELATE( BACIAS2.GM_SHAPE , MUNICIPIOS1.GM_SHAPE ,
'mask=OVERLAPBDYINTERSECT querytype=WINDOW' ) = 'TRUE'
Observa-se que o resultado da sentença SQL gerada obtém as geometrias dos objetos,
representada pelo atributo GM_SHAPE. Isto se deve ao fato que não desejamos apenas um
resultado booleano (TRUE ou FALSE), desejamos que, caso o resultado seja satisfatório, ou
seja, se os municípios se sobrepõem à Bacia de Curimataú, possamos obter as geometrias dos
mesmos. Ao final, obtém-se o resultado gráfico da consulta. Caso a consulta topológica
retorne valor negativo, a consulta visual não retorna nada.
6.6.2 Resultado da Consulta
A Figura 6.3 mostra a Janela de Apresentação da Interface GeoVisual. Nela apresenta-se o
resultado da consulta de forma visual. Também se pode visualizar a consulta SQL gerada por
uma janela adicional. Para o caso da consulta mostrada na seção anterior, o resultado da
execução da mesma está ilustrado na Figura 6.6.
180
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
Figura 6.6 – Resultado da Consulta Visual
Observe que, pelo resultado da consulta obtida, toma-se conhecimento das geometrias
de dois municípios que sobrepõem a ‘Bacia de Curimataú’ que, neste caso, são os municípios
de ‘Nova Cruz’ e ‘Pedro Velho’.
6.7 Análise Crítica do Protótipo GeoVisual
Em GeoVisualQL, a apresentação do resultado da consulta é ainda bastante primitiva,
apresenta poucas informações e nenhuma contextualização. Alguns conceitos adicionais de
apresentação de resultados de consultas foram analisados ([Cam95]) e precisam ser
acrescentados à linguagem.
A linguagem GeoVisualQL ainda precisa:
•
Apresentar o resultado da consulta de forma contextualizada, ou seja, dentro de
um contexto geográfico, com a sua apropriada localização;
•
Apresentar opções ao usuário de definir tipo da cor e/ou da textura de cada*
resultado obtido de sua consulta;
181
Capítulo 6 – Implementação do Sistema GeoVisual
________________________________________________________________________________________________
•
Em caso de consultas que sejam resultados de uma junção espacial, apresentar cada
conjunto de valores em janelas diferentes ou, caso sejam apresentadas em uma
mesma janela, em cores e/ou texturas diferentes;
Um aspecto importante de pesquisa analisa a melhor maneira de se manipular com
múltiplas representações em SIG [DL99, Dav00]. Múltiplas representações em SIG é
realidade em diversos tipos de aplicações e não podem ser desprezados no projeto de novos
sistemas. Atualmente o Sistema GeoVisual não permite, da maneira como está especificado, a
manipulação de múltiplas representações de feições geográficas. Mas, existe uma maneira
viável de se trabalhar com múltiplas representações em GeoVisual através da própria
descrição de metadados. A partir da criação de atributos adicionais, ou mesmo de tags XML,
o sistema poderia identificar a existência de múltiplas representações para uma dada feição.
Para a manipulação dessas informações múltiplas na interface algumas restrições,
provavelmente, necessitariam ser definidas.
6.8 Conclusão
O Sistema GeoVisual é um ambiente de consultas visuais para bancos de dados geográficos
que foi proposto com o propósito de facilitar a interação do usuário com as linguagens de
consultas específicas para este tipo de dados, uma vez que as mesmas possuem construções
sintáticas muito complexas que muitas vezes confundem o usuário. Um outro objetivo
importante de GeoVisual é o de informar, de maneira visual, o conteúdo do banco de dados
que se encontra disponível para consultas. Desta maneira, um usuário casual, que desconhece
as informações de uma determinada aplicação, é informado dos tipos de feições geográficas
que estão disponíveis no banco, ao mesmo tempo em que pode utilizar estas informações
para formular suas consultas, utilizando os operadores disponíveis.
Foi implementado um protótipo do sistema a fim de validar as principais idéias
propostas, desde a elaboração da consulta visual pelo usuário, até a obtenção do resultado da
consulta, também de forma visual.
182
Capítulo 7 – Contribuições e Trabalhos Futuros
________________________________________________________________________________________________
CAPÍTULO 7
CONTRIBUIÇÕES E T RABALHOS FUTUROS
“Não creia no que os seus olhos lhe dizem.
Tudo que mostram é limitação. Olhe com o
entendimento, olhe além dos sentidos, do
intelecto e da mente”.
Richard Bach
7.1 I NTRODUÇÃO
As aplicações de SIG vêm demonstrando uma crescente necessidade de desenvolvimento de
novas opções de linguagens de consultas. Por serem bastante complexos e diversificados,
dados geográficos têm uma característica inerentemente visual devido a sua topologia e
referência espacial, além de suas dimensões. O uso de linguagens de consultas visuais em SIG
tem sido objeto de pesquisa nos últimos anos [BM95, BAT00, BE00] e se destaca devido a
sua maior facilidade de uso em relação às linguagens de consultas textuais tradicionais.
O Sistema GeoVisual apresenta um Ambiente de Consultas Visuais para Bancos de
Dados Geográficos, que oferece como características adicionais aos outros sistemas: (1)
Define símbolos visuais para geometrias de entidades geográficas, e para os operadores da
linguagem de consulta e os disponibiliza na interface; (2) Define formalmente uma linguagem
de consulta visual GeoVisualQL que é baseada na especificação do padrão Open GIS
[OGC99a] e possui operadores espaciais de topologia, de conjuntos e operadores lógicos; (3)
Faz a efetiva tradução para a linguagem textual baseada em SQL; (4) Define operadores de
topologia à linguagem que seguem a especificação 9IM [Ege91]; (5) Apresenta uma interface
183
Capítulo 7 – Contribuições e Trabalhos Futuros
________________________________________________________________________________________________
para a linguagem baseada em informações de metadados, e portanto, extensível a novas
aplicações.
7.2 C ONTRIBUIÇÕES DO TRABALHO
Como resultado final desse trabalho podemos citar principalmente:
1. Definição da Arquitetura do Sistema Geovisual, com a descrição funcional de
seus módulos componentes.
2. Definição gramatical de uma Linguagem de Consulta Visual para Dados
Geográficos, a GeoVisualQL.
3. Definição do Processo de Tradução da GeoVisualQL para a linguagem de
consulta baseada em SQL da especificação OGC, utilizando metadados FGDC.
4. Disponibilização, na Interface, das funcionalidades definidas para a linguagem.
5. Implementação de um protótipo para validação do sistema GeoVisual,
utilizando o Oracle Spatial 9i .
7.3 Trabalhos Futuros
Como trabalhos, a serem realizados no futuro, sugere-se:
1. Extensão do Sistema GeoVisual de modo a:
a. Permitir novos tipos de operadores, tais como operadores métricos e
direcionais.
b. Permitir que atributos não espaciais possam ser identificados pelo usuário de
modo à obtenção de resultados mais específicos.
c. Visualizar os resultados da consulta dentro de um contexto geral onde as
informações se situam.
d. Permitir que atributos de edição do resultado das consultas, tais como cor e
textura, possam ser selecionados pelo usuário de modo à obtenção de uma
melhor apresentação deste resultado.
e. Apresentar informações em forma de gráficos, de modo a complementar o
resultado visual.
184
Capítulo 7 – Contribuições e Trabalhos Futuros
________________________________________________________________________________________________
f. Implementar múltiplas representações para feições geográficas.
2. Extensão do Sistema GeoVisual de modo a que ferramentas de descrição de
metadados e de criação de símbolos visuais se incorporem ao núcleo do sistema,
facilitando o trabalho do projetista.
7.4 Conclusão
O projeto do Sistema GeoVisual - Ambiente de Consultas Visuais em Bancos de Dados
Geográficos, surgiu da percepção da necessidade de uma linguagem de consulta visual e
informativa para este tipo de dados. Visual porque utiliza símbolos visuais, ou ícones,
representativos de feições, ou entidades geográficas. Informativa porque através dessa
característica visual, informa ao usuário a respeito do conteúdo dos dados que fazem parte de
uma dada aplicação.
Através do uso de informações de metadados, a interface se torna adaptável a cada
aplicação, de modo que os objetos pictóricos disponíveis na interface, para uso na elaboração
de consultas ao sistema, sejam específicos a cada uma delas.
Apesar de existirem, na literatura, algumas propostas de Sistemas de Consultas Visuais
projetados para serem usados em SIG, como os citados no Capítulo 4, o Sistema GeoVisual se
propõe a integrar duas áreas de pesquisa – o paradigma de consultas visuais e os padrões de
metadados espaciais - que têm sido pouco utilizadas em conjunto. A especificação do padrão
Open GIS [OGC99a, OGC99b] foi utilizada na concepção da linguagem de consulta
GeoVisualQL, que foi formalmente definida utilizando-se um formalismo apropriado
[Gol91]. O Sistema GeoVisual, permite que os usuários submetam suas consultas visuais
através de uma interface apropriada, converte a sentença de consulta visual para uma
sentença de consulta textual em SQL, e realiza a busca efetiva ao banco de dados geográfico
de forma transparente ao usuário.
185
Apêndice A – Exemplo de Descrição dos Metadados de Hidrologia pelo FGDC
________________________________________________________________________________________________
APÊNDICE A
E XEMPLO DE DESCRIÇÃO DOS METADADOS DE
HIDROLOGIA PELO PADRÃO FGDC
// Descrição de Metadados dos Dados da Aplicação de Hidrologia, através da Tabela
// de Metadados GEOMETRY_COLUMNS do OpenGIS [OGC98b].
Identification_Information:
Citation:
Citation_Information:
Originator: Valéria Goncalves Soares
Publication_Date: 10012002
Title: Feicoes Geográficas de Hidrologia
Description:
Abstract: Estes dados descrevem as feicoes geograficas modeladas na aplicacao de
hidrologia, e suas tabelas OpenGIS.
Purpose: Tem como objetivo orientar a busca de informacoes nestas tabelas, atraves de
consultas visuais.
Time_Period_of_Content:
Time_Period_Information:
Single_Date/Time:
Calendar_Date: 10012002
Currentness_Reference: publication date
Status:
Progress: in work
Maintenance_and_Update_Frequency: Daily
Spatial_Domain:
Bounding_Coordinates:
West_Bounding_Coordinate: 12
East_Bounding_Coordinate: 22
North_Bounding_Coordinate: 33
South_Bounding_Coordinate: 44
Keywords:
Theme:
Theme_Keyword_Thesaurus: none
Theme_Keyword: hidrologia
Access_Constraints: none
Use_Constraints: none
Entity_and_Attribute_Information:
Detailed_Description:
186
Apêndice A – Exemplo de Descrição dos Metadados de Hidrologia pelo FGDC
________________________________________________________________________________________________
Entity_Type:
Entity_Type_Label: Bacias
Entity_Type_Definition: Entidade Geográfica Bacias Hidrograficas do Estado do RN
Entity_Type_Definition_Source: none
Attribute:
Attribute_Label: F_TABLE_CATALOG
Attribute_Definition: Catalogo da Entidade Bacias
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: UFPE
Attribute:
Attribute_Label: F_TABLE_SCHEMA
Attribute_Definition: Esquema da Entidade Bacias
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: Hidrologia
Attribute:
Attribute_Label: F_TABLE_NAME
Attribute_Definition: Nome da Tabela de Bacias no BD
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: BACIAS
Attribute:
Attribute_Label: F_GEOMETRY_COLUMN
Attribute_Definition: Nome da Coluna de Geometria dentro da Tabela de Bacias
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: BACIAS_GM_COL
Attribute:
Attribute_Label: G_TABLE_CATALOG
Attribute_Definition: Catalogo da Tabela de Geometrias de Bacias
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: UFPE
Attribute:
Attribute_Label: G_TABLE_SCHEMA
Attribute_Definition: Esquema da Tabela de Geometrias das Bacias
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: Geometrias
Attribute:
Attribute_Label: G_TABLE_NAME
Attribute_Definition: Nome da tabela de Geometrias das Bacias
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: GM_BACIAS
Attribute:
Attribute_Label: GEOMETRY_TYPE
Attribute_Definition: Tipo da Geometria Utilizada
187
Apêndice A – Exemplo de Descrição dos Metadados de Hidrologia pelo FGDC
________________________________________________________________________________________________
Attribute_Definition_Source: none
Attribute_Domain_Values:
Enumerated_Domain:
Enumerated_Domain_Value: INTEGER
Enumerated_Domain_Value_Definition: Numeros inteiros representativos das
geometrias 1=point, 3=linestring, e 5=polygon
Enumerated_Domain_Value_Definition_Source: 5
Attribute:
Attribute_Label: IMAGE_GIF
Attribute_Definition: Nome da imagem que representa a entidade
Attribute_Definition_Source: GIF
Attribute_Domain_Values:
Unrepresentable_Domain: ~/GIFS/BACIAS.GIF
Detailed_Description:
Entity_Type:
Entity_Type_Label: ACUDES
Entity_Type_Definition: Entidade Geográfica Acudes do Estado do Rio Grande do Norte
Entity_Type_Definition_Source: none
Attribute:
Attribute_Label: F_TABLE_CATALOG
Attribute_Definition: Catalogo da Entidade Acudes
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: UFPE
Attribute:
Attribute_Label: F_TABLE_SCHEMA
Attribute_Definition: Esquema da Entidade Acudes
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: Hidrologia
Attribute:
Attribute_Label: F_TABLE_NAME
Attribute_Definition: Nome da Tabela de Acudes no BD
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: ACUDES
Attribute:
Attribute_Label: F_GEOMETRY_COLUMN
Attribute_Definition: Nome da Coluna de Geometria dentro da Tabela de Acudes
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: ACUDES_GM_COL
Attribute:
Attribute_Label: G_TABLE_CATALOG
Attribute_Definition: Catalogo da Tabela de Geometrias de Acudes
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: UFPE
Attribute:
188
Apêndice A – Exemplo de Descrição dos Metadados de Hidrologia pelo FGDC
________________________________________________________________________________________________
Attribute_Label: G_TABLE_SCHEMA
Attribute_Definition: Esquema da Tabela de Geometrias dos Acudes
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: Geometrias
Attribute:
Attribute_Label: G_TABLE_NAME
Attribute_Definition: Nome da tabela de Geometrias dos Acudes
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: GM_ACUDES
Attribute:
Attribute_Label: GEOMETRY_TYPE
Attribute_Definition: Tipo da Geometria Utilizada
Attribute_Definition_Source: none
Attribute_Domain_Values:
Enumerated_Domain:
Enumerated_Domain_Value: INTEGER
Enumerated_Domain_Value_Definition: Numeros inteiros representativos das
geometrias 1=point, 3=linestring, e 5=polygon
Enumerated_Domain_Value_Definition_Source: 1
Attribute:
Attribute_Label: IMAGE_GIF
Attribute_Definition: Nome da imagem que representa a entidade
Attribute_Definition_Source: GIF
Attribute_Domain_Values:
Unrepresentable_Domain: ~/GIFS/ACUDES.GIF
Detailed_Description:
Entity_Type:
Entity_Type_Label: Municipios
Entity_Type_Definition: Entidade Geográfica Municipios do Estado do Rio Grande do
Norte
Entity_Type_Definition_Source: none
Attribute:
Attribute_Label: F_TABLE_CATALOG
Attribute_Definition: Catalogo da Entidade Municipios
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: UFPE
Attribute:
Attribute_Label: F_TABLE_SCHEMA
Attribute_Definition: Esquema da Entidade Municipios
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: Hidrologia
Attribute:
Attribute_Label: F_TABLE_NAME
Attribute_Definition: Nome da Tabela de Municipios no BD
Attribute_Definition_Source: none
189
Apêndice A – Exemplo de Descrição dos Metadados de Hidrologia pelo FGDC
________________________________________________________________________________________________
Attribute_Domain_Values:
Unrepresentable_Domain: MUNICIPIOS
Attribute:
Attribute_Label: F_GEOMETRY_COLUMN
Attribute_Definition: Nome da Coluna de Geometria dentro da Tabela de Municipios
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: MUNICIPIOS_GM_COL
Attribute:
Attribute_Label: G_TABLE_CATALOG
Attribute_Definition: Catalogo da Tabela de Geometrias de Municipios
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: UFPE
Attribute:
Attribute_Label: G_TABLE_SCHEMA
Attribute_Definition: Esquema da Tabela de Geometrias dos Municipios
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: Geometrias
Attribute:
Attribute_Label: G_TABLE_NAME
Attribute_Definition: Nome da tabela de Geometrias dos Municipios
Attribute_Definition_Source: none
Attribute_Domain_Values:
Unrepresentable_Domain: GM_MUNICIPIOS
Attribute:
Attribute_Label: GEOMETRY_TYPE
Attribute_Definition: Tipo da Geometria Utilizada
Attribute_Definition_Source: none
Attribute_Domain_Values:
Enumerated_Domain:
Enumerated_Domain_Value: INTEGER
Enumerated_Domain_Value_Definition: Numeros inteiros representativos das
geometrias 1=point, 3=linestring, e 5=polygon
Enumerated_Domain_Value_Definition_Source: 5
Attribute:
Attribute_Label: IMAGE_GIF
Attribute_Definition: Nome da imagem que representa a entidade
Attribute_Definition_Source: GIF
Attribute_Domain_Values:
Unrepresentable_Domain: ~/GIFS/MUNICIPIOS.GIF
Metadata_Reference_Information:
Metadata_Date: 10012002
Metadata_Contact:
Contact_Information:
Contact_Person_Primary:
Contact_Person: Valeria Goncalves Soares
Contact_Organization: EMPARN/UFPE
190
Apêndice A – Exemplo de Descrição dos Metadados de Hidrologia pelo FGDC
________________________________________________________________________________________________
Contact_Address:
Address_Type: Comercial
Address: Rua Prof. Luis Freire, S/N
City: Recife
State_or_Province: PE
Postal_Code: 51021-550
Country: Brazil
Contact_Voice_Telephone: (81) 3271-8430
Metadata_Standard_Name: FGDC
Metadata_Standard_Version: 2
191
Apêndice B - Definição da Gramática de GeoVisualQL
________________________________________________________________________________________________
APÊNDICE B
DEFINIÇÃO DA G RAMÁTICA DE GEOV ISUALQL
---
Este arquivo consiste da definição da gramática da linguagem de
-- consultas visuais para dados geográficos, GeoVisualQL.
---- DECLARATION SECTION
--- Primeiro, definem-se quais são os símbolos terminais e não terminais da
-- linguagem .
---
Tipos das Geometrias
%terminal ponto
%terminal linha
%terminal polígono
--- Na linguagem, além das representações geométricas das entidades
-- geográficas modeladas, também os operadores espaciais são
-- representados visualmente, e, portanto, fazem parte dos símbolos terminais da
-- linguagem, que constituem uma consulta.
---
Operadores Espaciais Topológicos
-%terminal Equals
%terminal Disjoint
%terminal Touches
%terminal Within
%terminal Overlaps
%terminal Crosses
%terminal Intersects
%terminal Contains
%terminal string
192
Apêndice B - Definição da Gramática de GeoVisualQL
________________________________________________________________________________________________
--- Operadores Espaciais
-%terminal Intersection
%terminal Difference
%terminal Union
de Conjuntos
--- Operadores Lógicos da Linguagem
-%terminal And
%terminal Or
%terminal Not
--- Os símbolos não-terminais são os formadores
--
das sentenças de consultas visuais.
%nonterminal GEOMETRY
%nonterminal LABEL
%nonterminal TOPOLOGIC_OPERATOR
%nonterminal SET_OPERATOR
%nonterminal LOGIC_OPERATOR
%nonterminal STATEMENT
%nonterminal QUERY_CLAUSE
%nonterminal SET_QUERY_CLAUSE
%nonterminal LOGIC_CLAUSE
%nonterminal AND_CLAUSE
%nonterminal AND_OPERATOR
%nonterminal OR_CLAUSE
%nonterminal OR_OPERATOR
%nonterminal NOT_CLAUSE
%nonterminal NOT_OPERATOR
%nonterminal EQUALS-CLAUSE
%nonterminal DISJOINT-CLAUSE
%nonterminal TOUCHES-CLAUSE
%nonterminal WITHIN-CLAUSE
%nonterminal OVERLAPS-CLAUSE
%nonterminal INTERSECTS-CLAUSE
%nonterminal CONTAINS-CLAUSE
%nonterminal CROSSES-CLAUSE
%nonterminal CROTHIN_CLAUSE
%nonterminal CROCHES_CLAUSE
%nonterminal CROSSOUT_CLAUSE
%nonterminal CROSSECTS_CLAUSE
%nonterminal INTERSECTION-CLAUSE
%nonterminal DIFFERENCE-CLAUSE
%nonterminal UNION-CLAUSE
193
Apêndice B - Definição da Gramática de GeoVisualQL
________________________________________________________________________________________________
--
-- Definição do símbolo inicial da linguagem
-%start STATEMENT
--- PRODUCTION SECTION
--- As geometrias a serem utilizadas nesta primeira versão da linguagem
-- GeoVisualQL serão somente as geometrias simples.
-GEOMETRY.type ⇒ ponto | linha| polígono
TOPOLOGIC_OPERATOR ⇒Equals | Disjoint | Touches| Within Overlaps | Crosses |
Intersects | Contains | Crothin | Croches | Crossout |
Crossects
SET_OPERATOR ⇒ Intersection | Difference | Union
LOGIC_OPERATOR ⇒ And | Or | Not
STATEMENT ⇒ QUERY_CLAUSE | SET_QUERY_CLAUSE
QUERY_CLAUSE ⇒EQUALS-CLAUSE| DISJOINT-CLAUSE|TOUCHESCLAUSE |
WITHIN-CLAUSE | OVERLAPS-CLAUSE |
INTERSE CTS-CLAUSE | CONTAINS-CLAUSE | CROSSES-CLAUSE |
CROTHIN_CLAUSE | CROCHES_CLAUSE | CROSSOUT_CLAUSE |
CROSSECTS_CLAUSE | LOGIC_CLAUSE
LOGIC_CLAUSE ⇒ AND_CLAUSE | OR_CLAUSE | NOT_CLAUSE
AND_CLAUSE ⇒ (QUERY_CLAUSE) And (QUERY_CLAUSE)
OR_CLAUSE ⇒ (QUERY_CLAUSE) Or (QUERY_CLAUSE)
NOT_CLAUSE ⇒ Not (QUERY_CLAUSE)
SET_QUERY_CLAUSE ⇒ INTERSECTION_CLAUSE | DIFFERENCE_CLAUSE |
UNION_CLAUSE
LABEL ⇒ string
--- As sentenças de consultas abaixo utilizando operadores topológicos, e foram
-- também descritas no Capítulo 5 dessa tese, onde pôde -se observar suas
-- representações visuais.
--
194
Apêndice B - Definição da Gramática de GeoVisualQL
________________________________________________________________________________________________
EQUALS-CLAUSE→ grouped(GEOMETRY1,Equals, GEOMETRY2)
Where
(GEOMETRY1.type = GEOMETRY2.type)
DISJOINT–CLAUSE→ grouped(GEOMETRY1,Disjoint, GEOMETRY2)
TOUCHES-CLAUSE→ grouped(GEOMETRY1,Touches, GEOMETRY2)
Where
(GEOMETRY1.type = point and GEOMETRY2.type = line) or
(GEOMETRY1.type = point and GEOMETRY2.type = polygon) or
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type = polygon) or
(GEOMETRY1.type = polygon and GEOMETRY2.type = polygon)
WITHIN-CLAUSE→ grouped(GEOMETRY1, Within, GEOMETRY2)
Where
(GEOMETRY1.type = point and GEOMETRY2.type = line) or
(GEOMETRY1.type = point and GEOMETRY2.type = polygon) or
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type = polygon) or
(GEOMETRY1.type = polygon and GEOMETRY2.type = polygon)
OVERLAPS-CLAUSE→ grouped(GEOMETRY1,Overlaps, GEOMETRY2)
Where
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = polygon and GEOMETRY2.type = polygon)
INTERSECTS-CLAUSE→ grouped (GEOMETRY1, Intersects, GEOMETRY2)
CONTAINS-CLAUSE→ grouped (GEOMETRY1, Contains, GEOMETRY2)
Where
(GEOMETRY1.type = point and GEOMETRY2.type = line) or
(GEOMETRY1.type = point and GEOMETRY2.type = polygon) or
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type = polygon) or
(GEOMETRY1.type = polygon and GEOMETRY2.type = polygon)
RELATE-CLAUSE→ grouped (GEOMETRY1, Label, Relates, GEOMETRY2)
CROSSES -CLAUSE⇒grouped(GEOMETRY1,Crosses, GEOMETRY2)
Where
(GEOMETRY1.type = line and GEOMETRY2.type = line) or
(GEOMETRY1.type = line and GEOMETRY2.type = polygon)
CROTHIN-CLAUSE⇒grouped(GEOMETRY1,Crothin,
Where
GEOMETRY2)
GEOMETRY1.type = line and GEOMETRY2.type = polygon
CROCHES-CLAUSE⇒grouped(GEOMETRY1,Croches, GEOMETRY2)
195
Apêndice B - Definição da Gramática de GeoVisualQL
________________________________________________________________________________________________
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
CROSSOUT-CLAUSE ⇒ grouped (GEOMETRY1, Crossout, GEOMETRY2)
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
CROSSECTS-CLAUSE⇒grouped(GEOMETRY1,Crossects,
GEOMETRY2)
Where
GEOMETRY1.type = line and GEOMETRY2.type = polygon
--- Consultas utilizando operadores de conjunto
--
INTERSECTION-CLAUSE ⇒ grouped(GEOMETRY1,Intersection,
GEOMETRY2)
DIFFERENCE-CLAUSE ⇒ grouped(GEOMETRY1,Difference,
GEOMETRY2)
UNION-CLAUSE ⇒ grouped(GEOMETRY1,Union,GEOMETRY2)
196
Apêndice C – Tradução da Linguagem GeoVisualQL
________________________________________________________________________________________________
APÊNDICE C
T RADUÇÃO DA LINGUAGEM GEOV ISUAL QL PARA SQL
---
Para efetivar a tradução da linguagem GeoVisualQL para o padrão SQL
-- escolhido, utilizamos definições feitas na Gramática da Linguagem.
--- Inicialmente apresentamos como modelamos os dados de Hidrologia usando o
modelo OGC
--- TABELAS BÁSICAS OPENGIS
-SPATIAL_REFS_SYS
Esta Tabela armazena os tipos de Sistema de Referência Espacial utilizados.
Nome_Atributo
SRID
AUTH_NAME
Tipo_Atributo
INTEGER NOT NULL PRIMARY
KEY
VARCHAR(256)
AUTH_SRID
INTEGER
SRTEXT
VARCHAR(2048)
Identificador único do
sistema de referencia
Nome do padrão
proprietário
Identificador dado
pelo padrão
Well_known-Text
GEOMETRY_COLUMNS
Esta Tabela armazena os dados de coordenadas da Feição
Nome_atributo
Feature_TABLE_CATALOG
Tipo_atributo
VARCHAR(256) NOT
NULL
Feature_TABLE_SCHEMA
VARCHAR(256) NOT
NULL
Feature_TABLE_NAME
VARCHAR(256) N OT
NULL
Feature_GEOMETRY_COLUMN VARCHAR(256) NOT
NULL
Geometry_TABLE_CATALOG
VARCHAR(256) NOT
NULL
Catálogo da Feição
Schema da Feição
Tabela da Feição
Coluna da Geometria
dentro da tabela
feição
Catálogo da
Geometria
197
Apêndice C – Tradução da Linguagem GeoVisualQL
________________________________________________________________________________________________
Geometry_TABLE_SCHEMA
GEOMETRY_TYPE
VARCHAR(256) NOT
NULL
VARCHAR(256) NOT
NULL
VARCHAR(256) NOT
NULL
INTEGER
COORD_DIMENSION
MAX_PPR
INTEGER NOT NULL
INTEGER
SRID
INTEGER NOT NULL
Geometry_TABLE_NAME
STORAGE_TYPE
Schema da Geometria
Tabela da Geometria
0 = normalizado
1 = binário
1 = point, 3 =
linestring, 5 =
polygon
Número de dimensões
Numero de pontos
max
ID do SR
FEATURE_TABLE
Tabela de Feições. Relacionada com as duas Tabelas anteriores.
Nome_atributo
Feature_ID
Feature_NAME
Feature_attributes …
Geometry_attributes
Tipo_atributo
INTEGER NOT NULL
VARCHAR(256) NOT NULL
Feature_attributes_types…
GID type
GEOMETRY_TABLE
Descreve uma Geometria que está sendo referenciada na Tabela de Feições
Nome_atributo
GID
ESEQ
Tipo_atributo
INTEGER NOT NULL Identificação da Geometria
INTEGER NOT NULL Identificação da Seqüência
ETYPE
INTEGER NOT NULL
SEQ
INTEGER NOT NULL
X1
Y1
…
X<MAX_PPPR>
Y<MAX_PPR>
ATTRIBUTE_NAME
ORDINATE_TYPE
ORDINATE TYPE
…
<ORDINATE_TYPE>
<ORDINATE_TYPE>
ATTRIBUTE_TYPE
de Pontos
1 = point, 2 = linestring, 3
= polygon
Identificação de (outra)
seqüência de pontos
Ponto1 x
Ponto1 y
Ultimo ponto x
Ultimo ponto y
atributo
198
Apêndice C – Tradução da Linguagem GeoVisualQL
________________________________________________________________________________________________
--- TABELAS DA APLICAÇÃO DE HIDROLOGIA DENTRO DO MODELO
OPENGIS
--
GEOMETRY_COLUMNS
F_TBL_CTGF_TBL_SCHF_TBL_NM
F_GM_COL
G_TBL_CTG G_TBL_SCHG_TBL_NM STR_TY GM_TY DIM SRID
Ufpe
Hidrologia
Bacias
Bacias_GM_COL
ufpe
Geometrias GM_Bacias
0
5
2
1
Ufpe
Hidrologia
Acudes
Acudes_GM_COL
ufpe
Geometrias GM_Acudes
0
1
2
1
Ufpe
Hidrologia Municípios Municípios_GM_COL
ufpe
Geometrias GM_Muni
0
5
2
1
BACIAS
BACIAS_FID
BACIAS_NAME
BACIAS_GM_COL
NUM_PTOS
EXTENSÃO
(KM2)
%
01
APODI_MOSSORÓ
0101
02
PIRANHAS_AÇU
0201
03
BOQUEIRÃO
0301
15
NUM_ACUDES
VOL_AGUA
(M3)
-
14276
26,8
618
469.714.600
187
17498,5
32,8
1112
3.503.853.300
250,5
0,5
0
-
GM_BACIAS
GID
ESEQ
ETYPE
SEQ
X
Y
0101
01
3
1
-35.1944
-5.7672
0101
01
3
1
-35.1943
-5.7673
0201
01
3
1
-36.2142
-5.8999
0301
01
3
1
-35.1112
-5.2000
Tabela 1 - Equivalencia de atributos entre as tabelas OpenGIS
Onde os nomes das colunas da GEOMETRY_COLUMNS são equivalentes a:
F_TBL_CTG
= FEATURE_TABLE_CATALOG
F_TBL_SCM
= FEATURE_TABLE_SCHEMA
F_TBL_NM = FEATURE_TABLE_NAME
F_GM_COL = FEATURE_GEOMETRY_COLUMN
G_TBL_CTL = GEOMETRY_TABLE_CATALOG
G_TBL_SCH = GEOMETRY_TABLE_SCHEMA
G_TBL_NM = GEOMETRY_TABLE_NAME
STR_TY
= STORAGE_TYPE
GM_TY
= GEOMETRY_TYPE
DIM
= COORDINATE_DIMENSION
SRID
= SPATIAL_REFERENCE_ID
199
Apêndice C – Tradução da Linguagem GeoVisualQL
________________________________________________________________________________________________
Acudes_FID Acudes_NAME Bacias_FID Municipios_FID Rio_Barrado Capacidade Acudes_GM_COL
001
Boqueirao
001
002
Acu
16.000
010
Tabela 2 - Tabela de Acudes com Exemplo de Instâncias
Municipios_FID Municipios_NAME Bacias_FID Populacao Num_Pontos Municipios_GM_COL
002
Acu
001
14000
134
012
Tabela 3 - Tabela de Municipios com Exemplo de Instâncias
--- Tipos de Operadores usados na Linguagem--OpTopologicoOGC = Equals | Disjoint | Touches | Within | Contains |
Overlaps | Crosses
OpConjuntoOGC = Intersection | Union | Difference
--- TRADUÇÂO DA LINGUAGEM GEOVISUALQL PARA SQL
--- Operadores Topológicos do Open GIS --Select Feicao1.GetGeometry(), Feicao2. GetGeometry()
From Feicao1, Feicao2
Where QUERY_CLAUSE
--- Operadores de Conjuntos do OpenGIS --Select SET_QUERY_CLAUSE
From Feicao1, Feicao2
--- Sentenças de Consultas Complexas com uso de Operadores Lógicos --- LOGIC_CLAUSES --
200
Apêndice C – Tradução da Linguagem GeoVisualQL
________________________________________________________________________________________________
-- Operador de Negação -- Not --Select Feicao1.GetGeometry(), Feicao2. GetGeometry(),...,
FeicaoN. GetGeometry()
From Feicao1, Feicao2,..., FeicaoN
Where NOT (QUERY_CLAUSE)
--- Operador AND --Select Feicao1.GetGeometry(), Feicao2. GetGeometry(), ..., FeicaoN.GetGeometry()
From Feicao1, Feicao2, ..., FeicaoN
Where (QUERY_CLAUSE1)
AND
(QUERY_CLAUSE2)
--- Operador OR --Select Feicao1.GetGeometry(), Feicao2. GetGeometry(), ..., FeicaoN.GetGeometry()
From Feicao1, Feicao2, ..., FeicaoN
Where (QUERY_CLAUSE1)
OR
(QUERY_CLAUSE2)
--- Traducao dos Tipos de Consultas definidos pela Gramática
--- QUERY_CLAUSES
--- Utilizando os operadores de Topologia definidos pelo OGC
-QUERY_CLAUSE = OpTopologicoOGC(Feicao1.GetGeometry(),
Feicao2.GetGeometry()) = 1
-- Utilizando os operadores de Topologia não definidos pelo OGC
---- CROTHIN -QUERY_CLAUSE = Crosses(Feicao1.GetGeometry(), Feicao2.GetGeometry())=1)
and
Within(Feicao1.GetGeometry(), Fe icao2.GetGeometry()) = 1)
201
Apêndice C – Tradução da Linguagem GeoVisualQL
________________________________________________________________________________________________
-- CROCHES -QUERY_CLAUSE = Crosses(Feicao1.GetGeometry(),Feicao2.GetGeometry())=1)
and
Touches(Feicao1.GetGeometry(),Feicao2.GetGeometry())=1)
--- SET_QUERY_CLAUSES --SET_QUERY_CLAUSE = OpConjuntoOGC(Feicao1.GetGeometry(),
Feicao2.GetGeometry())
--- FUNÇÕES AUXILIARES ---- Função Definida para selecionar as coordenadas da geometria da Feição
CREATE FUNCTION GET_GEOMETRY() ON
FEICAO
RETURN string IS gm_ordinates Geometry_Tagged_Text
BEGIN
SELECT AsText (GM_COLUMN)
INTO gm_ordinates FROM Feicao, GM_TABLE
Where Feicao.GM_COLUMN = GM_TABLE.GID;
202
Apêndice D – Descrição do Modelo de Dados no Oracle9i
________________________________________________________________________________________________
APÊNDICE D
DESCRIÇÃO DO MODELO DE DADOS NO ORACLE 9I
--- Scripts de Definições das Tabelas da Aplicação de Hidrologia no SGBD Oracle 9i
---- FEATURE
--
BACIAS
CREATE TABLE BACIAS (
BACIAS_FID
VARCHAR(256) PRIMARY KEY,
NAME
VARCHAR(256) NOT NULL,
BACIAS_NUM_PONTOS
INTEGER,
BACIAS_EXTENSAO
REAL
NOT NULL,
BACIAS_PERCENTAGEM
REAL
NOT NULL,
BACIAS_NUM_ACUDES
INTEGER,
BACIAS_VOL_AGUA
REAL,
GM_SHAPE
MDSYS.SDO_GEOMETRY
);
--- FEATURE
MUNICIPIOS
-CREATE TABLE MUNICIPIOS (
MUNICIPIOS_FID
NAME
BACIAS_FID
MUNICIPIOS_POPULACAO
MUNICIPIOS_NUM_PONTOS
GM_SHAPE
CONSTRAINT
REFERENCES BACIAS(BACIAS_FID)
);
VARCHAR(256)
PRIMARY KEY,
VARCHAR(256)
NOT NULL,
VARCHAR(256),
NUMBER,
INTEGER,
MDSYS.SDO_GEOMETRY,
BACIAS_MUNI FOREIGN KEY(BACIAS_FID)
--- FEATURE ACUDES
-CREATE TABLE ACUDES (
ACUDES_FID
NAME
BACIAS_FID
VARCHAR(256)
VARCHAR(256)
VARCHAR(256),
PRIMARY KEY,
NOT NULL,
203
Apêndice D – Descrição do Modelo de Dados no Oracle9i
________________________________________________________________________________________________
MUNICIPIOS_FID
VARCHAR(256),
ACUDES_RIO_BARRADO
VARCHAR(256),
ACUDES_CAPACIDADE
REAL,
GM_SHAPE
MDSYS.SDO_GEOMETRY,
CONSTRAINT
BACIAS_ACU FOREIGN KEY(BACIAS_FID) REFERENCES
BACIAS(BACIAS_FID),
CONSTRAINT
MUNI_ACU FOREIGN KEY(MUNICIPIOS_FID)
REFERENCES MUNICIPIOS(MUNICIPIOS_FID)
);
--
-- DEFINICOES DE METADADOS ORACLE
-INSERT INTO USER_SDO_GEOM_METADATA
VALUES(
'BACIAS',
'GM_SHAPE',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X', 0, 300, 0.00000005),
MDSYS.SDO_DIM_ELEMENT('Y', 0, 300, 0.00000005)
),
NULL
);
INSERT INTO USER_SDO_GEOM_METADATA
VALUES(
'ACUDES',
'GM_SHAPE',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X', 0, 1, 0.00000005),
MDSYS.SDO_DIM_ELEMENT('Y', 0, 1, 0.00000005)
),
NULL
);
INSERT INTO USER_SDO_GEOM_METADATA
VALUES(
'MUNICIPIOS',
'GM_SHAPE',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X', 0, 50, 0.00000005),
MDSYS.SDO_DIM_ELEMENT('Y', 0, 50, 0.00000005)
),
NULL
);
----
DEFINIÇÕES DOS ÍNDICES ESPACIAIS
CREATE INDEX BACIAS_SPATIAL_IDX
ON BACIAS(GM_SHAPE)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
204
Apêndice D – Descrição do Modelo de Dados no Oracle9i
________________________________________________________________________________________________
CREATE INDEX MUNICIPIOS_SPATIAL_IDX
ON MUNICIPIOS(GM_SHAPE)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
CREATE INDEX ACUDES_SPATIAL_IDX
ON ACUDES(GM_SHAPE)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
205
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
APÊNDICE E
DESCRIÇÃO DAS FEIÇÕES G EOGRÁFICAS DE H IDROLOGIA EM
XML
--- Descrição da Feição Bacia Hidrográfica, utilizando o SGBD Oracle 9i
-<?xml version="1.0" encoding="ISO-8859- 1" ?>
- <metadata>
- <idinfo>
- <citation>
- <citeinfo>
<origin>Valéria Goncalves Soares </origin>
<pubdate>01012002 </pubdate>
<title >Bacias Hidrográficas do Estado do Rio Grande
do Norte</title >
</citeinfo>
</citation >
- <descript >
<abstract>Esta Tabela de Bacias contém informações
sobre as Bacias Hidrográficas do Estado do RN,
contendo informacoes sobre a sua extensao, entre
outros.</abstract>
<purpose>Estes dados de Bacias tem como objetiv o
descrever as tabelas de bacias, bem como seus
atributos.</purpose>
</descript >
- <timeperd>
- <timeinfo>
- <sngdate>
<c aldate>01152002</caldate>
</sngdate>
</timeinfo >
<current>Publication Date</current >
</timeperd>
- <status>
<progress >in work</progress>
<update>Daily </update>
</status>
- <spdom>
- <bounding>
206
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
<westbc >12</westbc >
<eastbc >13</eastbc>
<northbc >14</northbc >
<southbc >15</southbc >
</bounding>
</spdom>
- <keywords >
- <theme >
<themekt >none</themekt >
<themekey>Bacias Hidrograficas</themekey >
</theme >
</keywords>
<accconst >none</accconst >
<useconst >none </useconst >
</idinfo>
- <eainfo>
- <detailed>
- <enttyp >
<enttypl>Bacias </enttypl>
<enttypd>Entidade Geográfica Bacias Hidrograficas do
Estado do RN e seus atributos </enttypd >
<enttypds>none </enttypds>
</enttyp>
- <attr >
<attrlabl>BACIAS_FID</attrlabl>
<attrdef >Identificacao da Instancia de
Bacias</attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>PRIMARY KEY</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>NAME</attrlabl>
<attrdef >Nome da Instancia de Bacias </attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>NOT NULL</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>BACIAS_NUM_PONTOS</attrlabl>
<attrdef >Numero de pontos total que delimita a
instancia bacia </attrdef>
<attrdefs>INTEGER</attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
207
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
- <attr >
<attrlabl>BACIAS_EXTENSAO </attrlabl>
<attrdef >Extensao em Km2 da Instancia de
bacia </attrdef >
<attrdefs>REAL</attrdefs >
- <attrdomv >
<udom>NOT NULL</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>BACIAS_PERCENTAGEM</attrlabl>
<attrdef >Porcentagem de Ocupacaçao do territorio
estadual pela instancia de Bacia </attrdef >
<attrdefs>REAL</attrdefs >
- <attrdomv >
<udom>NOT NULL</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>BACIAS_NUM_ACUDES</attrlabl>
<attrdef >Numero de Acudes Cadastrados na Instancia
de Bacia</attrdef>
<attrdefs>INTEGER</attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>BACIAS_VOL_AGUA </attrlabl>
<attrdef >Volume de Agua Total da Instancia de
Bacia </attrdef >
<attrdefs>REAL</attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GEOMETRY_TYPE </attrlabl>
<attrdef >Tipo da Geometria associada as bacias.
1=ponto, 2=linha e 3=poligono. </attrdef >
<attrdefs>INTEGER</attrdefs >
- <attrdomv >
<udom>3</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>IMAGE_GIF </attrlabl>
<attrdef >Nome do Arquivo que Representa a
Entidade </attrdef >
<attrdefs>GIF </attrdefs >
208
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
- <attrdomv >
<udom>~GeoVisual/GIFS/Bacia.GIF </udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GM_SHAPE </attrlabl>
<attrdef >Tipo Geometria implementado no Oracle
9i</attrdef >
<attrdefs>MDSYS.SDO_GEOMETRY </attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
</detailed>
</eainfo>
- <metainfo >
<metd>01012002</ metd>
- <metc>
- <cntinfo >
- <cntperp >
<cntper>Valeria Goncalves Soares</cntper>
<c ntorg >EMPARN/UFPE </cntorg >
</cntperp >
- <cntaddr>
<addrtype >Comercial</addrtype >
<address>Rua Prof. Luis Freire, S/N</address>
<city>Recife</city >
<state>PE </state>
<postal>51021-550</postal>
<country>Brazil </country >
</cntaddr>
<cntvoice>(81) 3271-8430</cntvoice>
</cntinfo>
</metc>
<metstdn >FGDC</ metstdn>
<metstdv>FGDC-STD-001-1998</ metstdv>
</ metainfo>
</metadata>
--- Descrição
--
da Feição Municípios, utilizando o SGBD Oracle 9i
<?xml version="1.0" encoding="ISO-8859- 1" ?>
- <metadata>
- <idinfo>
- <citation>
- <citeinfo>
<origin>Valéria Goncalves Soares </origin>
209
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
<pubdate>01012002 </pubdate>
<title >Municipios do Estado do Rio Grande do
Norte</title >
</citeinfo>
</citation >
- <descript >
<abstract>Esta Tabela de Bacias contém informações
sobre os Municipios do Estado do Rio grande do Norte e
seus atributos. </abstract>
<purpose>Estes dados de municipios tem como objetivo
descrever as tabelas de municipios,bem como seus
atributos.</purpose>
</descript >
- <timeperd>
- <timeinfo>
- <sngdate>
<caldate>01152002</caldate>
</sngdate>
</timeinfo >
<current>Publication Date</current >
</timeperd>
- <status>
<progress >in work</progress>
<update>Daily </update>
</status>
- <spdom>
- <bounding>
<westbc >12</westbc >
<eastbc >13</eastbc>
<northbc >14</northbc >
<southbc >15</southbc >
</bounding>
</spdom>
- <keywords>
- <theme >
<themekt >none</themekt >
<themekey>Municipios</themekey >
</theme >
</keywords>
<accconst >none</accconst >
<useconst >none </useconst >
</idinfo>
- <eainfo>
- <detailed>
- <enttyp >
<enttypl>Municipios</enttypl>
<enttypd>Entidade Geográfica Municipios do Estado
do RN e seus atributos</enttypd >
<enttypds>none </enttypds>
</enttyp>
210
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
- <attr>
<attrlabl>MUNICIPIOS_FID</attrlabl>
<attrdef >Identificacao da Instancia de
Municipio </attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>PRIMARY KEY</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>NAME</attrlabl>
<attrdef >Nome da Instancia de Municipio</attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>NOT NULL</udom>
</attrdomv>
</attr>
- <attr >
<attrlabl>BACIAS_FID</attrlabl>
<attrdef >Bacia hidrografica em que
preferencialmente, se localiza. </attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>FOREIGN KEY</ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>MUNICIPIOS_POPULACAO</attrlabl>
<attrdef >Populacao Total do Municipio.</attrdef >
<attrdefs>NUMBER</attrdefs>
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>MUNICIPIOS_NUM_PONTOS </attrlabl>
<attrdef >Numero de pontos que delimitam a instancia
do municip io. </attrdef >
<attrdefs>INTEGER</attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GEOMETRY_TYPE </attrlabl>
<attrdef >Tipo da Geometria associada aos municipios.
1=ponto, 2=linha e 3=poligono. </attrdef >
<attrdefs>INTEGER</attrdefs >
- <attrdomv >
211
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
<udom>3</udom>
</attrdomv >
</attr>
- <attr>
<attrlabl>IMAGE_GIF </attrlabl>
<attrdef >Nome do Arquivo que Representa a
Entidade </attrdef >
<attrdefs>GIF </attrdefs >
- <attrdomv >
<udom>~GeoVisual/GIFS/Municipios.GIF
</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GM_SHAPE </attrlabl>
<attrdef >Tipo Geometria do Oracle 9i</attrdef >
<attrdefs>MDSYS.SDO_GEOMETRY </attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
</detailed>
</eainfo>
- <metainfo >
<metd>01012002</ metd>
- <metc>
- <cntinfo >
- <cntperp >
<cntper>Valeria Goncalves Soares</cntper>
<cntorg >EMPARN/UFPE </cntorg >
</cntperp >
- <cntaddr>
<addrtype >Comercial</addrtype >
<address>Rua Prof. Luis Freire, S/N</address>
<city>Recife</city >
<state>PE </state>
<postal>51021-550</postal>
<country>Brazil </country >
</cntaddr>
<cntvoice>(81) 3271-8430</cntvoice>
</cntinfo>
</metc>
<metstdn >FGDC</ metstdn>
<metstdv>FGDC-STD-001-1998</ metstdv>
</ metainfo>
</metadata>
-212
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
-- Descrição da Feição Açudes, utilizando o SGBD Oracle 9i
-<?xml version="1.0" encoding="ISO-8859- 1" ?>
- <metadata>
- <idinfo>
- <citation>
- <citeinfo>
<origin>Valéria Goncalves Soares </origin>
<pubdate>01012002 </pubdate>
<title >Acudes do Estado do Rio Grande do
Norte</title >
</citeinfo>
</citation >
- <descript >
<abstract>Esta Tabela de Acudes contém informações
sobre os Acudes cadastrados dentro das bacias
hidrograficas do Estado. </abstract>
<purpose>Estes dados de Acudes tem como objetivo
descrever as tabelas de acudes bem como seus
atributos.</purpose>
</descript >
- <timeperd>
- <timeinfo>
- <sngdate>
<caldate>01152002</caldate>
</sngdate>
</timeinfo >
<current>Publication Date</current >
</timeperd>
- <status>
<progress >in work</progress>
<update>Daily </update>
</status>
- <spdom>
- <bounding>
<westbc >12</westbc >
<eastbc >13</eastbc>
<northbc >14</northbc >
<southbc >15</southbc >
</bounding>
</spdom>
- <keywords>
- <theme >
<themekt >none</themekt >
<themekey>Acudes</themekey>
</theme >
</keywords>
<accconst >none</accconst >
<useconst >none </useconst >
213
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
</idinfo>
- <eainfo >
- <detailed>
- <enttyp >
<enttypl>Acudes </enttypl>
<enttypd>Entidade Geográfica Acudes do Estado do
RN e seus atributos </enttypd>
<enttypds>none </enttypds>
</enttyp>
- <attr >
<attrlabl>ACUDES_FID</attrlabl>
<attrdef >Identificacao da Instancia de
Acudes</attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>PRIMARY KEY</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>NAME</attrlabl>
<attrdef >Nome da Instancia de Acude </attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>NOT NULL</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>BACIAS_FID</attrlabl>
<attrdef >Identificacao da bacia a que o acude
pertence.</attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>FOREIGN KEY</ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>MUNICIPIOS_FID</attrlabl>
<attrdef >Identificacao do Municipio a que o acude se
localiza. </attrdef>
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
<udom>FOREIGN KEY</ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>ACUDES_RIO_BARRADO </attrlabl>
<attrdef >Nome do Rio barrado que deu origem ao
acude.</attrdef >
<attrdefs>VARCHAR(256)</attrdefs >
- <attrdomv >
214
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
<udom>none </ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>ACUDES_CAPACIDADE</attrlabl>
<attrdef >Capacidade Total de armazenamento de agua
do acude.</attrdef >
<attrdefs>REAL</attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GEOMETRY_TYPE </attrlabl>
<attrdef >Tipo da Geometria que representa um acude.
1=ponto, 2=linha e 3=poligono</attrdef >
<attrdefs>INTEGER</attrdefs >
- <attrdomv >
<udom>1</udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>IMAGE_GIF </attrlabl>
<attrdef >Nome do Arquivo que Representa a
Entidade </attrdef >
<attrdefs>GIF </attrdefs >
- <attrdomv >
<udom>~GeoVisual/GIFS/Acude.GIF </udom>
</attrdomv >
</attr>
- <attr >
<attrlabl>GM_SHAPE </attrlabl>
<attrdef >Tipo Geometria do Oracle 9i</attrdef >
<attrdefs>MDSYS.SDO_GEOMETRY </attrdefs >
- <attrdomv >
<udom>none </ udom>
</attrdomv >
</attr>
</detailed>
</eainfo>
- <metainfo >
<metd>01012002</ metd>
- <metc>
- <cntinfo >
- <cntperp >
<cntper>Valeria Goncalves Soares</cntper>
<cntorg >EMPARN/UFPE </cntorg >
</cntperp >
- <cntaddr>
215
Apêndice E – Descrição das Feições Geográficas de Hidrologia em XML
________________________________________________________________________________________________
<addrtype >Comercial</addrtype >
<address>Rua Prof. Luis Freire, S/N</address>
<city>Recife</city >
<state>PE </state>
<postal>51021-550</postal>
<country>Brazil </country >
</cntaddr>
<cntvoice>(81) 3271-8430</cntvoice>
</cntinfo>
</metc>
<metstdn >FGDC</ metstdn>
<metstdv>FGDC-STD-001-1998</ metstdv>
</ metainfo>
</metadata>
216
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
REFERÊNCIAS BIBLIOGRÁFICAS
[ACK+98] M. Ashworth, P. Cotton, H. Kucera and D. O’Brien. Comparison of Spatial Schema in
ISO/TC211, OGC, and SQL/MM. 7th ISO/TC211/WG2 Meeting – Harmonization of Spatial
Schemas and Operators, June 1998.
[AG97] N. R. Adam and A. Gangopadhyay. Database Issues in Geographic Information Systems.
Kluwer Academic Publishers. 1997.
[ATM02] ASCII Template for Metadata. Último acesso em 2002.
http://geology.usgs.gov/tools/metadata/tools/doc/template
[Aus00] Australian Spatial Data Infrastructure. Acessado em 2000.
http://www.csdc.gov.au/asdi/fmeta.htm
[BAT00] C. Bonhomme, M. A. Aufaure-Portier , C. Trepied: Metaphors for Visual Querying
Spatio-Temporal Databases. In: Advances in Visual Information Systems , edited by R.
Laurini, Proceedings of the 4th International Conference on Visual Information Systems.
Springer Verlag, Lecture Notes in Computer Science, pp. 140-153, 2000. http://wwwrocq.inria.fr/~aufaure/Visual2000.pdf
[BCC +91] C. Batini, T. Catarci, M. F. Costabile, S. Levialdi. Visual Query Systems: A taxonomy.
Proc. of the 2nd IFIP W.G. 2.6 Working Conference on Visual Databases, 1991.
ftp://ftp.dis.uniroma1.it/pub/catarci/VQSTaxonomy.ps.gz
[BCL+95] P. Bottoni, M. F. Costabile, S. Levialdi and P. Mussio. Formalising Visual Languages.
IEEE, 1995.
[BD00] K. Borges and C. Davis. Modelagem de Dados Geográficos. In Geoprocessamento: Teoria
e Aplicações. Livro on-line, acessado em 2000. http://www.dpi.inpe.br/gilberto/livro/
[BE00] A. D. Blaser and M. J. Egenhofer. A Visual Tool for Querying Geographic Databases. Proc.
of Advanced Visual Interfaces – AVI2000, Palermo, Italy, May, 2000.
[Bed99] Y. Bédard. Visual modeling of spatial databases: towards spatial PVL and UML.
Geomatica, June, 1999.
217
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[BF94] P. A. Burrough and A. U. Frank. Concepts and Paradigms in Spatial Information: Are
Current Geographic Information Systems Truly Generic? In IJGIS, pp 101–116, July 1994.
[BG99] D. Balfanz and S. Göbel. Bridging GeoSpatial Metadata Standards towards Distributed
Metadata Information Systems. The Third IEEE Meta-Data Conference, April, 1999.
http://computer.org/conferen/proceed/meta/1999/papers/40/dbalfanz.html
[Bla02] A. Blaser. General Concept. Why using a Sketch for Input Generation?. Último Acesso em
2002. http://www.spatial.maine.edu/~abl/SQBS/Concept.htm
[BM92] P. Boursier and M. Mainguenaud. Spatial Query Language: Extended SQL vs. Visual
Languages vs. Hypermaps. Proceedings of the 5th International Symposium on Spatial Data
Hanling, Charleston, USA, August 1992.
[BM95] A. Brossier-Wansek and M. Mainguenaud. Manipulations of Graphs with a Visual Query
Language: Application to a Geographical Information System. Visual Database Systems –
VDB3, Suíça, Março, 1995.
[BM98] P. Burrough and R. McDonnell. Principles of Geographical Information Systems. Oxford
University Press. 1998.
[Bog99] V. Bogorny. Um Estudo sobre o OpenGIS:A Proposta da OGC para Interoperabilidade e
Distribuição em Sistemas de Informação Geográfica. TI – 865 PPGC – UFRGS. Porto
Alegre - RS. 1999.
[Bor97] K. Borges. Modelagem de dados geográficos – uma extensão do modelo OMT para
aplicações geográficas. Dissertação de Mestrado. UFMG. Belo Horizonte. 1997.
[BRJ00] G. Booch, J. Rumbaugh and I. Jacobson. The Complete UML Training Course. Prentice
Hall. June, 2000.
[BTAL99] C. Bonhomme, C. Trépid, Marie -Aude-Aufaure and R. Laurini. A Visual Language for
Querying Spatio-Temporal Databases. In Proceedings of ACM GIS, November, Kansas
City, USA, 1999.
[Cam+00] G. Câmara et. al. Geoprocessamento: Teoria e Aplicações. Livro on-line, acessado em
2000. http://www.dpi.inpe.br/gilberto/livro/
[Cam95] G. Câmara. Modelos, Linguagens e Arquiteturas para Bancos de Dados Geográficos.
Tese de Doutorado. INPE. 1995.
218
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Cat+97] T. Catarci, et.al. Visual Query Systems for Databases: Analysis and Comparison - Journal
of Visual Languages and Computing, Vol. 8, N. 2, pp. 215-260, June 1997..
ftp://ftp.dis.uniroma1.it/pub/catarci/VQSJVLC.ps.gz
[Cat91a] T. Catarci. Visual Strategies for Querying Databases. Proc. of the IEEE Int. Workshop on
Visual Languages, Japan, October 1991. ftp://ftp.dis.uniroma1.it/pub/catarci/
VisualStrat.ps.gz
[Cat91b] T. Catarci. On The Expressive Power of Graphical Query Languages. Proc. of the W.G.
2.6 Working Conference on Visual Databases, Budapest, 1991. ftp://ftp.dis.uniroma1.it/
pub/catarci/ExPower.ps
[CCF +96] G. Câmara, M. Casanova, U. M. Freitas, J.P.C. Cordeiro, L. Hara. A Presentation
Language for GIS Cadastral Data. Proceeding of the Fourth ACM Workshop on Advances
in Geographic Information Systems, pp 139-146, November, 1996.
[CCH+96] G. Câmara, M. Casanova, A. Hemerly, G. Magalhães, e C. Medeiros. Anatomia de
Sistemas de Informação Geográfica. Décima Escola de Computação, Julh o, 1996.
[CEN99] Objectives and Principles of CEN. European Committee for Standardization.
http://www.cenorm.be/aboutcen/whatis/objectives.htm
[CF94] E. Clementini and P. Felice. Object-Oriented Modeling of Geographic Data. Journal of the
American Society for Information Science, pp. 694-704, 1994.
[Che76] P. Chen. The entity-Relationship model – toward a unified view of data. ACM Transactions
on Database Systems, v.1, p.9-36, 1976.
[CHY97] S. K. Chang, W. Hua and C. W. Yoo. Visual Abstraction in The Visual Design Process.
Department of Computer Science, University of Pittsburgh, Technical Report TR 97-02,
February 1997.
[CM91] D. Calcinelli, M. Mainguenaud. The Management of the Ambiguities in a Graphical
Query Language for Geographical Information System. 2nd Large Spatial Database
Symposium (SSD91), Zurich, Switzerland, pp. 99-118. August 1991.
[CM94] D. Calcinelli, M. Mainguenaud. Cigales: A Visual Query Language for Geographical
Information System: The User Interface. International Journal of Visual Languages and
Computing, Academic Press, 1994, Vol 5, pp 113-132.
[CM95] C. Claramunt and M. Mainguenaud. Dynamic and Flexible Vision of a Spatial Database.
DEXA 95 Workshop, London , United Kingdom, Setembro, 1995.
219
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Cor02] S. S. Cortez. Tradução de Consultas Visuais para Cláusulas SQL. Trabalho Final de
Graduação. Universidade Federal de Pernambuco. Setembro 2002.
[Cru93] I. F. Cruz. User-Defined Visual Languages for Querying Data. Department of Computer
Science. Brown University. Technical Report CS-93-58. December 1993.
[Dav00] C. Davis Jr. Múltiplas Representações em Sistemas de Informação Geográficos. Tese de
Doutorado. UFMG. 2000.
[Dav01]
C.
Davis
Jr.
Topologia .
Capítulo
de
livro
acessado
em
2001.
http://www.cdavis.hpg.ig.com.br/publicacoes.html
[DeM97] M. N. DeMers. Fundamentals of Geographic Information Systems. John Wiley & Sons,
1997.
[DL99] C. Davis Jr e A. Laender. Múltiplas Representações em Aplicações Urbanas de Sistemas de
Informação Geográficos. In Anais do I Workshop Brasileiro de GeoInformática, 35-39,
Campinas, 1999. http://www.cdavis.hpg.ig.com.br/publicacoes.html
[Dub01] Dublin Core Metadata Intiative.Acessado em 2001. http://purl.org/dc/index.html
[EF88] M. J. Egenhofer and A. Frank. Towards a Spatial Query Language: User Interface
Considerations. In Proceedings of the 14 th VLDB Conference, Los Angeles, California,
1988.
[EF90] M. J. Egenhofer and A. Frank. LOBSTER: Combinig AI and Database Techniques for GIS.
Photogrammetric Engineering and Remote Sensing, Vol. 56, No. 6, pp. 919-926, June
1990.
[Ege92] M. J. Egenhofer. Why not SQL! Int. Journal Geographical Information Systems, Vol. 6, No.
2, pp 71-85, 1992.
[Ege94] M. J. Egenhofer. Spatial SQL: A Query and Presentaion Language. IEEE Transactions on
Knowledge and Data Engineering, Vol. 6, No. 1, February, 1994.
[Ege96] M. J. Egenhofer. Spatial-Query-by-Skecth. VL96, IEEE Symposium on Visual Languages,
Boulder, CO, IEEE Press, pp. 60-67, 1996.
[Ege97] M. J. Egenhofer. Query Processing in Spatial-Query-by-Sketch. Journal of Visual
Languages and Computing, Vol. 8, No. 4, pp. 403-424, 1997.
220
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[EH91] M. J. Egenhofer and J. Herring. Categorizing Binary Topological Relations Between
Regions, Lines, and Points in Geographic Databases. Technical Report, University of
Maine, Orono, 1991.
[EM95] M. J. Egenhofer and D. Mark. Modeling Conceptual Neighborhoods of Topological LineRegion Relations. International Journal of Geographical Information Systems, pp. 555-565,
1995.
[ESM98] European Spatial Metadata Infrastructure. Acessado em 1998. http://www.esmi.org
[FA00] F. Favetta and M. A. Aufaure-Portier. About Ambiguities in Visual GIS Query Languages: a
Taxonomy and Solutions. In: Advances in Visual Information Systems, edited by R.
Laurini, Proceedings of the 4th International Conference on Visual Information Systems.
Springer Verlag, Lecture Notes in Computer Science, pp. 154-165, 2000. http://wwwrocq.inria.fr/~aufaure/Visual'2000b.pdf
[FC92] P. di Felice and E. Clementini. Towards a Standard for SQL-Based Spatial Query
Languages. In Proceedings of ACM/SGAPP Symposium on Appllied Computing pp. 184189, Kansas City, Missouri, March, 1992.
[Fer00] Fernandes, D. Y. GeoVisual Interface – Uma Interface para Consultas Visuais em Bancos
de Dados Geográficos. Dissertação de Mestrado. UFPE – Brasil. Março, 2000.
[FGD99] Federal Geographic Data Committee Standards Reference Model. Federal Geographic
Data Committee. http://www.fgdc.gov/
[Fra82] A. Frank. MAPQUERY: Data Base Query Language for Retrieval of geometric Data and
Their Graphical Representation. ACM Computer Graphics, Vol. 16, No. 3, July, 1982.
[GC96] J. M. Gooday and A. G. Cohn. Visual Language Syntax and Semantics: A Spatial Logic
Approach. Division of Artificial Language. University of Leeds, England, 1996.
[GE00] R. K. Goyal and M. J. Egenhofer. Consistent Queries over Cardinal Directions across
Different Levels of Detail. In 11th International Workshop on Database and Expert Systems
Applications (DEXA), September, 2000. London.
[GE01] R. K. Goyal and M. J. Egenhofer. Similarity of Cardinal Directions. In Seventh
International Symposium on Spatial and Temporal Databases. Lecturer Notes in Computer
Science, Vol. 2121, Springer Verlag, pp. 36-55, July 2001.
[Geo02] Intergraph Announces New GeoMedia 5.0 Procuct Suite. Acessada em Agosto 2002.
http://www.intergraph.com/gis/newsroom/press02/gm5_rlsf.asp
221
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[GIS02] What is GIS. Acessada em Setembro 2002. http://www.gis.com/whatisgis/index.html
[GM93] E. J. Golin and T. Magliery. A Compiler Generator for Visual Languages. IEEE, 1993.
[GML02] Geography Markup Language (GML) 2.0. OpenGIS Implementation Specification,
Acessado em 2002. http://opengis.net/gml/01-029/GML2.html
[Gol91] E. J. Golin. A Method for the Specification and Parsing of Visual Languages. PhD
Dissertation, Brown University, Technical Report No. CS-90-19, May, 1991.
[GR89a] E. J. Golin and S. P. Reiss. Parsing in a Visual Language Environment. Brown University,
Technical Report No. CS-89-06, February 1989.
[GR89b] E. J. Golin and S. P. Reiss. Representing Visual Programas with Object-Graphs. Brown
University, Technical Report No. CS-89-05, February, 1989.
[GR90] E.J. Golin and S. P. Reiss. The Specification of Visual Language Syntax. Journal of Visual
Languages and Computing, Vol. 1, No.2, pp. 141-157, 1990.
[Gut88] R. H. Güting. Geo-Relational Algebra: A Model and Query Language for Geometric
Database Systems. Proc. of the Intl. Conf. on Extending Database Technology, Venice,
March, 1988.
[Gut94] R. H. Güting. An Introduction to Spatial Database Systems. Special Issue on Spatial
Database Systems of the VLDB Journal ,Vol. 3, No. 4, October 1994.
[Gut99] R. H. Güting. Spatial Database Systems - Tutorial Notes. Acessado em 1999.
http://www.informatik.fernuni-hagen.de/import/pi4/gueting/home.html
[Haa95] V. Haarslev. Formal Semantics of Visual Languages Using Spatial Reasoning. IEEE,
1995.
[HE00] K. Hornsby and M. J. Egenhofer. “Identity-Based Change: A Foundation for SpatioTemporal Knowledge Representation.” International Journal of Geographical Information
Science 14(3): 207-224, 2000.
[HE99] K. Hornsby and M. J. Egenhofer. Shift in Detail Through Temporal Zoomig. Tenth
International Workshop on Database and Expert Systems Applications. Florence, Italy,
IEEE Computer Society, pp. 487-491, 1999.
[HGW99] How GIS Works. http://www.esri.com/library/gis/abtgis/gis_wrk.html
222
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[HMW00] V. Haarslev, R. Möller and M. Wessel. Visual Spatial Query Languages: A Semantics
Using Description Logic. In P. Olivier, M. Anderson and B. Meyer (editors). Diagrammatic
Representation and Reasoning. Spring-Verlag, London, 2000.
[HP98] D. Hart, H. Phillips. Metadata Primer – A “How To” Guide on Metadata Implementation.
National
States
Geographic
Information
Council.
http://www.lic.wisc.edu/metadata/metaprim.htm
[HS93] Z. Huang and P. Svensson. Neighborhood Query and Analysis with GeoSAL, a Spatial
Database Language. Advances in Spatial Databases. In Proceedings of The 3rd International
Symposium, SSD 93, Singapore, June 1993.
[HMW00] V. Haarslev, R. Möller and M. Wessel. Visual Spatial Query Languages: A Semantics
Using Description Logic. Diagrammatic Representation and Reasoning. Springer-Verlag,
London, 2000.
[HSW75] G. D. Held, M. R. Stonebraker e E. Wong. INGRES: A Relational Database Management
System. Proc. AFIPS National Comp. Conf. 1975.
[HT97] T. Hadzilacos and N. Tryfona. An Extended Entity-Relationship Model for Geographic
Applications, SIGMOD Record 26(3): 24-29(1997)
[HU79] J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory Languages and
Computation. Addison-Wesley, Reading, 1979.
[HW97] V. Haarslev and M. Wessel. Querying GIS with Animated Spatial Sketches. Proceedings
IEEE Symposium on Visual Languages, Capri, Italy, IEEE Computer Society Press, pp.
197-204, 1997.
[ISO99] ISO/TC 211 - Geographic information/Geomatics. International Organization for
Standardization Technical Committee 211. December 1999. http://www.statkart.no/
isotc211/
[ISO00] ISO/IEC JTC 1/SC 32/WG4 SQL/MM – SQL Multimedia and Application Packages
(SQL/MM) – Part 3: Spatial. International Organization for Standardization. October, 31.
2000.
[Jun96] V. Jung. Fuzzy Effectiveness Evaluation for Intelligent User Interfaces to GIS
Visualization. Proceeding of the Fourth ACM Workshop on Advances in Geographic
Information Systems, pp 155-162, November, 1996.
223
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[KPS97] G. Kösters; B. Pagel, B. U.; H. W. Six. GIS - Application development with GeoOOA.
International Journal of Geographical Information Science, v.11, n.4, 1997.
[KR98A ] S. K AUSHIK AND E. RUNDENSTEINER. D IRECT-MANIPULATION S PATIAL EXPLORATION
USING SVIQUEL. VDB4: 4TH INTERNATIONAL CONFERENCE ON VISUAL
DATABASE SYSTEMS, L'AQUILA , ITALY, MAY 27-29,1998.
[KR98b] S. Kaushik and E. Rundensteiner. SVIQUEL: A Spatial Visual Query Language and
Exploration Language. In Conference and Workshop on Database and Expert Systems
Applications (DEXA'98), Vienna, Austria, pp 290--299, August 1998.
[Kuh95] W. Kuhn. 7 ± 2 Questions and Answers About Metaphors for GIS User Interfaces. In
Cognitive Aspects of Human-Computer Interaction for Geographic Information Systems.
(Nyerges, T.L., et al., eds.), Series D: Behavioural and Social Sciences, Vol. 83, Dordrecht,
The
Netherlands,
Kluwer
Academic
Publishers,
pp:
113-122
(1995).
http://citeseer.nj.nec.com/kuhn95question.html
[Lak02] G. Lakoff. Table of Contents for: Lakoff on Conceptual Metaphor. Acessada em Setembro
2002. http://www.ac.wwu.edu/~market/semiotic/metaphor_toc.html
[LIH+02] J. Lisboa F., C. Iochpe, H. Hhasenack, E. J. Weber. Modelagem Conceitual de Bancos de
Dados Geográficos: o estudo de caso do Projeto PADCT/CIAMB. Acessado em
Setembro/2002. http://delmonio.ecologia.ufrgs.br/idrisi/artigos/jugurta.pdf
[Lim02] P. Lima. “GeoBR: Intercâmbio Sintático e Semântico de Dados Geográficos”, Dissertação
de Mestrado, INPE, 2002, disponível em. http://www.dpi.inpe.br/teses/lima
[Lis97] J. Lisboa F. Modelos Conceituais de Dados para Sistemas de Informações Geográficas.
Exame de Qualificação. UFRGS, Abril, 1997.
[Lis00] J. Lisboa F. Projeto Conceitual de Banco de Dados Geográficos através da Reutilização de
Esquemas, utilizando Padrões de Análise e um Framework Conceitual. Tese de Doutorado.
UFRGS, Janeiro, 2000.
[Mai92] M. Mainguenaud. What is Happening After the Definition of an End-User Query? 3rd
European Geographical Information System Conference, Munich, Alemanha, Março, 1992.
[Mai93a] M. Mainguenaud. The Results of Geographic Information Systems Queries. IEEE/CS
Visual Languages 93, Bergen, Norway, Agosto, 1993.
224
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Mai93b] M. Mainguenaud. From the User Interface to the Database Management System:
Application to a Geographical Information System. 5th International Conference on Human
Computer Interaction, Orlando, USA, Agosto, 1993.
[Mai94] M. Mainguenaud. Consistency of Spatial Database Query Results. Computer, Environment
and Urban Systems, Pergamon Press, Vol. 18, pp. 333-342,1994.
[Mey92a] B. Meyer. Beyond Icons. Towards New Metaphors for Visual Query Languages for
Spatial Information Systems. Interfaces to Database Systems, R. Cooper (Ed.), Springer,
1992. http://welcome.to/bernd.meyer/
[Mey92b] B. Meyer. Pictures Depicting Pictures – On the Specification of Visual Languages by
Visual Grammars. Proceedings of the International IEEE Workshop on Visual Languages,
Seattle/WA, September, 1992.
[Mey93] B. Meyer. Logic and Structure of Space – Towards a Visual Logic for Spatial Reasoning.
Proceedings of the International Symposium on Logic Programming,
D. Miller (Hrsg.), Vancouver, Canada, October 1993.
[Mey94] B. Meyer. Pictorial Deduction in Spatial Information Systems. Proceedings of the 10th
International IEEE Workshop on Visual Languages, St. Louis/MO, October 1994.
[ME94] D. Mark and M. Egenhofer. Modeling Spatial Relations Between Lines and Regions:
Combining Formal Mathematical Models and Human Subjects Testing. Cartography and
Geographical Information Systems, pp. 196-212. 1994.
[MM96a] K. Marriot and B. Meyer. Formal Classification of Visual Languages. International
Workshop on Theory of Visual Languages, Gubbio, Italy, May 1996.
[MM96b] K. Marriot and B. Meyer. Towards a Hierarchy of Visual Languages. 12th International
IEEE Workshop on Visual Languages, Boulder/CO, September 1996.
[MM98] K. Marriot and B. Meyer (Editors). Visual Language Theory. Springer Verlag, June, 1998.
[MMW98] K. Marriot, B. Meyer and K. B. Wittenburg. A Survey of Visual Language Specification
and Recognition. K. Marriot and B. Meyer (Editors). Visual Language Theory. Springer
Verlag, June, 1998.
[Mon99] Maps of Montana. Acessado em 1999. http://nris.state.mt.us/
225
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[MP90] M. Mainguenaud and M. Portier. Definition of Cigales: A Geographical Information
System Query Language. Database and Expert Systems Applications, pp. 275-280, Zürich,
July 1990.
[MPS94] A. Massari, S. Pavani and L. Saladini. QBI: An Iconic Query System for Inexpert Users.
Proceeding of Advanced Visual Interfaces, AVI, 1994, Bari, Italy.
[MSD99]
Metadata
Standards
Development.
Federal
Geographic
Data
Commitee.
http://www.fgdc.gov/metadata/metadata.html
[MSO87] K. J. McDonell, R. Sacks-Daois and B. C. Ooi. GeoQL – A Query Language for
Geographic Information Systems. Technical Report, Dept. of Computer Science, R.M.I.T.,
Melbourne, 1987.
[MV02] A. Miene and U. Visser. Interpretation of spatio-temporal relations in real-time and
dynamic environments. TZI - Center for Computing Technologies. University of Bremen.
Germany, 2002.
[Nas95] A. M. R. Nascimento. LinGeo – Uma Linguagem de Consulta Geográfica. Dissertação de
Mestrado. UFPE. Brasil. 1995.
[OGG96] The OpenGIS Guide. Part I of the Open Geodata Interoperability Specification (OGIS).
Open GIS Consortium. 1996. http://www.opengis.org/
[OGC98a] Open GIS Consortium Abstract Specification. Version 3, 1998. http://www.opengis.org/
[OGC98b] Open GIS Consortium, Conformance Test Guidelines for OpenGIS Simple Features
Specification for SQL, Revision 1.0. October, 1998. http://www.opengis.org/
[OGC99a] Open GIS Consortium Abstract Specification. Version 4, 1999. http://www.opengis.org/
[OGC99b] Open GIS Consortium, Simple Features Specification for SQL. Revision 1.1. May, 1999.
http://www.opengis.org/
[OGC990] Open GIS Consortium, Abstract Specification, Topic 0 – Abstract Specification
Overview. June – 1999. http://www.opengis.org/techno/abstract/99-100r1.pdf
[OGC01I] Open GIS Consortium, Abstract Specification, Topic 1 – Feature Geometry (ISO 19107
Spatial Schema), May, 2001. http://www.opengis.org/techno/abstract/01-101.pdf
[OGC02II] Open GIS Consortium, Abstract Specification, Topic 2 – Spatial Referencing by
Coordinates, January, 2002, http://www.opengis.org/techno/abstract/02-102.pdf
226
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[OGC99III] Open GIS Consortium, Abstract Specification, Topic 3 - Locational Geometry
Structures, March, 1999, http://www.opengis.org/techno/abstract/99-103.pdf
[OGC99V] Open GIS Consortium, Abstract Specification, Topic 5 - Features, March, 1999,
http://www.opengis.org/techno/abstract/99-105r2.pdf
[OGC99VIII] Open GIS Consortium, Abstract Specification, Topic 8 – Relationships Between
Features , March, 1999, http://www.opengis.org/techno/abstract/99-108r2.pdf
[OGC99X] Open GIS Consortium, Abstract Specification, Topic 10 – Feature Collections, April,
1999, http://www.opengis.org/techno/abstract/99-110.pdf
[OGC99XI] Ope n GIS Consortium, Abstract Specification, Topic 11 – Metadata, March, 1999,
http://www.opengis.org/techno/abstract/99-111r1.pdf
[Oli97] J. L. Oliveira. Projeto e Implementação de Interfaces para Sistemas de Informações
Geográficas. Tese de Doutorado. Unicamp, Dezembro, 1997.
[OGM97] J. L. Oliveira, M. A. Gonçalves and C. B. Medeiros. Designing and Implementing the
User Interface of Geographic Digital Libraries. Relatório Técnico, IC-97-25, Unicamp,
Dezembro, 1997.
[OM96] J. L. Oliveira, C. B. Medeiros. Tutorial: User Interface Architecture, Languages, and
Models in Geographic Databases. In Anais do Décimo Primeiro Simpósio Brasileiro de
Banco de Dados, pp 20-42, Outubro, 1996.
[OPM97] J. L. Oliveira, F. Pires and C. B. Medeiros. An Environment for Modeling and Design of
Geographic Applications. In GeoInformatica 1(1), 29-58, 1997
[Ora97] Oracle8 [tm] Spatial Cartridge. Advances in Relational Database technology for Spatial Data
Management. An Oracle Technical White Paper. June, 1997.
[Ora02] Oracle  Spatial, User Guide and Reference, Release 9.2, March 2002.
[Pas96] I. D. Passos. Validação com Proposta de Extensão do Modelo de Dados Geográficos
MGeo+. Dissertação de Mestrado. UFPB. 1996.
[PE97] D. Papadias, and M. Egenhofer. “Algorithms for Hierarchical Spatial Reasoning .”
GeoInformatica 1(3): 251-273, 1997.
[PES00] D. Papadias, M. Egenhofer and J. Sharma. "Hierarchical Reasoning about Direction
Relations". In Proceedings of ACM GIS, USA, 2000.
227
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Per00] C. R. Perez. Interoperabilidade e Integração de SIG através de Sistemas Hipermídia
Abertos. Tese de Doutorado, Centro de Informática – UFPE, Março, 2000.
[PF88] B. L. Palmer and A. U. Frank. Spatial Languages. In Proceedings of The 3rd International
Symposium on Spatial Data handling – SDH 88, Sydney, Australia, August, 1988.
[Pim95] F. L. Pimentel. Uma Proposta de Modelagem Conceitual para Dados Geográficos: O
Modelo MGeo+. Dissertação de Mestrado. Departamento de Informática – UFPE. Outubro.
1995.
[Pir97] F. Pires. Um Ambiente Computacional para Modelagem de Aplicações Ambientais. Tese de
Doutorado. Unicamp. 1997.
[Pot02] A. Pots. ArcInfo Version 8: Introducing the Next Generation. ESRI Product Mnagement
Group, Acessada em Agosto/2002. http://www.esri.com/news/arcuser/0499/ai8b.html
[PR99] E. Pourabbas and M. Rafanelli. PQL*: An Extended Pictorial Query Language for
Querying Geographical Databases using Positional and OLAP Operators. In Proceedings
of ACM GIS, November, Kansas City, USA, 1999.
[PSZ+98] C. Parent; S. Spaccapietra, S.; E. Zimanyi; P. Domini; C. Plazanet; C. Vangenot.
Modeling spatial data in the MADS conceptual model. In Proceedings of the International
Symposium on Spatial Data Handling. Vancouver, Canada, 1998.
[RFS88] N. Roussopulos, C. Faloutsos and T. Sellis. An Efficient Pictorial Database Systems for
PSQL. IEEE Transactions on Software Engineering, May, 1988.
[RS99] S. Ravada and J. Sharma. Oracle 8i Spatial: Experiences with Extensible Databases.
SSD’99, LNCS 1651, pp. 355-359, 1999.
[Rum91] J. Rumbaugh et. al. Object-Oriented Modeling and Design. New Jersey: Prentice-Hall,
1991.
[Sam88] A. Sambura. Spatial Extensions to SQL. A Search for a Universal Query Language for
LIS/GIS Applications. Proceedings of 16th Australian Conference on Urban and Regional
Planning Information Systems, Australia, Sydney, November, 1988.
[SCG+97] S. Shekhar; M. Coyle; B. Goyal; D. Liu; S. Sarkar. Data model in geographic
information systems. Communications of the ACM, v.40, n.4, p.103-111, 1997.
[Sch00]
Peter
N.
Schweitzer.
Formal
Metadata
Acessado
em
2000.
http://geology.usgs.gov/tools/metadata/
228
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Sch02] Peter N. Schweitzer. TKME - Another editor for formal metadata. Acessado em 2002.
http://geology.usgs.gov/tools/metadata/tools/doc/tkme.html
[SDT99] What is SDTS? The Spatial Data Transfer Standard Guid e for Technical Managers.
Acessado em 1999. http://mcmc.web.ec.usgs.gov/sdts.
[Sil99] S. L. F. Silva. Interação Visual com Bancos de Dados Históricos. Tese de Doutorado.
UFPB. 1999.
[Soa01] V. G. Soares. GeoVisual – Um Ambiente de Consultas Visuais para Sistemas de
Informações Geográficas. Exame de Qualificação e Proposta de Tese de Doutorado.
Centro de Informática – UFPE. Outubro - 2001.
[SPZ98] S. Spaccapietra, C. Parent & E. Zimanyi. Modeling Time from a Conceptual Perspective,
Proceedings of CIKM'98 (International Conference on Information and Knowledge
Management), Washington D.C., USA, 1998. http://lbdwww.epfl.ch/e/
publications/articles.ps/CIKM98.ps
[SS98] V. G. Soares e A. C. Salgado. Interface para Consultas Visuais em Sistemas de Informações
Geográficas utilizando Padrões de Metadados Espaciais. Relatório Técnico. Outubro.
1998.
[SS99] V. G. Soares e A. C. Salgado. Consultas Visuais em Sistemas de Informações Geográficas
baseadas em Padrões de Metadados Espaciais. I Brazilian Workshop in GeoInformatics.
Campinas. Outubro. 1999.
[SS00] V. G. Soares and A. C. Salgado. A Metadata -based Approach to Define a Standard to
Visual Queries in GIS. . In Proceedings of the International Workshop on Interactin g with
Databases in conjunction with the 11th International Conference on Database and Expert
Systems Applications - DEXA 2000. London, UK. September, 2000.
[SS02] V. G. Soares and A. C. Salgado. Visual Querying in Geographical Information Systems, pp.
251-265, In Visual and Multimedia Information Management, Edited by Xiaofang Zhou
and Pearl Pu, Kluwer Academic Publishers, 2002.
[SSC97] S.L.F.Silva, U. Schiel, T. Catarci. Integrando Aspectos Temporais no Acesso e na
Usabilidade de Interfaces Visuais Adaptativas a Banco de Dados Históricos. Proposta de
Tese de Doutorado. UFPB. 1997.
[Tho98] Rogério Thomé. “Interoperabilidade em Geoprocessamento: Conversão entre Modelos
Conceituais de Sistemas de informação geográfica e Comparação com o padrão Open
229
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
GIS”. Dissertação de Mestrado, INPE, 1998. Disponível em
http://www.dpi.inpe.br/teses/thome
[Tim94] V. C. Times. MGeo: Um Modelo Orientado a Objetos para Aplicações Geográficas.
Dissertação de Mestrado, UFPE, 1994.
[Tos98] N. Tosta. Continuing Evolution of the National Spatial Data Infrastructure. Acessado em
1998. http://www.fgdc.gov/publications/publications.html
[TPS+95] Y. Theodoridis, D. Papadias, E. Stefanakis and T. Sellis. Direction Relations and TwoDimensional Range Queries:Optimization Techniques. Technical Report 95-9. University
of Maine, Orono. July. 1995.
[TPS96] Y. Theodoridis, D. Papadias and E. Stefanakis. Supporting Direction Relations in Spatial
Database Systems. In Proceedings SDH´96, Advances in GIS Research II (Taylor &
Francis), London, 1996.
[UGIS95] Understanding GIS – The ARC/INFO Method. Self-Study Workbook. John Wiley &
Sons, 1995.
[VMR99]
The
Value
of
Metadata
(A
NSDI
Report).
Acessado
em
1999.
http://www.fgdc.gov/publications/ documents/metadata/metabroc.html
[WF02] S. Winter and A. U. Frank. Topology in Raster and Vector Representation. Acessado em
Setembro 2002. ftp://ftp.geoinfo.tuwien.ac.at/winter/winter00topology.pdf
[WH98] M. Wessel, V. Haarslev. VISCO: Bringing Visual
Spatial
Querying
to
Reality. . IEEE Symposium on Visual Languages. Nova Scotia, Canada. September, 1998.
http://kogs-www.informatik.uni-hamburg.de/~mwessel/visco-engl.html
[WZ98] D. Wang and H. Zeevat. A Syntax-Directed Approach to Picture Semantics. K. Marriot and
B. Meyer (Editors). Visual Language Theory. Springer Verlag, June, 1998.
[XML02] XML: From the Inside Out. Último acesso em 2002. http://www.xml.com/index.csp
[Zlo76] M. M. Zloof. Query-By-Example: Operations on Hierarquical Databases. In National
Comp. Conf. 1976.
230
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
BIBLIOGRAFIA
[Bow96] J. Bowen. Formal Specification and Documentation using Z: A Case Study Approach,
International Thomson Computer Press, International Thomson Publishing, 1996.
[BK00a] C. Baptista and Z. Kemp. An Integrated Metamodel for Knowledge Representation in
GeoLibraries. In Proceedings of the IEEE Advances on Digital Libraries (ADL2000).
Washington D.C., USA, May 2000.
[BK00b] C. Baptista and Z. Kemp. Interacting with Spatiotemporal Digital Libraries. In
Proceedings of the International Workshop on Interacting with Databses in conjunction
with the 11th International Conference on Database and Expert Systems Applications DEXA 2000. Londres, UK. September 2000.
[CF80] N. Chang and K. Fu. Query-By-Pictorial-Example. IEEE Transactions on Soaftware
Engineering, Vol, SE-6, NO. 6, November 1980.
[CM96] C. Claramunt and M. Mainguenaud. A Spatial Data Model for Navigation Knowledge. 7th
Spatial Data Handling, Delft, The Netherlands, Agosto, 1996.
[CSE94] E. Clementini, J. Sharma and M. Egenhofer. Modelling Topological Spatial Relations:
Strategies for Query Processing. Computer & Graphics, Vol. 18, No. 6, pp. 815-822, 1994.
[Dre99] M.Drewry. Metadata: Quality vs. Quantity.
http://www.computer.org/conferen/proceed/meta97/papers/hconover/mdrewry.html.
[EB95] M. J. Egenhofer and H. T. Bruns. Visual Map Algebra: a direct-manipulation user interface
for GIS. Proceedings of the Third Working Conference on Visual Database Systems.
Switzerland. 1995.
[Ege93] M. J. Egenhofer. What’s Special about Spatial? Database Requirements for Vehicle
Navigation in Geographic Space. SIGMOD 93, Washington, D.C., SIGMOD Record, 22
(2): 398-402, June 1993
[EGG+99] M. J. Egenhofer, J. Glasgow, O. Günther, J. Herring and D. Peuquet. Progress in
Computacional Methods for Representing Geographic Concepts. International Journal of
Geographical Information Science, pp. 775-796, 1999.
231
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Fra02] A. U. Frank. Consistency Constraints in Geographic Information Systems – An Ontological
View. Acessado em Setembro 2002. ftp://ftp.geoinfo.tuwien.ac.at/frank/3465tiers-ofontology.PDF
[Har88] D. Harel. On Visual Formalisms. Communications of the ACM. Vol. 31, Num. 5, pp. 514530, May 1988.
[HMO91] R. Helm, K. Marriot and M. Odersky. Building Visual Language Parsers. Human Factors
in Computing Systems Conference Proceedings on Reaching through Technology, pp. 105112, 1991.
[HOM93] S. Hoop, P. Oosterom and M. Molenaar. Topological Querying of Multiple Map Layers.
Spatial Information Theory – A Theoretical basis for GIS. Proceeding of European
Conference, COSIT 93, Italy, September, 1993.
[JC88] T. Joseph and A. Cardenas. PICQUERY: A High Level Query Language for Pictorial
Database Management. IEEE Transactions on Software Engineering, Vol. 14, No. 5, May,
1988.
[Jun99] V. Jung. MetaViz: Visual Interaction with Geospatial Digital Libraries. Technical Report,
International Computer Science Institute, TR-99-017, October, 1999.
[LC95] Y. C. Lee and F. L. Chin. An Iconic Query Language for Tpological Relationships in GIS.
International Journal Geographical Information Systems, Vol. 9, No. 1, pp. 25-46, 1995.
[LCN00] I. Lucena, G. Câmara and M. Nascimento. Object-Oriented User Interfaces for Map
Álgebra, Submetido ao ACMGIS 2000, http://www.dpi.inpe.br/nsf-cnpq/
[LFM+95] F. Di Loreto, F. Ferri, F. Massari and M. Rafanelli. A Visual Object-Oriented Query
Language for Geographic Information Systems. Data
base and Expert Systems
Applications. 6th Int. Conference, DEXA 95, London, UK, September, 1995.
[LG00] H. Luttermann and M. Grauer. Using Interactive, Temporal Visualizations for WWW-based
Presentation and Exploration of Spatio-Temporal Data. http://www-info.unisiegen.de/winfo/english
[Mai00a] M. Mainguenaud. A Query Resolution Engine to Handle a path Operator with Multiple
paths. Transportation Research, Part C, Vol. 8, pp 109-127. Elsevier Science. Recebido em
2000.
232
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[Mai00b] M. Mainguenaud. CIGALES: Cartographical Interface Generating an Adapted Language
for Extensible Systems. Acessado em Outubro/2000. http://www.univrouen.fr/psi/Equipe/Mainguenaud/cigales.eng.html
[Mai93] M. Mainguenaud. The Semantics of the Geographical Database Query Languages. 4th
European Geographical Information System Conference, Genes, Itália, Março, 1993.
[Mai96] M. Mainguenaud. Constraint-Based Queries in a Geographical Database for Network
Facilities. Computer, Environment and Urban Systems, Pergamon Press, Vol. 20, no. 2, pp.
139-151, 1996.
[MS99] Metadata Standards, What is Metadata and Metadata in Use.
http://alexandria.sdc.ucsb.edu/frames3.html.
[OM88] J. Orenstein and F. Manola. PROBE: Spatial Data Modelling and Query processing in na
Image Database Application. IEEE Transactions on Software Engineering, Vol. 14, No. 5,
May, 1988.
[OSAH97] C.Olston, M. Stonebraker, A. Aiken, J. Hellerstein. VIQING: Visual Interactive
QueryING. IEEE Symposium on Visual Languages. Nova Scotia, Canada. September,
1998.
[Peu88] D. J. Peuquet. Towards the Definition and Use of Complex Spatial Relationships. In
Proceedings of the 3rd International Syposium on Spatial Data handling – SDH 88, Sydney,
Australia, August, 1988.
[Pul97] D. Pullar. Query language for Spatial Relationships. Proceedings of ASPRS-ACMSM
Annual Convetions, baltimore, MD, USA, pp 180-192, 1987.
[RFS88] N. Roussopoulos, C. Faloutsos and T. Sellis. An Efficient Pictorial Database System for
PSQL. IEEE Transaction on Software Engineering, Vol. 14, No. 5, May 1988.
[Rob88] P. Robertson. Choosing Data Representations for The Effective Visualization of Spatial
Data. In Proceedings of the 3rd International Symposium on Spatial Data Handlling – SDH
88, Sydney, Australia, August, 1988.
[Set96] R. Sethi. Programming Languages. Concepts & Constructs. Addison-Wesley. Second
Edition. 1996.
[Voi95] A. Voisard. Mapgets: A Tool for Visualizing and Querying Geographic Information.
Journal of Visual Languages and Computing. 1995.
233
Referências Bibliográficas e Bibliografia
________________________________________________________________________________________________
[WLI98] E. J. Webber, J. Lisboa, C. Iochpe and H. Hasenack,. Geospatial Metadata in Brasil. An
Experience in data documentation of an environmental GIS application . In: International
Conference & Exhibition on geographic Information – GISPlanet, 1998, Lisbon, Portugal.
234
Download