Exploration of Geographic Databases: Supporting a Focus ... - CiteSeerX

0 downloads 0 Views 192KB Size Report
data available, while simultaneously pursuing detailed analysis of part of it, focus+ ... (1986)] for the analysis of texts, and successively applied to graphical.
Exploration of Geographic Databases: Supporting a Focus+Context Interaction Style Serafino Cicerone, Daniele Frigioni, Laura Tarantino Dipartimento di Ingegneria Elettrica - Università degli Studi dell'Aquila I-67040 Monteluco di Roio, L'Aquila - Italy [ cicerone | frigioni | laura ]@linus.ing.univaq.it

We present results on the design of a visual interaction environment for GISs based on focus+context visualisation and details-on-demand data presentation. We consider databases consisting of spatially related collections of regions with features, hierarchically organised as a nested partition. Interaction processes generate views on the database, displayed by maps preserving topological properties. An efficient navigation hence requires the adoption of topological invariants for representing such views. Since each step of the interaction process modifies only a portion of the invariant, we propose an efficient approach which dynamically updates the current topological invariant. Keywords: Human-Computer Interaction, Geographic Information Systems, Topological Invariants.

1.

Introduction

Geographic Information Systems (GISs) deal with storing, querying, manipulating and displaying geographic information. The core of a GIS is a spatial database management system handling the spatial and the thematic components of the database. The spatial component encodes the geometric aspects of the physical objects under consideration (location, shape, orientation, and size), while the thematic component contains information about the non-geometric properties of the realm of interest. A GIS normally includes modules devoted to application specific tasks, such as map production, spatial analysis, and data visualisation. We are interested here in studying some aspects related to the visualisation of and the interaction with geographic maps, with focus on navigational tasks (following [Nigay (1998)], an interaction task is said navigational when the user is directly responsible for it). Navigational paradigms are acquiring growing relevance with the advent of web-based applications (actually, it was the interaction paradigm more than anything else that determined the success of the WWW: a click on the mouse is all users need to traverse links across the world). The simplification of the interaction paradigms supports the new classes of users of web-based applications (most of them bound to remain permanent novices). A reduction of data involved, on the other hand, is required by the technical features of the medium. 1.1

Data visualisation in interactive database applications.

