260
a) Given a particular geographical unit u, where on the map is it?
(The user types in the identifier u and wants to know which map lo-
locations m are associated with it.) This is the problem of geo
graphical unit location, and it is inverse to la above.
b) Given a particular attribute class c, which of the geographical
units shown on the map are part of it? (The user inserts class
number c and wants to know all map locations m associated with
geographical units that belong to class c.) This is the problem of
attribute class enumeration. It is inverse to lb above.
To implement an interactive legend capable of answering the above que
stions we need to know the pieces of relational information that must be
available. The following is an annotated list of tabular relations nee
ded. Thereby we consider for both mapping techniques distinguished in
section 3, BM and AM, their first variants only (i.e., techniques 1 and
3, resp.). Note that we drop the general table symbol T and replace it
by different other letters for mnemonic reasons. However, we retain the
'subscript' indicating the position within the model.
Cl(m,p): Can be established by cursor control (i.e., by positioning a
cursor on a particular location m).
R2(p,r) or R2.U(p,x): Is obtained by readback from the refresh memory.
V3.6(r,g) or V56(x,g): Can be recovered by readback from the VLT or from
a copy kept in the central memory.
B2(p,r): Is obtained by accessing the base map data file. Note that so
lutions involving access to parts of the large data base are
undesirable and should be avoided as far as possible.
I3(r,u), I5(x,c) and l6(c,g): Are recovered from tables that represent
one-one correspondences, i.e., functions with existing inver
ses (note that this is also true for 15 if x is an interval on
the attribute axis rather than a point value). Such tables can
be read backward easily if necessary. A backward read is to be
understood as a search for an element in the second table co
lumn to find an associated key element in the first column. It
is indicated by the table inversion (T(a,b)) - -*- = T~l(b,a).
NU(u,x): Is established by access to a table representing a many-one
correspondence and, consequently, a non-invertible function. A
backward read (table inversion) is feasible, but it will invol
ve a search through the entire table.
D7(g,s): Controls the display color.
Using Q..(..) for the relation to be established in answer to a question
we can now give possible solutions to the problems listed earlier.
la) Geographical unit identification:
BM: Q1.3(m,u) = Cl(m,p) . R2(p,r) . I3(r,u) .
AM: Q1.3(m,u) = Cl(m,p) . B2(p,r) . I3(r,u) .
lb) Attribute class identification:
BM: Ql.5(m,c) = Cl(m,p) . R2(p,r) . I3(r,u) . NU(u,x) . I5(x,c) .
AM: Q1.5(m,c) = Cl(m,p) . R2.Mp,x) . I5(x,c) .
2a) Geographical unit location:
BM: Q4.7(u,s') = I3 _1 (u,r) . V3.6(r,g') . D7(g',s') .
AM: No easy solution available.
2b) Attribute class enumeration:
BM: Q67(c,s’) = I6(c,g) . V3.6 _1 (g,r) . V3.6(r,g') . D7(g',s') .
AM: Q67(c,s') = I5 _1 (c,x) . V56(x,g’) . D7(g',s') .
Note that V3.6 is also a table of the N type. Again, a backward read is