GEOGRAPHY 176B: TECHNICAL ISSUES IN GIS

LECTURE 6: UML, PRIMITIVE MODELING ELEMENTS

1. UNIFIED MODELING LANGUAGE

2. RELATIONSHIPS

3. GEODATABASE CONCEPTS

4. SIMPLE FEATURE MODEL



1. UNIFIED MODELING LANGUAGE

A visual language for representing a data model

drawings constructed in 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

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
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

3. GEODATABASE CONCEPTS

ESRI's new data model

     object-oriented

objects
features
behaviors
Feature class

     stored in a relational table

          special field for geometric shape
          geometric data incorporated into the database
          no more division between ARC and INFO

Feature dataset

     contains feature classes
     defines topological role of features
     has a coordinate system

Geodatabase

     collection of feature datasets, rasters, TINs
     all data in relational tables
     span contiguous extents
     behavior is coupled with features through rules



4. SIMPLE FEATURE MODEL

Feature geometries

see Zeiler Ch 6 and summary on p114
OGC specification
point
a zero-dimensional feature
coordinates, attributes
multipoint
an unordered collection of points
segment
abstract class

line connecting two points

straight line
arc of a circle
arc of an ellipse
Bezier curve
path
a sequence of connected segments
ring
closed, non-intersecting path
a type of path
polyline
a collection of paths
disjoint or connected
polygon
a collection of rings
can be nested
cannot overlap
envelope
minimum enclosing rectangle (mer)
used to speed up processing
simple feature model
Types of features
objects with geometry and attributes
point, multipoint
polyline

polygon

annotation
simple junction
complex junction
simple edge
complex edge