Whatever the application domain is, effective visualisation depends critically on meaningful display structures that allow users to predict areas of interest and ease their navigation through the composition of the graphical elements. The effectiveness of a clear composition always depends at least as much on the relationships among the parts as on the parts themselves. Geographical applications are by no means an exception to this general rule, which we have therefore to apply to the visualisation of and the interaction with maps. To achieve an effective navigation, we have to address user's observability problems (“Can I understand where I am now in the information space?”) and user's locomotion problems (“Can I find a path for getting from here to there?"). The design has to reconcile two conflicting demands: necessity of visualising massive quantity of information on one side, and limitation on the display dimensions on the other side. To allow the user to keep a view of the whole

1

data available, while simultaneously pursuing detailed analysis of part of it, focus+context techniques can be adopted for the interaction. The basic idea is to display more peripheral information at reduced detail in combination with the information in focus; the user is thus able to perceive the location of the focus, and, at the same time, to decide where to go next. The selective reduction of the information for the peripheral area (the context) can be obtained, e.g., by filtering and/or distortion techniques (i.e., acting on the quantity of data to be displayed, or on their presentation on the screen, respectively) or on combination of both. Distortion oriented techniques are adopted in systems based on fish-eye views, originally proposed in [Furnas (1986)] for the analysis of texts, and successively applied to graphical applications (we refer to [Card (1999)] and [Leung (1994)] for discussions on this topic). The essence of these techniques is the concurrent presentation of local detail together with the global context displayed at reduced magnification. A distorted view is created by applying a transformation function to an undistorted image. The system response time depends not only on the complexity of the mathematical function involved, but also on the amount of information and detail to be presented. This requirement suggest to combine fish-eye presentations with a detail-on-demand approach, to reduce the quantity of data to be handled. Requirements coming from the visualisation techniques and requirements coming from the net features converge towards reduction of data in web-based interactive database applications. Actually, any interactive database application involves different schemata of the database, representing data at different levels of abstraction. The end-user sees the data and the system through the visual model adopted by the user interface. The conceptual distance between the visualisation aspects and the formal data model raises the necessity of an intermediate level, bridging the gap between the two. We hence obtain a three-tier architecture for interactive database applications composed by: data model, interaction model, and visual model. The interaction model provides the structures for the user interaction by acting as a formal counterpart of visual elements and interaction primitives. The interaction structures provide abstractions of the database hiding details not necessary for handling the specific interaction tasks. In the framework of spatial database applications, a separate model for display purposes is used, e.g., in [Egenhofer (1994)] and in [Chomicki (1999)]. 1.2

Objectives of the paper.

We are working on a project aimed at the design of a visual interaction environment for GISs. At this stage of our project, we are not focusing on the visual model. Rather, we are studying the main requirements and necessary ingredients of an interaction model supporting a visual interaction based on focus+context visualisation, and details-on-demand data presentation. We consider databases in which the spatial component is a possibly infinite set of points in the 2-dimensional real space. Roughly speaking, we deal with spatially related collections of regions with features, hierarchically organised as a nested partition. Partitions have been identified as a key concept for perception of space [Frank (1990)], and have been regarded as the primary tool for spatial analysis tasks in geographic applications (see, e.g., [Erwig (1997), Frank (1997)]). Features, i.e., isolated points, lines, and areas within regions, are introduced to satisfy modelling requirements of real applications (e.g., cities, roads, rivers, lakes, etc.). We envision an exploration of the database where, starting from an abstract view, more detailed information is successively disclosed on demand. We use the term map to denote the view of the database rendered on the screen. At each stage of the interaction session, one region of the map provides the current focus of interest, while the other (surrounding) regions provide the context. The overall interaction process can be described by a sequence of user's activities composed by viewing the current map, selecting a region visible on the current map, and moving the focus to the selected region. As a result of the focus selection, a new map gets visualised, containing more detailed information on the focus region, which is assigned a greater display area while peripheral regions shrink (obeying to fish-eye view principles). To illustrate the interaction process, we consider a simple database whose regions are organised in a grid (see Figure 1-(a)). Each of the visible regions is in turn partitioned into a

2

number of subregions organised in a grid, and so on, recursively. The initial map displays the region at the root of the hierarchy; more detailed information is then disclosed on demand.

(a)

(b)

(c)

Figure 1. A sequence of zoom-in operations. The generic zoom-in step is outlined in Figure 1. Figure 1-(a) sketches the current map, where a number of regions have been disclosed. The user selects a region as new focus. In response the system produces a new map showing more details on the new focus: for the focus region the representational system is partial (i.e., it refers to only a subset of the data set), and not distorting; for context regions the representational system is global (i.e., it refers to the whole set of information), and distorting. The situation is illustrated by Figure 1-(b), depicting the map obtained after having chosen as new focus the middle region of Figure 1-(a). The process goes on similarly (Figure 1-(c)). Since the applied distortion preserve database topological properties (i.e., properties related to the relative position of objects, preserved under continuous deformations of the plane), we use topological invariants as primary interaction structures. A topological invariant is a finite structure corresponding to database abstractions hiding metric details and describing only topological properties. Topological invariants found in the literature (e.g., [Kuijpers (1995), Papadimitriou (1999)]) are often augmentations of the PLA model [Corbett (1979)], dealing with points, lines and areas. So far, topological invariants have received attention mainly in the framework of query languages, when concepts like adjacency, and connectivity are involved (e.g., “Find countries bordering on France”). If a topological invariant is available, a topological query posed against the spatial database can be answered by a query posed against the invariant [Kuijpers (1995), Papadimitriou (1999), Segoufin (1998)]. Despite the complexity of the translation, this strategy wins over direct evaluation of the original query, due to the much smaller size of the invariant relative to the full instance of the database. Topological invariants are often used in the framework of Constraint Databases [Kanellakis (1990), Paredaens (1995)], where the spatial component is described in terms of semi-algebraic sets (Boolean combinations of polynomial equalities and inequalities). Since the topological invariant of the spatial component of a constraint database can be computed in polynomial time [Kozen (1985)], we use Semi-Algebraic sets (SA-sets) to represent information in the spatial component. 1.3

The proposed approach.

To efficiently handle the proposed navigation, it is appropriate to have at disposal topological invariants of the database. At each interaction step we deal with a portion of the database described by SA-sets, to which we can associate a topological invariant. Computing the invariant by using known algorithms would imply posing queries against the spatial component at each interaction step, to extract the SA-sets. Actually, we note that (1) the problem at hand is the transition between maps resulting from commands which enrich/reduce the view, (2) interaction primitives require to modify only a portion of the current topological invariant. We therefore propose an incremental approach to update the topological invariant associated to the current map by exploiting the information computed up to that point, instead of recomputing everything from scratch et each step.

2.

The data model

In this section we define the properties of the spatial data we deal with, and accordingly define our notion of spatial database. We also provide a guiding example that illustrates the concepts

3

as they are introduced throughout the paper. It has to be remarked that, because of their interdependencies, some of the choices regarding the data model derive from requirements coming from the interaction model. Discussions about advantages and limitations of such choices are hence postponed after the presentation of the interaction model. In our model, the abstraction mechanism for single geometric objects is the region. A region is a closed subset of ℜ 2 homeomorphic to: (i) a single point; (ii) ℜ ; (iii) ℜ 2. Region types can be distinguished by the dimension (dim(R) denotes the dimension of R). If R is of type (i) then dim(R) = 0; if R is of type (ii) then dim(R) = 1; if R is of type (iii) then dim(R) = 2. We deal with a collection of regions, i.e., a finite set R = {R0, R1, …, Rn} where each Ri is a region. As basic abstraction mechanisms for spatially related collections of objects, we consider the nested partition and the aggregation. Informally, the former is a recursive subdivision of the plane into pairwise disjoint regions of dimension 2, quite common in geographic maps (consider, e.g., countries partitioned into states, partitioned into counties, etc). The latter defines associations among regions, to model real applications where isolated points, lines, and areas appear within regions (to represent cities, roads, rivers, lakes, etc., depending on the specific portion of the real world at hand). Definition 2.1 (spatial dataset) A set of regions R = {R0, R1, R2, … , Rn} is a spatial dataset if it is partitionable into two subsets BR = {B1, B2, … , Bp} and FR = {F1, F2, … , Fq} such that BR ≠ ∅; and dim(Bi ) = 2, 1 ≤ i ≤ p. Elements of BR and FR are called blocks and features in R, respectively. Definition 2.2 (flat partition) Let R be a spatial dataset, and B be a block in BR. A finite partition P = {B1, B2, …, Bj}, j ≥ 1, of B is a flat partition of B in R if Bi ∈ R , 1 ≤ i ≤ j. Definition 2.3 (refinement) Let R be a spatial dataset, B be a block in BR, and P = {B1, B2, …, Bj} be a flat partition of B in R. A refinement of P with respect to a block Bi ∈ P, 1 ≤ i ≤ j, is a flat partition P’ of B in R such that P’ = {B1, B2, …, Bi-1, Bi,1, Bi,2, … , Bi,l, Bi+1, …, Bj}, where {Bi,1, Bi,2, … , Bi,l} is a flat partition of Bi in R. Definition 2.4 (nested partition) Let R be a spatial dataset, and B0 be a distinguished block in BR . A nested partition of BR with respect to B0 is a finite set NPR(B0)= {P1, P2, …, Pk}, k ≥ 1, such that: i) Pi is a flat partition of B0 in R, 1 ≤ i ≤ k; ii) {B0} ∈ NPR(B0); iii) for each Pi ∈ NPR(B0)\ {B0}, 1 ≤ i ≤ k, there exists Pj ∈ NPR(B0), i ≠ j, such that Pi is a refinement of Pj; iv) k i =1

