Increments allow navigation through these different LoD objects and in this way reuse of available LoD representations on the client-side.. But geometrical operators are used in order to
Trang 1façade elements Three different kinds of structures can be identified, for which appropriate reduction methods are defined: extrusion or intrusion, offset, and cor-ner (see Fig 4.5)
Fig 4.5. Elimination of short facade S n : offset (a), intrusion/extrusion (b) and corner (c)
(based on Sester et al., 2004b)
These operators are interesting in a client-server context with limited resources
by reducing the amount of transferred data Generalised dataset can be sent before
a more detailed one Furthermore such operators guarantee the “sharing of tries” which is essential in an incremental strategy
geome-Consequences on incremental transitions between different levels of detail
If we observe results of these operators on different representations of regions and polylines, we can deduce the different changes to perform on an object in order to rebuild its more generalised or detailed representation
Case of simplified polylines: In consequence of the simplification process,
eliminated points need to be inserted in the generalised representation of the line in a refinement transition and must be removed from the most detailed one during a generalisation transformation In this last case a choice must be done be-tween conservation of shared points or removal of details Moreover, vertices can
poly-be moved poly-between different LoDs, for example in order to respect the topological relations with neighboring objects: coordinates of these points must be changed during a refinement or generalisation transition
Case of simplified regions: In generalisation transition, vertices can be either
kept (for the common points), removed (for the details), or moved (for preserving parallelism and rectangularity properties of building) In refinement transition, vertices can be either moved or introduced (for adding details)
These generalisation operators are expected to be performed on the server side and followed by a process of increment creation A formalism has been defined in order to consider different object resolutions and transformations between them
Trang 24.3 MR data and MR data transfer models
4.3.1 Data model
A multiresolution data model adapted to limitations of mobile context has been defined in Follin, et al (2005b) The data organization is based on the traditional definition of a geographic map: objects are grouped into layers and a sequence (or overlay) of layers forms a map (Tomlinson, 1967) As representations of objects vary according to the level of detail, we consider different LoD objects grouped into different LoD layers Increments allow navigation through these different LoD objects and in this way reuse of available LoD representations on the client-side In order to reduce volume of data transferred from server to client, incre-ments are sent if their size is less important than the size of LoD objects
Layer and object
A layer, noted l, is a collection of objects associated with a description of their
at-tributes Each layer corresponds to a specific theme (e.g transportation network or buildings) that can be decomposed in different LoD layers
A map is defined as a succession of thematic layers which aims to be manipulated and visualized at a specific scale (Follin, et al 2005b)
An object entity is defined by the quadruplet ( o , t , g , J ) where:
x o: unique identifier,
x t: last time of modification (timestamp value),
x g: location and geometrical description (modelled by one among six
two-dimensional geographical objects of spatial domain G: Point, Polyline or Region for simple objects, and MultiPoint, MultiPolyline and MultiRegion for collections of objects),
x J: alphanumeric values J J1, J2, , Jn accessed through the set
of object’s attributes a1, a2, , an (for instance, the name of a street)
LoD layer and LoD object
LoD layers of a layer l correspond to the definitions of l’s objects in the scale ranges where they exist A layer l can be seen as a serie of n LoD layers LoD ob-
jects included in LoD layers can be matched (i.e linked) between the two or more consecutive levels where they are represented The matching configuration corre-sponds to the number of matched LoD representations of the same real world enti-ties (when objects are represented at two different LoDs)
Three different matching cases are distinguished in Ai et al (2001): 1:1, 1:n and
n:m matching case In our works only the 1:1 and 1:0 matching cases have been
considered, i.e the cases where 1 LoD representation of an object is mapped to 1
Trang 3representation of the same object at a different and consecutive LoD or where it is not linked to other object (because it has been deleted between the two LoDs) Only these matching configurations are studied because use of incremental opera-tors seems only relevant for these cases: more complex matching configurations should involve more complex increments which are less interesting
The linking is based on identifier o of the object’s different representations Some
solutions to match objects with various link cardinalities have been studied in Hampe et al (2003)
A LoD representation or LoD object is an object o version defined for a level i
in adequacy with a scale interval It will be notedoi
The below described concept of increment is applied to polylines but can also
be valid for regions Indeed a region can be defined as a closed polyline: its boundary
A polyline noted P is defined as a sequence of vertices ^ V1, , Vn` such that each couple V1, Vi1 defines a segment> V1, Vi1@
As we deal with multiple representations of same polylines, we use the following definition: a vertex Vi j is a vertex V at index i of a polyline P j
For example, we consider two LoDs of a polyline in Fig 4.6: a detailed and a
simplified one We can notice that vertices of P n with indexes 1 and 4, i.e V1n and
We define the vertices which have the same coordinates, i.e are matched, in the
two LoD representations P n and P n+1 as shared (or matched) vertices
The set of matched vertices is used during the creation of increment and struction of the polyline
op , where a geometrical
op-erator op i is combined with a manipulated vertex Vi j
An increment is defined as an ordered list of increment points The increment
allowing transition from o n to o n+1 (resp o n-1) will be noted Inc on, n o n 1
(resp Incon, n o n 1 )
Trang 4Fig 4.6 Vertices of two LoD representations of a same polyline
Four geometrical operators are considered:
x insert: puts a vertex V which is only present in the most detailed polyline P n-1
at the index i of the less detailed one P n during a transition from LoD n to LoD n - 1 (noted n o n 1) It manipulates the index and coordinates of a vertex
x keep: keeps a vertex V n shared by P n and P n+1 at index i of P n,
x remove: removes a vertex V n only present at index i of P n,
x move: changes the coordinates of a vertex V in a polyline P n It manipulates index and coordinates shifts of a vertex for a given transition n o n 1 or
n o and manipulate only the vertex index The first one is used if vertices
to keep are fewer than vertices to remove, and the second one if the number of vertices to keep is more important than those of vertices to remove (cf sec-tion 4.4.3)
We use the following notations:
x Qinsert for the domain of inserted vertices defined as couples
x Qremove for those of removed vertices defined as couples n
iV remove, ,
x and Qmove for those of moved vertices defined as couples n
iV move, The domain of increments points is noted Qinc, such that:
Trang 5^ insert keep remove move`
b i lod
V op o n m
Each increment point j
i
i V
op , has an encoding cost (or size)
i op
C ing the number of bytes used to encode a vertex and an operation This cost de-pends on the vertex part manipulated by the geometrical operator (index only or
represent-both index and coordinates) The total encoding cost C Inc of an increment sponds to the sum of costs of all its increment points Thus it is an indicator of the time it will take to transfer the increment from a server to the client:
i
i V
op , is then replaced with an operator nop for these identical
ob-jects called Oid nop operator is used for marking object o that must be kept
without modifications An increment ^ o, nop ` with o Oid is used only during
a generalisation transition because all objects of destination set (the more ised one) come from the origine set (the more detailed one) This is a consequence
general-of the selection/elimination process (cf section 4.2.3)
, 2
, 1
, 2
3 2
, 1
2
, move V insert V insert V
P
Trang 6Increments act in a similar manner as EGO’s defined in Sester et al (2004b) But geometrical operators are used in order to reduce the amount of exchanged data by reusing LoD representations of objects available in client’s cache and not
to achieve a continuous generalisation like the EGO’s Furthermore in our case, the process of increment creation is independent of the generalisation In this way, increments can be computed from data coming from different sources The above described different concepts are used during client-server transfer of data
Fig 4.7. Different configurations of polylines’ LoD representations in 1-dimensional space
4.3.2 Transfer and management principles
Types of multi-resolution data
Different types of data implied in an embedded navigation application for izing MR data have been distinguished in Follin et al (2005a) We have consid-ered the real-time navigation of a mobile user across two LoD representations of a same thematic layer where the user requests are based on both its location and the zoom level Only data relevant to it location are downloaded
visual-Three types of requested data have been identified depending on locally able LoD data:
avail-x already available dataset that can be reused from the same level of detail,
x dataset that can only be reused from the previous level of detail, called useful objects Outil,
x dataset that is unavailable on the client for all LoD layers and needs to be trieved from the server It can be either objects omitted during generalisation process (in the case of a refinement transition), or newly displayed objects (in all cases)
Trang 72 The two-step communication schema where all queries are still executed on the server but the client maintains data cache and can reuse already received objects ;
3 The pre-computed answer mode where the client can execute some queries locally without connection to the server
In Follin et al (2005a) we have proposed a general transfer model of MR data based on the communication with a pre-computed answer MR data transfer is per-formed in order to reuse data already locally available at a LoD different from re-quested one Thus, local processing of LoD objects can be made as answer to a
client request of transition between a LoD m to a LoD n representation (zoom in
or out), i.e from a source layer to a destination one It can also be made each time that required data are covered by data available at a different LoD (during a pan operation or as a consequence of the user’s displacement)
This data transfer model is decomposed in four steps:
1 Local computing of the identifiers of objects reusable at the destination and source layers,
2 Sending of a request to the server including identifiers of the destination and source layers, completed by two sets of identifiers: objects available at que-
ried level n and objects Outil m exclusively available at source level m,
3 Sending by the server of an answer which mainly includes (if there is no data update) missing objects at both LoDs and increments set Inc Outil m , m o n
allowing reuse of objects Outil m only available in level m and required for level n,
4 Rebuilding of missing LoD n objects from same objects Outil m available at
level m andInc Outil m , m o n
Comparison between mono-resolution and multi-resolution strategy
This transfer strategy can be called multi-resolution strategy because it is based
on incremental reconstruction of data: not only available object at level n but also useful objects of level m (i.e data only available in l m and reusable for l n) are con-sidered on the client side This strategy can be compared with a mono-resolution
one for which only objects available at required level n are taken into account
Ef-ficiency of our model for reducing the amount of transferred data can be evaluated with such a comparison (section 4.5.4)
Trang 84.4 Incremental strategy: conditions and interest
4.4.1 Discussion about increment creation and reconstruction
Two types of functions are distinguished in incremental strategy: those for ating increments from two LoD representations of the same object and those for reconstructing the LoD representation of an object from another LoD of the same object and the corresponding increment
cre-The first are performed on the server side and the second on the client side More details on formal functions and algorithms are given in Follin et al (2005b) The reconstruction algorithms present a linear complexity because only one browsing of increment is necessary for reconstructing a polyline So it can be per-formed rapidly on the client side where computing resources are limited By con-sequent, it will be supposed that the gain in transmission remains interesting in spite of the client side process of increment reconstruction
4.4.2 Required conditions
If LoD n objects set O n is required on the client-side then transfer from the server and use of an increment set Inc Om, m o n rather than transfer of O n
depends on the following conditions described in Follin et al (2005b):
x existence of a set Oapp of objects matched between O m and O n,
x for each matched object of Oapp, existence of a set of shared vertices,
x ratio on the sizes of the different LoD representations geometries (more detailed object must contain more vertices than more generalised one)
x from the transfer point of view, a significant reduction of the size of
Inc m, o compared with the size of O n
The first three conditions are “structural”: data have to verify them The fourth one is linked to the modeling and encoding of increments and objects By comput-
ing the costs C Inc of increments, we can consider the cases where transfer and use
of an increment is more interesting than transfer of the corresponding LoD object
4.4.3 Cost of increments and efficient objects
The theoretic costs of different increments points can be established by taking into consideration a specific encoding of data used by different geometrical operators
We consider sizes of Java primitive types to evaluate the cases where it is more teresting to use increment rather than “entire” objects:
Trang 9in-x Each couple of coordinates (x, y) are encoded by two double on 2 u 8 bytes,
x Each index i is encoded by an integer on 4 bytes
Geometrical operators can work with the same vertices parts: move and insert use both coordinates and index, keep and remove use an index In order to deter- mine the operator to apply, from the implementation point of view, a variable op
encoded by one byte is used This encoding is not “perfect” but can be considered
as a way to implement our concepts in a simple data structure and to measure its efficiency
In addition to increment points of Qinc we can define the “entire” vertices of
Q : they correspond to couples n ... 4.2 .3)
, 2
, 1
, 2
3 2
, 1
2
, move V insert V insert V
P... respected:
shared moved move moved keep shared... solved:
shared moved move moved remove inserted