Full text: XVIIIth Congress (Part B4)

the 
S is 
lcu- 
8, a 
one 
late 
ons 
ree 
(see 
ars 
ter- 
the 
but 
lue, 
"his 
ing 
wn 
ter- 
the 
oth 
ons. 
and 
nay 
en- 
for 
y is 
pli- 
the 
rnel 
lass 
ows 
col- 
xed 
col- 
iced. 
  
/ F2 
  
F1 
  
  
  
(a) 
I 
| 
l 
| 
! 
! 
| 
! 
| 
1 
| 
T 
| 
1 
I 
| 
xy 
  
(b) (c) 
Figure 3: Three projections of the transformed areas 
4.1 3D extension in Smallworld GIS 
Some extensions can be performed by modification of the 
original source code. For example the class bounding_box 
serves as a prototype of the 3D bounding box. In many 
cases only minor modifications are necessary especially when 
classes are dealing with two-dimensional coordinates. Prob- 
lems only occur if optimizations on 2D methods were nec- 
essary. The so-called primitives are implemented in C code 
and are therefore not accessible for modification. The solu- 
tion is only a total rewriting of these methods. 
4.2 3D data model 
ug 
coordinate_mixin 
coordinate3._mixin 
1 
1 
; 
simple_coordinate_mixin 
simple_coordinate3_mixin 
1 
i 
coordinate 
coordinate3 
Figure 4: Hierarchy of Coordinate Classes 
indexed_format_mixin 
simple_n_space_mixin 
        
    
  
| three_space_mixin | | 
  
  
    
   
  
  
C o o0 en n emmm mn = 
  
The class coordinate is ancestor of the classes 
simple_coordinate_ mixin, simple n_spacemixin and 
three.space.mixin. Only three classes need to be changed 
to cope with 3D data. In Fig. 4 each rectangle corresponds 
to a class in the 2D (upper half) or 3D data model (lower 
half, not set if equal to 2D data model). Inheritance rela- 
tions of the 3D data model are drawn dotted, relations valid 
for both models are drawn bold. 
In addition to the extension of the class coordinate the 
database type ds_coord can also be equipped to handle the 
additional z-value. As in the two-dimensional case a coer- 
cion i.e. a conversion between both types is also realized. 
On a higher level lists of coordinates (sector, sector.rope) 
are used to deal with lines resp. links. These classes are 
751 
the heart of the GIS. The essential geometric operations are 
implemented as methods of these classes. Therefore fun- 
damental changes to the source code have to be performed 
before their methods can be used as new 3D methods (exam- 
ples are the calculation of distance, angles, bounding box). 
As long as there are no two-dimensional coordinates explic- 
itly mentioned, there is no need for a modification. 
There are enough conceptual similiarities between the Small- 
world 2D data model and the 3D data model to borrow 
some of the already existing classes as well as methods 
of the object-oriented implementation of this GIS-product. 
The geometric attributes execept for body-shaped attributes 
can be redesigned from their 2D counterparts. The class 
of the edges is called links in the two-dimensional model. 
Line-shaped attributes are chains, faces are polygons, face- 
shaped attributes are called areas. 
Special methods are available to construct tables and pro- 
cedures to deal with the 2D data model. They can also be 
used for the construction of the 3D data model. 
4.3 3D operators 
The transformation described in the previous section is real- 
ized by methods of the classes sector3 rope and matrix 2. 
The matrix is necessary to transform all involved geometric 
entities with the transformation matrix to the new coordi- 
nate system. 
It is possible to define new predicates, spatial and others by 
adding new methods to the class called predicate. The test 
is performed by a procedure appended to the predicate. 
The definition of the new predicates should be based on 
the sound formal description of [van Oosterom, Vertegaal, 
van Hekken and Vijlbrief, 1994]. They have proved that 
it is sufficient to have only five predicates that are capa- 
ble of describing all relationships between point/line/area. 
Their approach is an extension of the point set approach of 
[Egenhofer and Franzosa, 1991]. 
The defined predicates are: 
e The relationship touch applies if two geometric ele- 
ments have only some part of their boundary in com- 
mon. 'This relationship is symetric and does not apply 
to the point/point situation. 
International Archives of Photogrammetry and Remote Sensing. Vol. XXXI, Part B4. Vienna 1996 
 
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.