Prototype 1: The graphical editor
This section defines the architectural building blocks that will be first used
for the development of the graphical editor and then reused for the imple-
mentation of the data linker and the web browser. The analysis phase iden-
tifies the basic elements of a cartographic map and the functionalities of the
graphical editor. The design phase transforms these entities into reusable
classes by isolating the specific functionalities of the graphical editor from
the generic architecture of the cartographic model.
The problem specification indicates three types of geographic features that
build up a cartographic map as detailed in Section 15.2.1. Accordingly, we
identify the following basic entities:
MapSite represents a geometric figure (a point or a small circle) that
visualizes the position of a site on a cartographic map, e.g. a city or gener-
ically a location.
MapLink represents a geometric path constructed from straight lines. It
visualizes the layout of a link, e.g. a route or a boundary.
MapArea represents an arbitrarily shaped geometric area that visualizes
the boundaries of a region, e.g. a park or a country.
Map entities have four basic properties:
Visibility : entities are visualized in a graphical window and overlap a
cartographic image. The user can choose which types of entities are
Connection : associations can be set between map entities and spatial
information stored in a database.
Selection : the user can select entities using the mouse pointer in order to
browse related information.
Persistence : entities' descriptions are saved in persistent storage so that
they may be retrieved subsequently.
Instances of map entities are grouped in layers, i.e. sets of geographic
features associated with semantically homogeneous information (e.g. they
correspond to the same historic age). We introduce entity MapLayer to
represent them. A cartographic map may be made up of multiple layers.
Only one layer at a time can be active, i.e. its map entities can be selected
using the mouse pointer. Entity MapLayer has three basic properties:
Visibility : it should be possible to select which layers are visible simul-
Selection : the entities of only one layer at a time can be selected.
Persistence : the layer composition is saved in persistent storage.