P i = BR .

A relation over NPR(B0) can be defined starting from the concept of refinement. Let Pi and Pj be two elements of NPR(B0): Pi Pj if and only if Pj is a refinement of Pi; Pj is an immediate refinement of Pi if Pi Pj and there not exists P ∈ NPR(B0) such that Pi P Pj. The relation induces a partial order over NPR(B0), and (NPR(B0), ) forms a lattice whose top is {B0} and whose bottom is the partition of NPR(B0) with the maximum size (denoted as bottom). In Sections 4 and 5 we will see that the lattice of partitions is a key concept in the formalisation of the interaction process. The nested partition induces a binary relationship sub-block among blocks: a block B is subblock of a block B’ if it belongs to some partition of B’. B is immediate sub-block of B’ if there exists a partition P such that B’ ∈ P and B belongs to the immediate refinement of P with respect to B’. If B is immediate sub-block of B’ then B’ is the parent-block of B; if B is sub-block of B’ then B’ is an ancestor of B. Definition 2.5 (aggregation) Let R be a spatial dataset with BR = {B1, B2, … , Bp} and FR = {F1, F2, … , Fq}. An aggregation for R is a function agg that associates to each block in BR a subset of FR such that: i) agg(Bi) ∩ agg(Bj) = ∅, i ≠ j; ii)

p i =1

agg(Bi) = FR; iii) if F ∈

agg(Bi), then F ⊂ Bi . We will say that a feature F belongs to a block B if F ∈ agg(B). Constraints in the definition above say that: i) a feature belongs to a unique block of the database, ii) a feature must belong

4

to some block of the database, iii) each point of a feature is also a point of the block the feature belongs to. In Section 5 we will see how these restrictions translate into interesting properties of the interaction space. Definition 2.6 (well-formed spatial dataset) A well-formed spatial dataset is a 5-ple D = (R, BR, FR, NPR(B0), agg), where: i) R is a spatial dataset whose blocks and features are in BR and FR, respectively; ii) NPR(B0) is a nested partition of R with respect to B0 ∈ BR; iii) agg is an aggregation for R. Spatial database. We restrict ourselves to databases in which the spatial component is a possibly infinite set of points in ℜ 2 that can be described by a well-formed spatial dataset. The thematic component includes three binary relations: Reg specifies name and dimension for each region in the database; SubBlock specifies the names of all immediate sub-blocks of each block; Features specifies the names of the features of each block. In this way, we represent the relationships among regions induced by the nested partition and by the aggregation (we are projecting out all thematic attributes not relevant for our analysis). In the spatial component, the relation extent specifies for each region its description in terms of a semi-algebraic set. Example. Let us consider a well-formed spatial dataset D such that BR = {R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11}, FR = {R12, R13, R14}, agg(R2) = {R12, R13, R14}, agg(Ri) =∅ for i≠2, and NPR(R0) is graphically represented in Figure 2-(b) (each node corresponds to a flat partition, and is labelled with the subscripts of its blocks; only the immediate refinement relationship is shown). Figure 2-(a) graphically represents the sub-block relationship. Figure 2-(c) depicts the map associated with the partition of maximum size (metric information about all other blocks can be deduced by this map and the sub-block relationship). Figures 2-(d) and 2-(e) depicts the region R2 along with its immediate sub-blocks and its features, respectively. 0

R0 1,2

R2

R1 R3

R5

R4

R6

1,5,6,7

2,3,4 2,3,8,9

R7

3,4,5,6,7

3,5,6,7,8,9

R8

R9 R10

R11 (b)

(4,6)

(4,6)

R9

R11 R7

(4,6)

R7

R14

R6

R13

R10

R8

R12

R3 (0,0)

3,4,5,7,10,11

3,5,7,8,9,10,11

(a) (0,6)

1,5,7,10,11

R5 (4,0)

R5 (10,0)

(4,0)

(10,0)

(c)

(d)

(4,0)

(10,0)

(e)

Figure 2. The nested partition and the features of the example well-formed dataset.

5

3.

The Interaction model

