a formal model for the specifications of geographic databases

!
"#
-
$%
&#'()
+ ,
$.
*
$
$
/0
$1
,
,
.
$
,
,
, .
*
, .
2
,
4
1
,
,1,
1 .
1
,
.
1
: 4
.
,
4
1
,
.
,
1
1 .
.
*
1 .
4
$
.
4 ,
,
.
1
,
, ,
,
1
1
$
,
11
+
5 ,
,
1
*
,
1
4 ,
4 ,
.$
,
1
4
,1,
1
$
,
, .
1 .
.
,
.
,
.
$
3 1
,
,
..
11
1
1
, .
, 4
, .
7
5 ,
,
.
.
1 ,
.
$
$ +
* .
*,
,
.
.
*
1 .
.
1
,
,1,
,1,
7
,
,
1
.
1
* ,
$
,
*
1 .
.
4
1
,
1
.
1
*
,
6 1
,1,
.
.
, ,
.
.
* , .
1
, 1
1
$
1
,
, ,
,
,
,
,
.
4
*
.
,
. .
*
4
,
,
,
,
.
,
4
.
1
2
,1,
,1,
1
4
,1,
$
8
,
,
,
4
.
2
1
$
3,
1 .
$
, .
1 .
$
.
,
,1,
$
$
,
. .
2
5 ,
1
2
1
.
. ,
4 , .
.
.
4 .
4
,
$
* .
*
,
5 ,
,
5 ,
$ +
$
,1,
1 .
7
$
,1,
.
,
.
*
.
.
$
,
,
,1,
7
5 ,
1
,
3
6 1
,
$
,
$ $4
, . 4 ,
5 ,
$ 3
,
,
.
$
1
.
'9 .
1
,
5 ,
$ 3,
,
1
4
.
4
,
*
$
1
,
$
7
$
. ,
.
4
1.
,
,
$
,
BA A8 4
; 4 *
4
7
, .
1 1 .
,1,
$
,
# 4
.
1
.
$
.
1 .
1 *
,1,
+ ,
3 , $
.
,
1
, ..
. 7
,
.
4 7 .
$8
1
$
.
. 4
4
<<'= <"==
1 .
1
,
1
. 7
.
11
,
4
$ 8
*
.
4
7
$
1
,
,1,
,
. .
. 7
.
1
.
,
,
,
,
8
.
1
4
.
,
, .
,
1
1
,
. 11 ,
,1,
$
3
.
!
,
. , *
11
$
1
,, $ 8
. 1
7
,
7
!
1 .
,
4
, 1
4
, .. ,
,
1
4
A$
.
,
4 1
1 A1
4
1
,
.
A
7
4
1 .
.
.
$8
1
1
,1,
,
*,
1
,
,1,
,
?
1 7 4
.
$
4
1 . 4 7
1,
1 ,
* .
4
,
, $
+
4
.
,1,
1
1 .
4 7
.
1
1
4
1
.$
*
4
.
11
11
1
1
4$ 6 1
*
4
5 ,
.
$ 3
.
,
,
2
4
,
1 . 4 7
1
>4 ,
1 1 ,
$
.
1
,
1 BA A3
1
,1,
1
,1,
1, ,
1
,
.
,
4
7
1
$
,1,
,
@
1
.
, .
@
,
,1,
.
,
,1,
@
1
.,
1 .
1 .
4
,
1 $ + .
1
,7
,
,1,
1
1,
,
,1,
3 , ..
11
,
,
,
1
.
,7 1 1 .
4
1 1 .
$
.$
$
4
11
. 4 $
2
,
4
4
1 4
,
+ .
.
$
,
4
,1,
1 .
,
$
4 .
1
, ..
. ,
,
, $ 3.
,1,
.
.
4
.
,
1
1
,
, .
.
,1,
.
, .
.
7
1 .
,
,
.
7
4
1
1 !
,
, .
*
1 ,
. >
4 7
.
.
1
.
1
4 7
? <<;==
.
1
1
.$
,1,
1
,1,
$
.
1 1
4
$8
.
$ 1
,
1
!
1
.
4
.
,1,
<<#== .
*
,
,1,
,
.
,
.
,
.
,1,
,
1
.
4 7
1
4
7
4 ,
BA AC
. 7
.
$
A
.
1
.
.
1
3
8 1
4
.
1
. 7
. <<)= <(= <D= <E==$
1,
*
1
,
1,
11
,
4
,
.
<<&= <'9==$
,
4
"99 .
.
1,
4
2
1
4
.
.
.
$
<<''==
% 1 .
,
,
,
1 .
. !
1
,
<<'"= <';==$
1
$
.
,
.
,
1
,
.
4
7
,
,1,
.
<<'#= <')==$
3
.
1
4
4 , 1
,
,
,
4
4
1 ,
1
4
1,
11
$
,1,
4
, .
, ..
. ,
1 .
,
,
1
.
1 .
.
4
,
,
,
4
,
.
,
$
.
1 .
.$ +
.
1
,
,
4
,
,
,
$
.
.$ +
,
,
$
4
,1,
1
,1,
4 7
1
,
1
,
1
,7
1
,
,1,
.
,
!
, 4
G3 ,
H>
1
1, .
.
1
7
,
.
.
1
.
,
H G3
H
1
7
, 4
2 G
'?$ C
1 . $
,
,
,
,
* .
,1,
,
1
.
,
,
1
.
.
,
,
.
4
,$?
.
$
1
1
,
$
,
.
1
1
,1,
,
,
4
.
,
*
,
,
4 ,
* .
.
>
1
$
5 ,
5 ,
,
$ +
,
4 , . 1
1 .
1
,
*
4
1 .
$
.
.
1 ,
,1,
7
1 .
>+ ,
, ?2 8
>
,
4
?
8
>
4 7
4
, . ,
?$
6
$
,
1
1
.
4
F
.
4 7 1
$
,1,
,
4
4
4 $
. ,, .
. ,
.
*
1
$
1
. , *
,
.
,,
1
1 .
1
* ,
,
,1,
,
1 $
.
,
,
1 .
1 .
1
$ 3
$
1
,
4
4
*
3
,
1
1
1 4
3
. ,
1
!
,
$
$
1
.
Modelling
Planimetric modelisation type : string
1
Dimension : integer
1..*
Orientation : boolean
Altimetric modelisation type : string
Class
Name : string
2..* Definition : string
0..1
0..1
must be instanciated if and only if the corresponding real world entity satisfies >
applies if the entity satisfies >
1
links together ^
Constraint on attribute’s value
Imposed value : string
Forbidden value : string
*
Association
Attribute
0..1
Name : string
*
0..1
0..1
*
Definition : string
Constraint
2..*
Type : string
composed of >
1
0..1
*
Complex constraint
Enumerated Attribute Value
Simple Constraint
logical operator : [and | or]
Name : string
Code : string
Definition : string
$3
4
*
*
,
1
,1,
, ,
.
1
A$
$
,
.
,
,
.
,
,
,
,
,
,
4
,
7 A
.
H
A,
A
1
5 ,
,
,
$
1
> 7 A
*
5 ,
1
4
,
,
4
'99 .
A
A
1
,
G
,
.
4
,
,
,
1
2
.
'9 .
1
5 ,
,
1
4
A$
5 ,
J?$
,
.
1
,
7
$
, .
7
!
.
*
A
.
,
I
$
,
4
* ,
2
4
,
4
*
.
, .
4
,
G
,
4
,
,
, .
,
1H
$
A
* ,
,
'99 .
4
;9 .
A 4 ,
, . * ,
, .
1
.
,
, .
,
, .
1 4 , . *,
.
,
,
,
G
. , ,
H GK
,
H
G
,
H$ 8 1
,
,
.
,
#
1
4
,
,
4
,
*
,1,
,
$
" #
,
G
G
.
H
* ,
7
G .
H 4 ,
,
1
,
4
4
,
,
H
, .
,
1 ,
,
,
7
1,
*
.
,1,
1
.
4
$
.
5 ,
,
4
*
$
*
*
,
,
,
1
11 ,
,
$
.
1
4 ,
,
A
,
4
A
.
,
,
4
A
A * A
7
'# H
1 , A
,
G
A
A
7
'# !H
G
7 G
,
!H
,
G.
'?$
H 1
,
,
,
7
1$$$H
1
3
.
1
,
4 , ,
G
!H
G.
,
,
>1
I
,
4
>1
,
,
,
"# $
1,
7
4
7
,
4
I
>1
1 , H?$ 3 ,
4 , ,
* .
H,
'#
4
* .
.
,
A
4
4
2G
,
%
1 G
1
* .
H
,
$+
,1,
*
*
*
4
,
* .
4
1
,
*
4
,
,
)
*+
$
4
4
,1
C
1
,
,
1
,
>
1
"?$
,
1
,
1
11 ,
.
1
.
G
,
.
$ +
'
A
4
,
1
G
1
%
4
.
*
$ 3
4 ,
(
$8
11 ,
$ . .
4 ,
,,
.
H,
,
*
H
'?$
G
4
5 ,
,
+
G
G *
1 .
1H G
.
7
.
,
.
,1,
1
&
.
1 .
, .
1
.
1 ,
.
4
1
,
$
.$
$H C
H
4
*
< May appear in the database as
*
0..1
mandatory : boolean
imposed attribute values : string
< must satisfy
Class
Name : string
Definition : string
Related entity
nom : string
0..1
1
must be instantiated if and only if the corresponding real world entity satisfies >
0..1
0..1
composed of >
Constraint
2..*
0..1
^ Must be satisfied with
Simple constraint
Complex constraint
Logical operator : [and | or]
*
Nature Constraint
Relationship Constraint
Geometric Constraint
Negation : boolean
Nature Criterion : string
Comparison operator : string
Mesurable : boolean
Threshold : real
Geometric criterion : string
Metric relationship constraint
Metric criterion : string
Mesurable : boolean
Comparison operator : string
Threshold : real
Topological relationship constraint
Topological relationship : string
L*
,
1
.
,
1
,
,1,
.
Other relationship constraint
Relationship description : string
*
A
$
G
,
.
, ,
H
>
>
, ..
.
,
4
,1
.
$
, ,
,$?
4?
.
*
.
.
,
1
,
.
1.
,
1
1
A
,,
,
.
,
2
4
,
, .
7 4
7 4
A
.
"9 .
A .
,
.
.
'9 .
A$
1
$
1
.
4
A
4
$
G
,
H
1
$ +
7 G
,
,
* .
11 ,
*
.
11 ,
,
1 .
,
7 4
*,
$
.
,
1
.
4
,
.
4
*
.
A ,A
4
,
7
,
,
,
11
4
, ,
/!H
,
4
, 1 GK
H> .
4
7
.
,
. 3?
G
,
,
4
G.
H
,
1 ,
1
,
1
4
7
,
.
>1
4
G.
H
*
7
1 .
1
,1,
$
.
,
.
7
,
A
A 1
, ,
1
$
1 ,
.
14
. .
.
7 .
<<'D= <'E==
,
<<'&==$
,
.
. .
1 , ,
<<"9= <"'==$
.
4
, .
,
,
?
1
>
H
$
. ,
. ?
H
G1
,
,
4
1
<<;= <'(==$
A
A
A
+ ,
1
1
.
.
. ,
,
1 .
,
G
1 ,
,
1
1
2G
-
7
,
H
$
,
,1
4
H$
5
,
*
4
.
1 .
$
1
A,
,
,
I
,
$
,
1 !
,1,
,
1
,
,
, .
4
.
$$
1
,
A
7
A
,
,7A
1A
1 A 7 $A
, .
,
11
A
,
1 .
.
4
1,
..
.
4
1
4
1
,7 1
.
,1,
$
.
,1,
4 ,
,,
2
7
$
1 ,
*,
1
$
1
.
4 ,
$
$
K
GK
,
H
$+
* .
4
1
4 ,
,
*
,
.
4
*,
,
4
.
,
7 2 G
!H 3.
,
4 1
. ,
7 G
"#
H
,
7 G
H 4 ,
, .. $
,1 4 4
,,
4
,
,
GK
H
4
>
?$
1
. 1
11 ,
1
* .
14
4
7
1
1 ,
4
7
,
,
1 G
H *
A
1 ,
$A
.
, ,
5 ,
3
1
. .
4
5 , 4 ,
4
,
$
2
>
1
. >
.
?
?
4 , ,
.
4
* .
4
5 ,
$ 3
1
,
*,
H2 G
G
1
,1,
0#
%
$H 3
.
,
$
* .
,
1
+
,
.
0##
,
,
!H
,
*
,,
.
,
1
*
4 ,
,
$
1
1
5 ,
6
!0"% $D
%
2 G
5 ,
*
,
,
<#= +
4
$)&' ('"$
3$ M$
,1,
+
%$ '&&&$
1 .
4
4
7
>; #?
$ "') ";&
.
,
$
<)=
$ %
$O
,,
$ '&&E$
+ ! 6
$'"
$#
$
4,
4
.
4
4
$ C
,1,
$
,
+
$;;) ;)"$
,
,
,
<(= C
K$ O
$ '&&&$
.
4
4
9
:
OK
%
,1,
4 .
4
A 4
1
. ,
4
1
.
,
1
2
1
$
4 ,
1 .
.
5 , 1
.
,
1
4
5 ,
,
1
,
7
1
K
4
1 .
,
,
* 1
<<""==$
. A 11
,
,1,
$
<&= 8
6
!
>L
8
<"= +
, +$ $
2
<;=
.
,
8$
2
* %$
,
,
.
L,
: .
,
+
>
+
.$
L
1
$M$ '&&&$
,
1 .
.$
3 4+ *55$
$ $ "99'$
,
,
$
%$ '&&)$ 3
,
1
R 3
7 C$ S
$ '&&)$
,
,
.
.
$'D9 'E;$
$
8
$
1
,
$';D( ';E)$
1
Q
1 .
$
;
3$6$ +
'&&)$
% !5
P
T&)
1
7
$
47 7
> ?
$
1
?
<'9= K
3
$C
*,
$ '&&E$ 1
%
3.
,
B$
K
$
+
+ . 4 7 1
1
1
$M$
2
>
,
.
,
3 "99'?
L$ O
,
:I&#? L
3
,
,
2
$ #
$ "99'$
2
$
7
!%
$
3
$#) )#$
,
<'"= L
L
<'=
,
$M$
,
. ,
<''=
C
73
4 7
,1,
$
3$ "99"$ %
1
,1,
11 ,
1 .
$
$ "99'$ 3
7
7
! +
!
,
4
, .
,
%$3$
,
$+$
? P $'
$'") '))
$C$ >
,
%
% '
$
.
,
3
%
<E= K
.
4 7$ C
1,
1
$ +
.
,
* 1. ,
, . $
, .
,1,
, . $
,
.
11
,
4
.
11
4
A
5 1
11
,
A4
A 11
,
8 2
%
%
7
$
+
<D= P
1
$
,
,1,
7
N
,
$ "
+ , %$ '&&#$
.
&
<
$ &9' &"9$
.
<';= 8 : 5 3 3$ "99'$ %
U
13
L
,
U
1 .
.
,
1,
$
2
: = > ?
,9
4
+
"99'$
<'#=
3$
, 3
+ !?
+
<')= V
+
$
,
6
+
T
%
<'(= S
1 . Q
,
Q
+
<'D= L
7 3$ '&&#$
K
3
,
1 .
, $
9
$
M$ '&&)$
2 !
$'9D '""$
+9(
$M$ +
7 3$
M ,7
P
,
<'&= :
$
$+$ '&&($
, $
@ +
S 7
$;() ;D)$
,
<"9= 8
:$ $
,
L
$
<
1
++ (
4+
M$ :$ '&&#$ =
4
1
$
6
1
!
>
2
>
?
$ %
$
$M$ '&&($
@ + !
:?
.
1
+
$'D; 'E#$
<"'= %
M$3$ '&&E$ 9
,
$ %
L
<""=
1 .
6
$ "99"$ T
1
$
.
,
!
47
$
P $'"
,
M$%$ '&E&$ 3
$
1
!
,
!
1
$ "99"$ 3 .
1
1
+ ! 6
4
$'( $) $#;& #);$
2 !
0 + !
+
;
#9&
$"D' "E($
<
+
3
1 .
,
<'E= C
,
S 7
$
1
:
,
1
4 7$
2 !
4
P
$') "#
$"W"99"
.
11
,
+
$')' '(E$
,