LECTURE 5: UML, PRIMITIVE MODELING ELEMENTS

1. UNIFIED MODELING LANGUAGE

2. RELATIONSHIPS



1. UNIFIED MODELING LANGUAGE

Data model

a comprehensive plan for an organization's data

Caltrans

a research organization

well documented

systematically organized

readily shared

a geodatabase

UML: a visual language for representing a data model

drawings constructed in Microsoft Visio

tools to input a drawing to ArcGIS

input data to the data model
The steps in data modeling
1. Model the user's view of data

the "use case"

what are the basic items of information needed to solve the problem?

the data model will need to store everything needed

the MapQuest/cab driver example

is there a "slot" to store everything relevant to the problem?

2. Define objects and relationships
draw a UML diagram
3. Select the geographic representation
points, lines, areas, rasters, TINs
4. Match to geodatabase elements

specify inheritance relationships from ESRI classes

points, polylines, polygons, etc.

5. Organize geodatabase structure
Example: the UNETRANS data model
ESRI data model support site

screen shots

whole model

reference network: edges

reference network: junctions

assets

implementation in ArcGIS
UML notation
a class is shown as a box

top part contains the name of the class

middle part contains the attributes

lower part contains the methods associated with the class

lines connect boxes and indicate relationships

UNETRANS key

Object
an instance of a class
yet another meaning of the word "object"
in ArcGIS data modeling an object is non-spatial

it is not a point, line, or area

it has no geographic location

its geographic location is not known

it has no shape attribute in its table

Feature
an object that has geographic location

a point, line, or area

a TIN or raster

Abstract class
cannot have instances, but can have subclasses

name in italics



2. RELATIONSHIPS

Links between classes, shown as lines

Several types of relationships

Association

classes linked by common keys

compare the relational model

multiplicity

1:1

one record in Class A linked to one record in Class B

"is married to"

the class of state capitals linked to the class of states

shown as a solid line

1:n

one record in Class A linked to any number of records in Class B

"owns"

the class of states linked to the class of area codes

shown as a solid line with a * at the B end

or 0...*

if every A is linked to at least one B then use 1...*

a state must have at least one area code

m:n

any number of records in Class A linked to any number of records in Class B

"has visited"

"was ever married to"

the class of mountain lions linked to the class of wilderness areas

shown as a solid line with * at both ends

Type inheritance

Class B inherits the properties (attributes, methods) of Class A

white triangle points from B to A

e.g., the class street inherits from the class transportation network link

Aggregation

Class A is the whole, Classes B, C, etc contain the parts

open diamond points to A

e.g., the class airport is an aggregation of the classes runway, hangar, terminal, etc.

if one part of an aggregation is deleted, the whole is not necessarily deleted

if the whole is deleted, the parts are not necessarily deleted

Composition

a stronger form of aggregation

closed diamond points to A

the parts and the whole depend on each other

e.g., a polygon and its component arcs and nodes

Examples

coverage

MapQuest/cab driver

ESRI's Geodatabase model

     object-oriented

objects

features

behaviors

Feature class

stored in a relational table

an "object-relational" database

special field for geometric shape

geometric data incorporated into the database

no more division between ARC and INFO