An interaction model provides the formal counterparts of visual elements and primitives in terms of interaction structures and primitives. As to the interaction structures, we have to define database abstractions hiding details not necessary to support interaction tasks. By looking at the sequence of interaction steps of Figure 1 we notice the different requirements for the visualisations of focus region, and context regions: i) since the focus region is represented without distortion, the visualisation layer has to access the spatial component to retrieve its extent description; ii) since the context regions are deformed while preserving topology, the visualisation layer needs an abstraction hiding metric details while capturing topological aspects. We also observe that in future interaction steps the focus may be moved to the context. It is hence convenient to deal with structures that integrate context and focus. Notice also that the interaction process produces a sequence of views of the database (each visualised in a map). As to the interaction primitives, our aim here is not to define a complete visual model, but rather to study and formalise key aspects of a focus+context navigation approach. We therefore restrict our attention to a "minimal" set of basic interaction primitives IPbase, which can act as a kernel for extended sets of primitives, defined on top of IPbase. Primitives in IPbase correspond to elementary transitions between the interaction structures. Summarising, our interaction model comprises: structures representing topology of views (Section 3.1), and primitives defining selected transitions between structures (Section 3.2). 3.1

The interaction structures

The interaction structures have to encode the topological properties, i.e., properties invariant under continuous transformations of the plane. Different classes of continuous transformations preserve different topological properties. A class of continuous transformations is defined by specifying a group Φ of bijections ϕ: ℜ 2 → ℜ 2 that can be applied without changing the satisfaction of the properties of interest. Typical examples of bijections are the group H of homeomorphisms and the group I of isotopies. Intuitively, homeomorphisms are continuous deformations and reflections of the plane, while isotopies concern only with continuous deformations. Since in the framework of geographic maps reflections are to be avoided, we restrict our interest to the group I of isotopies. (0,6)

R9 R8

R2

R3 (0,0)

(4,0)

(a)

(10,0)

P = L = A = ∞ = Obs(a) Obs(b) Obs(c) Obs(d) Obs(e) Obs(f)

{a,b,c,d,e,f} {L,M,N,O,P,Q,T} {R2,R3,R8,R9,ε} ε = {ε N R8 M R3 L} = {ε Q R9 P R8 N} = {ε T R2 S R9 Q} = {ε O R8 V R2 T} = {R9 S R2 V R8 P} = {ε L R3 M R8 O}

(b)

ε b

a L

N

M f

c

R9 P

R3

Q

R8

S e V

O

R2 T

d

(c)

Figure 4. (a) The flat partition P = {R2, R3, R8, R9} of R0; (b) the PLA derived from P, and, (c) one of its possible graphical representations. Our interaction model hence refers to topological structures invariant with respect to I. PLAstructures [Kuijpers (1995)], containing topological information on points, lines, and areas of a spatial database, well serve this intent. Given a spatial database, its associated PLA-structure is a 5-ple (P, L, A, ∞, obs), where: P, L, and A denote sets containing point names, line names and area names, respectively; ∞ denotes the unbounded area (the portion of the plane outside the database); obs is a function that, for each point in P, returns the corresponding

6

observation, i.e., a circular clockwise alternating list of lines and areas giving the neighbourhood of the point. It is in observations that topological relationships are encoded. Example. Figure 4-(b) shows the PLA-structure associated to the map of Figure 4-(a) along with a possible graphical representation in Figure 4-(c). In Sections 4 and 5 we derive the PLA-structure associated to a well-formed spatial dataset. 3.2

The interaction primitives

The hierarchy of blocks and the aggregation relationship are orthogonal with respect to modelling requirements. This orthogonality is reflected also by the basic interaction primitives we propose: given a focus region, we can require/hide details regarding either its sub-blocks or its features (notice that we are implicitly assuming that only blocks may be focuses). The set IPbase includes the following interaction primitives: start (to activate the interaction process) zoom-in and zoom-out (to add/subtract details regarding sub-blocks of the focus); show-feat and hide-feat (to add/subtract details regarding features of the focus). A block is said open if its features are visible on the screen, closed otherwise. Zooming primitives and feature-oriented primitives do not interfere with each other wrt addition and subtraction of visible information. For instance, a zoom-in on an open block B adds details on sub-blocks of B without visualising their features, while maintaining visible features of B. The proposed set of elementary interaction primitives, though minimal, allows us to visit all the possible views of the database (i.e., the interaction space). More complex primitives can be defined as combination of these ones, e.g., to implement visualisation strategies taking into account the degree of user's interest: not only may a small degree of interest in an element (far from the focus) translate in smaller screen area assigned to it, but it may also imply a suppression of some visible details. It is easy to see that semantic scaling of this sort can be easily defined in terms of primitives in IPbase. Given the different roles that hierarchy of regions and features play in the interaction process, we study zooming primitives and feature-oriented primitives separately. In Section 4 we discuss zooming operations under the hypothesis that the database does not contain features, thus isolating the main characteristics of the interaction space (its “shape” and traversing rules) in a simpler case. In Section 5 we then extend the results to the case with features.

4.

Zooming in feature-less databases

In this section we study zooming primitives in absence of features, i.e., for databases in which all regions are blocks. We hence consider a spatial database whose spatial component corresponds to a well-formed spatial dataset D = (R, BR, FR, NPR(B0), agg), where FR = ∅. In the case of our example database, this implies that: regions R12, R13, and R14 are to be left out, all regions in the relation Reg have dimension 2, and the relation Features is empty. Since we are not including features, each view generated during the interaction process corresponds to a flat partition in NPR(B0). We have hence to define PLA-structures associated to flat partitions, and primitives defining the transitions between these structures. 4.1

