Title: The Management of Spatial and Temporal Constraints in GIS using Pictorial Interaction on the Web
1The Management of Spatial and Temporal
Constraints in GIS using Pictorial Interaction on
the Web
- Fernando Ferri IRPPS-CNR-Italy
- Patrizia Grifoni IRPPS-CNR-Italy
- Maurizio Rafanelli IASI-CNR-Italy
2The problem
- To make available geographical databases by Web
3The aim of the paper
-
- XPQL (eXtended Pictorial Query Language) mapped
in Geographic Markup Language (GML 3.0).
4The eXtended Pictorial Query Language
- The XPQL query language has
- a set of spatial operators
- G-union, G-difference, G-disjunction, G-touching,
G-inclusion, G-crossing, G-pass-through,
G-overlapping, G-equality, G-distance, G-any and
G-alias - a set of temporal operators
- T-before, T-meets, T-overlaps, T-starts,
T-during, T-finishes and T-equals - symbolic geographical objects (sgo).
-
5Symbolic geographical objects
- sgo definition
- ltid, objclass, S, ? gt
where - id is the sgo identifier
- objclass is the set (possibly empty) of classes
iconized by ? - S represents the attributes to which the user can
assign a set of values. Some attributes can be
referred to a temporal dimension - ? is the ordered set of pairs (h, v), which
defines the spatial characteristics and position
of the sgo with respect to a reference point in
the working area.
6Geometric characteristics of an sgo
- Let y be an sgo, we have
- ?y geometric border of y it is defined
as - if y is a polygon, ?y is the set of its
accumulation points (as defined in the set
theory) - if y is an open polyline, ?y is formed by its
extreme points - if y is a point ?y is the empty set.
- y y - ?y geometrical interior of y
7Geometric characteristics of an sgo
- Dim( y)
- 0 if y contains at least one point but no
polylines or polygons - 1 if y contains at least one polyline but no
polygons - 2 if y contains at least one polygon.
8The spatial operators of XPQL
- G-union definition (Uni) The G-union of two sgo
y i and y j is a new sgo defined as the set of
all points belonging to y i e and/or y j. - G-touching definition (Tch) G-touching between
two sgo y i and y j exists iff the points common
to the two y are all contained in the union of
their boundaries. If this condition is satisfied,
the result of this operation between y i and y j
is a new ? called ?h and defined by the set of
points common to y i and y j.
9The spatial operators of XPQL
- G-inclusion definition (Inc) An sgo y i
G-includes another sgo y j (and we write ? i Inc
? j) iff all the points of y j are also points of
y i. The result is an sgo yh which coincides with
the second operand y j. - G-disjunction definition (Dsj) Two sgo y i and y
j are G-disjoined between them (formally ? i Dsj
? j) if the intersection of their borders AND the
intersection of their internal points is null.
10The spatial operators of XPQL
- G-pass-through definition (Pth) Let y i be a
polyline and let y j be a polygon. Then, the
operator G-pass-through is applicable iff the
polyline is partially inside the polygon
(formally ? i Pth ? j).
11The spatial operators of XPQL
- G-distance definition (Dst) Let y i, yj Î A be
two sgo of any type. Their distance is valuable
and and gt0 iff their intersection is null. The
(minimum) distance Dst (f min) between them is
a numeric value that represents this distance.
This operator can be used to find all sgo having
distance ? (? being one of the following symbols
gt, lt, , , , ?) from the reference sgo. The
distance ( df ) value is given by df (yi,
yj)? yh where - yh indicates a bi-oriented segment representing
the distance operator between y i , yj - f is the qualifier which solves this ambiguity
- ? is a selection expression that includes
conventional operators (gt, lt, , ?, etc.) or
methods that behave like operators.
12The spatial operators of XPQL
- G-difference definition (Dif) Let yi, yj Î A be
two sgo. The difference between two symbolic
objects y i and yj is defined as a new sgo (yh)
which contains all the points which belong to yi
but not to yj. - G-crossing definition (Crs) Let , yi Î A be two
polylines, and let yi ? yj ? Æ. Then, Cross yi
Crs yj yhx x Î yi ? yj and y h Î A. - G-overlapping Definition (Ovl) Let yi, yj Î A be
two sgo of the same type. A non-null overlap
exists between them iff their intersection is
also non-null and has the same dimension as the
sgo.
13The spatial operators of XPQL
- G-equality definition (Eql) Two symbolic
geographical objects y i and y j are
topologically equal if they are of the same type
and have the same shape. - G-any Definition (Any) Let ?i, ?j ? A be two
sgo. Between them any admissible relationship is
valid if the G-any operator is applied between
them. - G-alias Definition (Als) Let yi be a sgo. yj is
an alias of yi if the only difference between
them is their shape.
14The temporal operators of XPQL
- T-before (Bef) Definition An attribute sy ih of
the sgo yi is T-before another attribute sy jk
of the sgo yj if sy ih takes values (of the
interval or instant) temporally before sy jk
(of the interval or instant). The attributes can
take both intervals and instants as values. - T-meets (Mts) Definition An attribute sy ih of
the sgo yi T-meets another attribute sy jk of
the sgo yj if sy ih takes the maximum value (of
the interval or instant) temporally coincident
with the minimum value of syjk (of the interval
or instant). The attributes can take both
intervals and instants as values.
15The temporal operators of XPQL
- T-overlap (TOv) Definition An attribute sy ih
of the sgo yi T-overlaps another attribute sy jk
of the sgo yj if sy ih takes the minimum value
temporally before the minimum value of s? jk
and the maximum value temporally after the
minimum value of sy jk . Both attributes can
take intervals as values. - T-starts (Sts) Definition An attribute sy ih of
the sgo yi T-starts another attribute sy jk of
the sgo yj if sy ih takes the minimum value (of
the interval or instant) temporally coincident
with the minimum value of sy jk (of the interval
or instant). The attributes can take both
intervals and instant as values.
16The temporal operators of XPQL
- T-during (Drg) Definition An attribute sy ih of
the sgo yi is defined as T-during another
attribute sy jk of the sgo yj if sy ih takes
the minimum value temporally after the minimum
value of s? jk and the maximum value temporally
before the maximum value of sy jk . Both
attributes can take intervals as values. - T-finishes (Fns) Definition An attribute s? iof
the sgo T-finishes another attribute sy jk of
the sgo yj if sy ih takes the maximum value (of
the attribute or instant) temporally coincident
with the maximum value of sy jk (of the interval
or instant). The attributes can take both
intervals and instants as values.
17The temporal operators of XPQL
- T-equals (Tes) Definition An attribute s? ih of
the sgo ?i T-equals another attribute sy jk of
the sgo yj if sy ih takes the minimum and
maximum values (of the interval or instant)
temporally coincident with the minimum and
maximum values of sy jk (of the interval or
instant). The attributes can take both intervals
and instants as values.
18Translating from XPQL to GML
-
- GML is used for coding the XPQL operands,
operators. - There are spatial and temporal operands
19Spatial feature
- XPQL features are
- Point, Polyline, Polygon.
- Their GML representation
- geometric classes PointType, LineStringType and
PolygonType
20PointType
- Complex Type PointType
- ltcomplexType name"PointType"gt
- ltcomplexContentgt
- ltextensionbase"gmlAbstractGeometricPrimitiveTy
pe"gt - ltsequencegt
- ltchoicegt
- ltelement ref"gmlpos" /gt
- ltelement ref"gmlcoordinates"
- ltelement ref"gmlcoord"
- lt/choicegt
- lt/sequencegt
- lt/extensiongt
- lt/complexContentgt
- lt/complexTypegt
21LineStringType
- Complex Type LineStringType
- ltcomplexType name"LineStringType"gt
- ltcomplexContentgt
- ltextension base"gmlAbstractCurveType"gt
- ltsequencegt
- ltchoicegt
- ltchoice minOccurs"2" maxOccurs"unbounded"gt
- ltelement ref"gmlpos" /gt
- ltelement ref"gmlpointRep" /gt
- ltelement ref"gmlcoord" /gt
- lt/choicegt
- ltelement ref"gmlcoordinates" /gt
- lt/choicegt
- lt/sequencegt
- lt/extensiongt
- lt/complexContentgt
- lt/complexTypegt
22PolygonType
- Complex Type PolygonType
- Complex Type PolygonType
- ltcomplexType name"PolygonType"gt
- ltcomplexContentgt
- ltextension base"gmlAbstractSurfaceType"gt
- ltsequencegt
- ltelement ref"gmlexterior" minOccurs"0"
/gt - ltelement ref"gmlinterior" minOccurs"0"
maxOccurs"unbounded" /gt - lt/sequencegt
- lt/extensiongt
- lt/complexContentgt
- lt/complexTypegt
23Temporal features
- XPQL features are
- Instant and interval.
- Their GML representation
- TimeInstant and TimePeriod
24TimeInstant
- ltelement name"TimeInstant" type"gmlTimeInstantT
ype" - substitutionGroup "gml_TimePrimitive"/gt
- ltcomplexType name"TimeInstantType"
final"all"gt - ltcomplexContentgt
- ltextension base"gmlTimePrimitiveType"gt
- ltsequencegt
- ltelement ref"gmltimePosition"/gt
- lt/sequencegt
- lt/extensiongt
- lt/complexContentgt
- lt/complexTypegt
25TimePeriod
- ltelement name"TimePeriod" type"gmlTimePeriodTyp
e" substitutionGroup"gml_TimePrimitive"/gt - ltcomplexType name"TimePeriodType"
final"all"gt - ltcomplexContentgt
- ltextension base"gmlTimePrimitiveType"gt
- ltsequencegt
- ltelement ref"gmlbegin"/gt
- ltelement ref"gmlend"/gt
- ltelement ref"gml_duration"
minOccurs"0"/gt - lt/sequencegt
- lt/extensiongt
- lt/complexContentgt
- lt/complexTypegt
- ltelement name"begin" type"gmlTimeInstantProp
ertyType"/gt - ltelement name"end" type"gmlTimeInstantProper
tyType"/gt -
26Coding spatial and temporal operators
- The XPQL temporal operators are derived from GML
AssociationType - For the XPQL spatial operators,
FeaturePropertyType is a particular class of
properties (using the gmlAssociationType
pattern) which defines associations between
features.
27AssociationType
- ltcomplexType name"AssociationType"gt
- ltsequencegt
- ltelement ref"gml_Object" minOccurs"0"/gt
- lt/sequencegt
- ltattributeGroup ref"gmlAssociationAttributeGrou
p"/gt - lt/complexTypegt
- ltelement name"_association" type"gmlAssociation
Type" - abstract"true"/gt
-
28FeaturePropertyType
- ltcomplexType name"FeaturePropertyType"gt
- ltsequencegt
- ltelement ref"gml_Feature" minOccurs"0"/gt
- lt/sequencegt
- ltattributeGroup ref"gmlAssociationAttributeGroup
"/gt - lt/complexTypegt
29Query expressed by GML
- Find all roads built between the years 1980 and
1990 that pass through provinces created after
1975
30 Query expressed by GML
- type definitions for operators
- --gt
-
- ltcomplexType name"G-pass-throughType"gt
- ltcomplexContentgt
- ltextension base"gmlFeaturePropertyType"gt
- ltsequencegt
- ..
- lt/sequencegt
- lt/extension gt
- lt/complexContentgt
- lt/complexTypegt
-
- ltcomplexType name"T-beforeType"gt
- ltcomplexContentgt
- ltextension base"gmlAssociationType"gt
- ltsequencegt
- ..
- lt/sequencegt
31 Query
expressed by GML
- lt!--
- type definitions for different geographical
layers - --gt
-
- ltcomplexType name"ProvinceType"gt
- ltcomplexContentgt
- ltextension base"gmlPolygonType"gt
- ltsequencegt
- ..
- lt/sequencegt
- lt/extensiongt
- lt/complexContentgt
- lt/complexTypegt
-
- ltcomplexType name"RoadType"gt
- ltcomplexContentgt
- ltextension base"gmlLineStringType"gt
- ltsequencegt
-
32Query expressed by GML
- lt!--
- the query example
- --gt
- ltQueryModel gt
- ltgmlnamegtExamplelt/gmlnamegt
- ..
- ltqueryMembergt
- ltProvincegt
- ..
- lt/Provincegt
- lt/queryMembergt
- ltqueryMembergt
- ltRoadgt
-
- lt/Roadgt
- lt/queryMembergt
- ltqueryMembergt
- ltG-pass-throughgt
- ..
33Conclusion
- We are now focusing our activities on designing
and implementing a new pictorial language in
areas different from the geographical one. Our
hope is to be able to specify relational queries
in this way, without the end user needing to
understand the intricacies of boolean logic or
set theory.