subway station, we don't want to walk much more than approx. 800 meters. ⢠We would like to sit at a pond. ⢠If it is a hot or rainy day, it would be good if there.
VISCO: Bringing Visual Spatial Querying to Reality Michael Wessel and Volker Haarslev University of Hamburg, Germany {mwessel, haarslev}@informatik.uni-hamburg.de VISCO Homepage: http://kogs-www.informatik.uni-hamburg.de/~mwessel/visco.html
• The Visual Language VISCO • The VISCO Prototype • Architecture • Graphical User Interface • Representing, Compiling and Executing Queries • Abstract Syntax Graph (ASG) • Optimizing Compiler (Petri Net Model)
• Example (Quicktime Movie) • Conclusion
Michael Wessel , September 98
VISCO: Vivid Spatial Constellations Basic Key Concepts •• Represent Representconstellations constellations(aggregates) (aggregates)of of geometric geometricobjects objects •• Describe Describeclasses classesofofpictures picturesthrough through pictures, represent spatial aspects pictures, represent spatial aspectsdirectly directly •• adequacy, adequacy,consistency, consistency,transparency transparency •• Extensions Extensions •• VSQL: VSQL:retrieve retrievefrom fromspatial spatialDB DB •• Geometric Geometricobjects objects •• Transformable Transformableagggregates agggregateswith with local coordinate system, polygons local coordinate system, polygons&& polylines, polylines,segments, segments,points points •• Guidance Guidanceofofinterpretation interpretationofofvisual visual aspects present in a VISCO definition aspects present in a VISCO definition •• Physical Physicalmetaphors metaphors •• Meta Metaobjects objects •• Expressive: Expressive:metric, metric,geometric geometricand and topologic relationships / constraints topologic relationships / constraints •• inside inside/ /contains, contains,disjoint, disjoint,intersects intersects
Some Quadrilaterals
55cm cm 5 cm
5 cm
Michael Wessel , September 98
VISCO: Concrete Shape, Arbitrary Shape, Vague Shape Degree of Vagueness can be seen (“Mental Animation”) 5 cm
5 cm 5 cm
5 cm 5 cm
5 cm
Michael Wessel , September 98
VISCO: Overview of Language Elements (Incomplete)
Marble
Nail
Origin
Constant Encl. Inner Encl.
Beam Antenna
Outer Encl.
=-Antenna
Inner Epsilon
Rubberband
Outer Epsilon
Lake Thematic Descriptor
10 ... 100 m Size Indicator
5 Transparency Film
At Most Constraint
Scaling
Arrow & Scale Michael Wessel , September 98
Example Query: How to Find a BBQ Place with VISCO Requirements for BBQ Place •• IfIfyou youdon’t don’town ownaacar, car,itit must mustbe beininthe thevicinity vicinityof ofaa subway subwaystation, station,we wedon’t don’t want to walk much more want to walk much more than thanapprox. approx.800 800meters meters •• We Wewould wouldlike liketotosit sitat ataa pond pond •• IfIfititisisaahot hotor orrainy rainyday, day,itit would wouldbe begood goodififthere there were weresome sometrees treesto to protect protectus us •• However, However,only onlyfoliage foliage trees are suitable trees are suitable
Distinguish Distinguishexplicit explicitand andimplicit implicit composite compositeobjects! objects!
VISCO Query
Pond Foliage Tree Subway Station
2 km
2 km
Michael Wessel , September 98
The VISCO Prototype: Logical Architecture Data Dictionary (Meta Data)
Graphical User Interface (GUI) Motivate Construct Validate Graphical Query Editor
Animator
Inspect Execution and Result Inspector
Normalizer (Inference Engine)
Optimizing Compiler
ASG (Abstract Syntax Graph) Repository
Spatial Database or GIS
Interface to Spatial DB External View
Currently not implemented: - Animator - Normalizer (Inference Engine)
Michael Wessel , September 98
VISCO GUI: The Graphical Query Editor Buttons Buttons
Query Query Editor Editor Working Working Area Area Infos Infos
Query Query Construction Construction History History
Objects Objects
Operators Operators
Options Options Command Command Line Line Michael Wessel , September 98
Representing Queries Abstract Syntax Graph (ASG)
Simplified Query
•• Directed Directedmulti-hypergraph multi-hypergraphwith with attributed attributededges edges •• Properties Properties(unary) (unary) •• “has-thematic(x)” “has-thematic(x)” •• Edges Edges(binary) (binary) •• “direct-part-of(p,l)” “direct-part-of(p,l)” •• Hyperedges Hyperedges(tenary, (tenary,...) ...) •• “intersection-point-of “intersection-point-of (p,l1,l2)” (p,l1,l2)”
•• ASG ASGmaintained maintainedby byoperator operator applications provided applications providedby bythe the repository repositorymodule module •• Preconditions Preconditions
•• Graphical Graphicalquery queryeditor editormaps maps user’s interactions to internal user’s interactions to internal ASG ASGoperator operatorapplications applications •• History Historyofofoperator operatorapplications applications
Road Lake
Simplified ASG Lake
has-thematic
L
Road
intersects
S1
S2
S3
P1
P2
P3
R
P4
P5
direct-part-of Michael Wessel , September 98
Compiling & Executing Queries Plan Generation
Compiler: Petri Net Model
•• Use UseASG ASGto toconstruct constructan anexecution execution plan plan
D1
•• Order Orderofofsequence sequenceofofnode nodeprocessing processing (currently, simple Backtracking) (currently, simple Backtracking) •• Binary Binaryinverse inverseconstraints: constraints:multiple multiple plans become possible, potentially plans become possible, potentiallyn! n! •• Optimizer: Optimizer:find findbest bestplan planby byvaluation valuation
D2
E1
E2
•• Query Queryobjects objects •• Searchable, Searchable,use useindexing, indexing,especially especially spatial indexing spatial indexing
•• Universal Universalobjects objects •• Must Mustbe beconstructed constructed(components (componentsor or operator arguments already operator arguments already instantiated) instantiated)
Lake
Road D1=defer E1 D2=defer E2 E1=intersects(Lake,Road) E2=intersects(Road,Lake)
•• Geometric Geometricobjects objects&&enclosures enclosures •• Spatial Spatialselection selectionpossible possible •• e.g. e.g.use useR-Tree R-Tree
Possible D1 - Lake - E2 - Road Plans: D2 - Road - E1 - Lake Michael Wessel , September 98
Current State of Work, Conclusion & Future Work • VISCO prototype places additional restrictions on the (query) language VISCO • VISCO prototype places additional restrictions on the (query) language VISCO
• E.g., transformations must be uniquely determinable • E.g., transformations must be uniquely determinable • E.g., for an universal arbitrary scalable and rotatable transparency film at least 3 • non-collinear E.g., for an universal arbitrary and rotatable transparency film at least 3 instantiatable nailsscalable are needed non-collinear instantiatable nails are needed
• Optimizer: use more knowledge • Optimizer: use more knowledge
• Much more heuristics need to be included • Much more heuristics need to be included • Exploit database statistics as well as properties of spatial relations • Exploit database statistics as well as properties of spatial relations
• Missing components / modules • Missing components / modules
• Animator • Animator • Normalizer / Inference Engine • Normalizer / Inference Engine • Derive additional constraints only implicitly present, make them available for the • compiler; Derive additional constraints reuse only implicitly make them available for the query subsumption, of querypresent, results (refine); query normalization compiler; query subsumption, reuse of query results (refine); query normalization • Use a “real” GIS / spatial DB • Use a “real” GIS / spatial DB
• VISCO GUI • VISCO GUI
• Currently, too abstract for end users • Currently, too abstract for end users • Not evaluated yet • Not evaluated yet
• However, the usefulness of the visual language VISCO has been proven • However, the usefulness of the visual language VISCO has been proven Michael Wessel , September 98