Interaction structures for feature-less databases

To build a PLA-structure from the SA-set defining a flat partition, we follow a procedure divided into three steps: 1) the partition is redefined in terms of points, lines and areas (metric concepts are still involved); 2) points, lines and areas are assigned unique labels; 3) a PLAstructure is computed to retain only labels, and to capture topological relationships: step 1: Given the SA-sets describing a flat partition P, a corresponding subdivision of the plane is computed by polynomial time algorithms known from the theory of algorithms for real algebraic geometry [Kozen (1985)]. Each element of this subdivision is one of the 7

following three types: i) a single point; ii) a line; iii) an area. Exactly one element is unbounded, and must be an area. Each area corresponds to a region of P, but for the unbounded area, which corresponds to the portion of the plane outside P. Lines are induced by the borders of regions, points are intersections of lines. Each line is a non-intersecting continuous curve in the plane that starts and ends in points (the endpoints of the line) and does not contain any other point except these. Lines may start and end in the same point, that is, lines can be loops. Different lines may have the same endpoints. step 2: Points and lines computed in step (1) are assigned arbitrary names, while each area is named after the region it corresponds to (this provides in a simple way the mapping between the topological invariant and the database). step 3: The topological relationships are captured by defining a PLA-structure PLA(P) = (P, L, A, ∞, obs) such that P, L, and A denote the sets containing point names, line names and area names determined in step (2), respectively; ∞ denotes the unbounded area of P; obs returns the observation of each point in P. Example. Figure 4-(a) shows the map associated to one of the flat partitions of the lattice in Figure 2-(b). Figure 4-(b) displays its associated PLA-structure. Figure 4-(c) shows a subdivision of the plane (isotopic to the map in Figure 4-(a)) whose topological relationships are captured by the PLA-structure of Fig. 4-(b). In our application, the problem of associating with a PLA-structure a graphical representation (a map) is left to the visualisation software. 4.2

Zooming primitives in feature-less databases

In feature-less databases the interaction space coincides with the set of PLA-structures associated to flat partitions in NPR(B0). The transitions between structures are determined by zoom-in/zoom-out primitives. Formally, if P is a flat partition, and B is a block of P: zoom-in(PLA(P), B) = PLA(P'), where P’ is the immediate refinement of P wrt B. zoom-out(PLA(P), B) = PLA(P'), where P’ P, B ∉ P’, and there not exists P’’ ∈ NPR(B0) such that P’ P’’ P, and B ∉ P’’. It is worth noting that zoom-in (zoom-out) cannot be applied to the bottom (top) of the lattice. Intuitively, the zoom-out primitive generates the PLA-structure associated with the partition of maximum size among those not containing B and containing its parent-block. With reference to our example lattice, if the current partition is P = {R3, R4, R5, R7, R10, R11} and the selected block is R5, then the resulting partition is P’ = {R2, R3, R4}. From the above definitions it follows that the interaction space IS associated to a wellformed spatial dataset D = (R, BR, ∅, NPR(B0), agg), and to the set of primitives IPbase is a directed graph IS(NPR(B0), ∅, IPbase) = (N, A) defined as follows: for each flat partition P in NPR(B0) there is a node PLA(P) in N; for each zoom-in/zoom-out transition there is a zoom-in/zoom-out arc in A, as follows: if zoom-in(PLA(P), B) = PLA(P'), then there exists a zoom-in arc from PLA(P) to PLA(P') labeled by B; if zoom-out(PLA(P), B) = PLA(P'), then there exists a zoomout arc from PLA(P) to PLA(P') labeled by B. We observe that the interaction space is induced by the lattice: nodes are induced by elements of NPR(B0), zoom-in arcs are induced by the immediate refinement relationship, zoom-out arcs are induced by the refinement relationship (but have opposite direction). An interaction process is described by a path on IS(NPR(B0), ∅, IPbase) and involves the generation of the PLA-structures belonging to the path. Given the SA-sets describing a flat partition, we are able to compute the PLA-structure associated to it (by using the algorithm sketched in Section 4.1). We would hence be able to compute all the PLA-structures required by the interaction process. Unfortunately, this would imply posing a query against the spatial component of the database at each interaction step to extract the SA-set (which is exactly what we want to avoid). It has to be observed that: (1) the

8

real problem at hand is the transition between PLA-structures as a result of zoom-in/zoom-out primitives, and (2) each zooming operation requires to modify only a portion of the current PLA-structure. As a consequence, we propose an incremental approach to update the current PLA-structure by exploiting the information already computed. The discussed algorithm is used only once, at the beginning of the interaction session, to derive PLA(bottom), the information of which is exploited by the incremental zooming algorithms. The start primitive is issued to visualise the most abstract view of the database (which is the starting point of the interaction process). It simply builds PLA(B0), a simple structure with one point and one line starting and ending in the same point, which will be enriched by zoomingin operations. The interested reader may refer to [Cicerone (1999)] for the algorithms implementing the zooming primitives in feature-less databases. Notice that the algorithms make also use of a hierarchical structure T(SubBlock) (representing the relation SubBlock), which must hence be considered part of the interaction model. PLA(0) 0 PLA(1,2) 2

1 PLA(2,3,4) 2

4

PLA(1,5,6,7) 6

1

PLA(1,5,7,10,11)

PLA(2,3,8,9) 2

PLA(3,4,5,6,7) 4 6

PLA(3,5,6,7,8,9)

1 PLA(3,4,5,7,10,11)

6

4 PLA(3,5,7,8,9,10,11)

Figure 5. The graph IS(NPR(B0), ∅, IPbase) of the example database and a path on it. Example. Let us consider the feature-less version of our example database. If, starting from a map depicting R0, the user successively zooms in R0, R2, R6, the interaction process is given by the following transitions: zoom-in(PLA({R0}), R0) = PLA({R1, R2}), zoom-in(PLA({R1, R2}), R2) = PLA(R1, R5, R6, R7}), zoom-in(PLA(R1, R5, R6, R7}), R6,) = PLA(R1, R5, R6, R7, R10, R11}). Figure 5 shows IS(NPR(B0), ∅, IPbase) where, for the sake of simplicity, only zoom-in arcs are depicted, and blocks are represented by the associated subscripts. The dashed arrows outline the path corresponding to the above described interaction process. We expect IS(NPR(B0), ∅, IPbase) to be a simplification of the interaction space associated to a database with features, presented in the following section. 5.

Exploring databases with features

Let us now consider a spatial database whose spatial component corresponds to a well-formed spatial dataset D = (R, BR, FR, NPR(B0), agg), where FR ≠ ∅. Views generated during the interaction process may be richer than the ones previously studied, due to the presence of features in open blocks. We therefore need to define structures representing the topology of these kind of views (Section 5.1) and primitives defining elementary transitions between these structures (Section 5.2).

9

5.1

The interaction structures.

To extend results of Section 4.1, we have to show how features affect (1) the PLA-structure, and (2) the mapping between the PLA-structure and the thematic information. To address point (1), observe that any subset S of R is described by SA-sets, from which a PLA-structure can be computed by an algorithm derived with minor changes from the one of Section 4.1. If S is a subset of D, in the resulting subdivision of the plane (and then in PLA(S)) some points and lines correspond to points and lines in the database (deriving from database features): points either correspond to regions of dimension 0 or are intersections of lines, lines are induced either by regions of dimension 1 or by region boundaries, areas either are induced by regions of dimension 2 or come from intersections of regions. Only step (2) of the algorithm is affected by features: points, lines, and areas are assigned arbitrary names (we lost the one-to-one correspondence between blocks in BR and areas). Example. Let us consider the subset S of our example database containing R1, R5, R6, R7, and the features of R2. A graphical representation of PLA(S) is given in Figure 6 (for the sake of simplicity we named only some sample elements). Notice that p7 corresponds to R12, while areas A1, A2, A3, A4 together correspond to R6. To address point (2), we associate to each region R in R a set of elements of the PLAstructure. The mapping is provided by the function obj, which associates to each region R in R an alternating list of points in P and lines in L, according to the following rules: - if dim(R) = 0, then obj(R) = (p), where p is the point in P corresponding to R; - if dim(R) =1, then obj(R) = (p1, L1, p2, L2,…, pn, Ln, pn+1), n > 1, such that endpoints(Li) = (pi, pi+1), 1 ≤ i ≤ n, Li ≠ Lj, 1 ≤ i, j ≤ n, pi≠ pj, 1 ≤ i, j ≤ n, but possibly p1 = pn+1, where obj(R) is the sequence of points and lines coming from the intersection of R with other regions in R; - if dim(R) =2 then obj(R) = (p1, L1, p2, L2,…, pn, Ln, pn+1), n > 1, such that endpoints(Li) = (pi, pi+1), 1 ≤ i ≤ n, Li ≠ Lj, 1 ≤ i, j ≤ n, pi≠ pj, 1 ≤ i, j ≤ n, and p1 = pn+1, where obj(R) is the sequence of points and lines belonging to the boundary of R and coming from the intersection with other regions. P1

L1 P2

P11

L2 P3 A3 A2 L3 A1

L8 P10

P4 L4 P5 L9

L7 P8

A4

L10

P9

L5 P6

P7 L6

Figure 6. Example. In Figure 6 we see some examples of the three cases: obj(R12) = (p7), obj(R14) = (p1, L1, p2,, L2, p3, L3, p4, L4, p5, L5, p6,), obj(R5) = (p8, L7, p11, L8, p10, L9, p5, L10, p9, L6, p8). 5.2

The interaction primitives in the general case

Following the same reasoning line as in Section 4.2, we must (1) identify the set of all views, and (2) define elementary transitions among them to "shape" the interaction space. At each step of the interaction process we deal with a PLA-structure associated to a view determined by the history of the interaction. For instance, the view S = (R1, R5, R6, R7, R12, R13, R14) of the previous example can be obtained, starting from R0, by (1) zooming in R0 (to visualise its immediate sub-blocks R1 and R2), (2) opening R2 (to visualise its features R12, R13,

10

and R14), and (3) zooming in R2 (to visualise its immediate sub-blocks R5, R6, R7). S is partitionable into two subsets SB and SF of blocks and features: SB = (R1, R5, R6, R7) corresponds to a partition in the lattice, SF = (R12, R13, R14) derives from the open state of R2. It is worth noting that information in SF depends on the open/closed state of the parent-block of block in SB (in the general case, ancestors of blocks in SB have to be considered). To formalise these concepts, we first need to introduce some further terminology. Definition 5.1 (closure of a partition) Let R be a spatial dataset, NPR(B0) be a nested partition of R with respect to B0 ∈ BR, and P = {B1, B2, …, Bk} be a flat partition in NPR(B0). The closure of P in NPR(B0) is the set P+ =

k i =1

ancestors(Bi) ∪ P containing all the

ancestors of blocks in P. Definition 5.2 (state function) Let R be a spatial dataset, NPR(B0) be a nested partition of R with respect to B0 ∈ BR, P be a flat partition in NPR(B0), and P+ be the closure of P. A state function is any Boolean function state: P+ → {0, 1}. Intuitively, such a function allows us to distinguish between open and closed blocks in P+. Definition 5.3 (view) Let D = (R, BR, FR, NPR(B0), agg) be a well-formed spatial dataset. A subset S of R is a view of D if it is partitionable into two subsets SB and SF such that SB is a flat partition in NPR(B0) and SF = {agg(B) | B ∈ SB+ ∧ state(B) = 1} for some state function defined on SB+. Our interaction space coincides with the set of PLA-structures associated to all possible views of D. If S = SB ∪ SF is a view of D, we say that PLA(S) = PLA(SB, state) where state determines SF (in other words, a view is defined by a partition and a state function defined on its closure). The starting view of the interaction process (i.e., the most abstract view) is associated with the PLA-structure PLAstart = PLA({B0}, state0) where state0(B0) = 0. Transitions between structures in the interaction space are determined by zoom-in/zoom-out and show-feat/hide-feat primitives (for sake of brevity, we describe here only the primitives adding details; zoom-out and hide-feat can be defined in a symmetric way). Formally, if P is a flat partition, state is any state function defined on P+, and B is a block in P: - zoom-in(PLA(P,state), B) = PLA(P',state'), where P' is the immediate refinement of P with respect to B, and for each block X ∈ P' +, state'(X) = 0 if X is an immediate sub-block of B, state'(X) = state(X), otherwise. - show-feat(PLA(P,state), B) = PLA(P, state'), where for each block X ∈ P+, state'(X) = 1 if X ≡ B, state'(X) = state(X), otherwise. Our next step is the definition of the interaction space IS in terms of a directed graph. Again, we limit the analysis to zoom-in and show-feat arcs only (properties of other arcs can be derived from this analysis and the properties of the simplified graph of Section 4.2). The interaction space IS associated to a well-formed spatial dataset D = (R, BR, FR, NPR(B0), agg), with FR ≠ ∅, is a directed graph IS(NPR(B0), FR, {zoom-in, show-feat}) = (N, A) defined as follows: - for each flat partition P ∈ NPR(B0) there are 2K nodes PLA(P,state), where K = P+, one for each distinct state function state defined on P+; - for each zoom-in transition there exists a zoom-in arc in A, as follows: if zoomin(PLA(P,state), B) = PLA(P',state'), then there exists a zoom-in arc from PLA(P,state) to PLA(P',state') labelled by B; - for each show-feat transition there is a show-feat arc in A, as follows: if showfeat(PLA(P,state), B) = PLA(P, state'), then there exists a show-feat arc from PLA(P,state) to PLA(P,state') labelled by B. To study the “shape” of IS(NPR(B0), FR, {zoom-in, show-feat}) it is convenient to analyse the two kinds of transitions separately. As to show-feat transitions, it is worth noting that given P ∈ NPR(B0), the 2K nodes in H(P) = {PLA(P, state) | state: P+→ {0, 1}}, and transitions among them, can be naturally represented

11

by a hypercube as follows: each PLA(P, state) ∈ H(P) is a node of the hypercube, while two nodes PLA(P, state’) and PLA(P, state’’) are connected by a show-feat arc if and only if state’ and state’’ differ exactly on one element of P+. By the definition of show-feat it follows that two nodes are connected by a show-feat arc only if they belong to the same hypercube. As to zoom-in transitions, we notice that they are admitted only between nodes belonging to adjacent hypercubes (we say that two hypercubes H(P) and H(P’) are “adjacent” if P’ is an immediate refinement of P). More precisely, two nodes PLA(P,state) and PLA(P’, state') are connected by a zoom-in arc only if H(P) is adjacent to H(P’) and state and state’ are “zoom-in compatible” with respect to the focus block (i.e., they obey the zoom-in definition). If we compare IS(NPR(B0), ∅, {zoom-in}) and IS(NPR(B0), FR, {zoom-in, show-feat}), we notice that: where we had a node PLA(P) in IS(NPR(B0), ∅, {zoom-in}), we have a hypercube H(P) in IS(NPR(B0), FR, {zoom-in, show-feat}); where we had a zoom-in arc in IS(NPR(B0), ∅, {zoom-in}) we have a sheaf of zoom-in arcs in IS(NPR(B0), FR, {zoom-in, show-feat}). Intuitively, the interaction space can be viewed as a “lattice of hypercubes”. Again, an interaction process can be described by a path on the graph, and involves the generation of the PLA-structures belonging to the path. Similarly to the feature-less case, we adopt an incremental approach to generate such structures. At the beginning of the interaction session we compute PLAstart and PLA(bottom, stateallOpen), where stateallOpen(Bi) = 1 for each Bi ∈ bottom. The former is successively enriched (or reduced) during the course of the interaction process by algorithms that exploits information in the latter and in T(SubBlock).

6.

Conclusions and future work

The main characteristics of the system here discussed derive from requirements of modern (web-based) information intensive applications: the kinds of users involved, the volume of data to be conveyed on the screen, and the technical requirements of the adopted medium push towards simplification of interaction paradigms and reduction of the handled data. In this scenario we presented the formalisation of an interaction model for GISs aimed at supporting visual interfaces characterised by fish-eye visualisation, details-on-demand data presentation, and zoom-based navigation. Since our aim was to study and formalise key aspects of such an interaction model, we restricted our attention to a minimal set of interaction primitives IPbase, a kernel for extended sets of primitives. Primitives in IPbase correspond to elementary transitions between interaction structures based on the notion of topological invariant. The interaction structures, encoding topological information of views of the database, are generated during the interaction process following an incremental approach aimed at enriching/reducing the information associated to the current view. A prototype of the system is now being implemented. The visual presentation technique conforms to a Cartesian transformation of the map; the related algorithms are inspired by the work in [Sarkar and Brown (1992)]. Future work will extend both the interaction model and the data model (the two layers are not independent one another). At present our primary interest is on the influence of features and of features-oriented primitives on the interaction space. The regularity of the interaction space discussed in Section 5 derives primarily from the constraints posed on the aggregation function. Features handled in our data model are somehow dead-end points in the navigation: features are not partitioned (and hence cannot be zoomed-in), features do not have features (and so cannot be opened), while real applications may require more flexibility. Let us consider for example a city, which may be feature of a county; we might, for example, being interested in exploring its districts (i.e., we want to zoom in it), or in viewing its churches or monuments (i.e., we want to open it to visit its features). The challenge is hence extending the data model, with consequent extensions to the interaction model (new primitives or modifications of existing primitives can be required), without sacrificing formalisation and regularity of the interaction space (which will be shaped differently).

12

References Card, S. K., Mackinlay, J. D., and Shneiderman, B. (eds.) (1999). Readings in information visualization: using vision to think, Morgan Kaufmann. Chomicki, J., Liu, J., and Revesz, P. (1999). Animating spatio-temporal constraint databases, in Intl. Workshop on Spatio-temporal Database Management, vol. 1678 of Lecture Notes in Computer Science, Springer, 224-242. Cicerone, S., Frigioni, D., Tarantino, L., and Di Felice, P. (1999). Interacting with topological invariant of spatial databases, in Proc. of the International Symposium on Database Application in Non-Traditional Environments, IEEE Press, 114-119. Corbett, J. P. (1979). Topological principles in cartography. Technical Report 48, US Bureau of the Census, Washington DC. Egenhofer, M. J. (1994). Spatial SQL: A query and presentation language. IEEE Transactions of Knowledge and Data Engineering vol. 6(1), 86-95. Erwig, M., and Schneider, M. (1997). Partition and conquer, in Proc. of 3rd Intl. Conf. on Spatial Information Theory, vol. 1262 of Lecture Notes in Comp. Science, Springer, 298-320. Frank, A. U. (1990). Spatial concepts, geometric data models and data structures, in Computer and Geosciences. Frank, A. U., Volta, G. S., and Granaghan, M. M. (1997). Formalization of families of categorical coverages. Intl. Journal of Geographical Information Science vol. 11(3), 215-231. Furnas, G. W. (1986). Generalized fisheye views, in Proc. of ACM Conf. on Human Factors in Computing Systems, ACM Press, 16-23. Kanellakis, P. C., Kuper, G. M., and Revesz, P. Z. (1990). Constraint query languages, in Proc. of the ACM PODS, vol. 9, ACM Press, 299-313. Kozen, D., and Yap, C. K. (1985). Algebraic cell decomposition in nc, in 26th Annual Symposium on Foundations of Computer Science, IEEE Press, 515-521. Kuijpers, B. (1998). Topological properties of spatial databases in the polynomial constraint model. PhD thesis, Dept. Wiskunde en Informatica, University of Antwerp. Kuijpers, B., Paredaens, J., and Van den Bussche, J. (1995). Lossless representation of topological spatial data, in Advances in Spatial Databases, vol. 951 of Lecture Notes in Computer Science, 1-13. Springer. Kuper, G., Libkin, L., and Paradaens, J. (eds) (2000). Constraint databases, Springer. Leung, Y. K., and Apperley, M. D. (1994). A review and taxonomy of distortion-oriented presentation techniques, in ACM Trans. on Computer-Human Interaction, vol. 1, 126-160. Nigay, L., and Vernier, F. (1998). Design method of interaction techniques for large information spaces, in Proc. of the Working Conf. on Advanced Visual Interfaces AVI 1998, (Catarci, T., Costabile, M. F., Santucci, G., and Tarantino, L., eds.), ACM Press, 37-47. Papadimitriou, C. H., Suciu, D., and V. Vianu (1999). Topological queries in spatial databases. Journal of Computer and System Sciences vol. 58, 29-53. Paredaens, J. (1995). Spatial database, the final frontier, in Proc. of Intl. Conf. on Database Theory, vol. 893 of Lecture Notes in Computer Science, Springer, 14-32. Sarkar, M., and Brown, M. H. (1992). Graphical fish-eye views of graphs, in Proc. of CHI'92, ACM Press, New York, 83-91. Segoufin, L., and Vianu, V. (1998). Querying spatial databases via topological invariants, in Proc. of the ACM PODS, vol. 17, ACM Press, 89-98. Shneiderman B (1997). Information exploration: Search and visualisation, in Designing the User Interface, chapter 15. Addison-Wesley, Reading, MA.

13

This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.

Suggest Documents