You are on page 1of 47

Geographical Data Modeling

UML and Data Modeling Elements


Examples from the Marine Data Model and ArcHydro
(Thanks to Dawn Wright)

Longley et al., ch. 8

Models for GIS


representation of reality --> model
GIS itself is based on a model of
complexity and used to model
complexity
Not a full representation of reality: even
at 1:1
data model = limited representation of
reality
a discretization or partitioning of space
finite, discrete nature of computing devices

Data Model
Representation of information about a
form or a process
E.g. a weather map with isotherms
FIELD grid
OBJECT isoline
A good model allows us to infer process
FIELD or OBJECT geo-relational

3 Data Models
geo-relational coverage (object view;
from classic ArcInfo polys)
geo-relational shapefile (object view;
from ArcView)
geodatabase (object-oriented; new in
ArcGIS 8,9 etc.)

Object Oriented GIS (p. 191)


Object: a self-contained package of
information describing an entity
Collection of objects class
Objects can have behavior encapsulation
Inheritance reusable objects
Polymorphism-objects can have their own
implementation for application-e.g. create,
draw, delete

Georelational Data Model:Classic ArcInfo and ArcView

command line
interface
Unix, NT, Windows
ArcView as interface

A
B

ArcInfo Coverage as a Data Structure

Image courtesy of Louisville/Jefferson County Information Consortium, Kentucky

Data Structure
Not tied to process at all
Concerned simply with what can be
computed and what cant
Way in which the data model is
represented in the GIS
DEM

for grid or layer model (e.g. array)


contour for isoline model
TIN for Delaunay triangulation model
coverages, shapefiles for geo-relational
geodatabase for OO geodatabase

ArcGIS 9 Icons
yellow coverage

green shapefile

gray geodatabase

Geodatabase
Features and attributes
as objects
Relationships among
features encoded
Validation or editing
rules, behaviors
Container for

MS-Office

Vector, raster, tabular


data
Relationships
Topology

Relationships for a
feature

ArcGIS Data Models


support.esri.com/datamodels.cfm

ArcMarine
dusk.geo.orst.edu/djl/arcgis

Data Modeling for Spatial


Analysis
What is spatial analysis?

"a set of methods whose results change when the


locations of the objects being analyzed change"

Methods for working with spatial data


to detect patterns, anomalies
to find answers to questions
to test or confirm theories

deductive reasoning-general to specific

to generate new theories and generalizations

inductive reasoning-specific to general

What is Spatial Analysis (cont.)


Methods for adding value to data
in

doing scientific research


in trying to convince others

A collaboration between human and


machine
How do we set up the framework for
spatial analysis?
Data

model to data structure

A Georelational to a Geodatabase
Model
Coverage and shapefile data structures
homogenous collections of points, lines, and
polygons with generic, 1- and 2-dimensional
"behavior" as operations
Cant distinguish behaviors
Point for a marker buoy, same as point for
observation
smart features in a geodatabase
lighthouse must be on land, marine mammal siting
must be in ocean
Objects can self-police

Purpose of ArcHydro, ArcMarine etc.


Basic template for implementing GIS
projects
input,

formatting, geoprocessing, creating


maps, performing analyses

Basic framework for writing program code


and maintaining applications
development

of tools for the community

Promote networking and data sharing


through established standards
common

model=interoperability

Generic
Marine Data Model
User Group
Data Model
Project
Data Model

User Group
Data Model
Project
Data Model

User Group
Data Model

Inheritance

ArcMarine Design Strategy

Project
Data Model

Geodatabase Concepts
ESRI's data object-oriented data model
objects,

features, behaviors

Geodatabase
collection

of feature data sets, rasters, TINs


all data in relational tables
behavior is coupled with features through rules (objectorientation)
Supports model-builder for processes

Feature data set

contains feature classes


defines topological role of features
has a coordinate system

Geodatabase Concepts ( cont. )


Feature class
stored

in a relational table
special field for geometric shape
geometric data incorporated into the
database
Point,

multipoint, segment, path, ring, polyline,


polygon

Geodatabase Feature Class Geometries

Modeling Process
Conceptual Model
Lists, flow diagrams, etc

Real World
Objects and
relationships

Logical Model
Diagram in CASE
Tool

Physical
Model
Database
Schema
(Object state)

Graphic courtesy of ESRI

Data Model Levels


Humanoriented

Reality
Reality

Conceptual
Conceptual Model
Model

Logical
Logical Model
Model
Computeroriented

Physical
Physical Model
Model

Increasing
Abstraction

Specific Steps in Data Modeling


(1) Conceptualize the user's view of data
what

are the basic features needed to solve the


problem?

(2) Select the geographic representation


points,

lines, areas, rasters, TINs

(3) Define objects, features, and relationships


draw

a UML diagram, specify relationships,


behaviors

(4) Match to geodatabase elements


Refine

relationships, behaviors

(5) Organize geodatabase structure, add data

( 1 ) Users View of Data

( 1 ) Users View of Data cont.

(2)
Select
geographic rep.

Steps in Data Modeling


(1) Conceptualize the user's view of data
what

are the basic features needed to solve the


problem?

(2) Select the geographic representation


points,

lines, areas, rasters, TINs

(3) Define objects and relationships


draw

a UML diagram, specify relationships,


behaviors

(4) Match to geodatabase elements


Refine

relationships, behaviors

(5) Organize geodatabase structure, add data

Unified Modeling Language


Entity-relationship diagrams
Design the methodologies, diagram
notations
UML
Not

a design methodology
Just a diagrammatic notation based on
methods
Endorsed by leading software and database
companies

UML ( cont. )
Diagrammatic notation = visual
language...
For constructing a data model
Drawings, relationships constructed in
Visio (other tools available)
Tools to input a drawing into ArcGIS
input

drawing to the data model

UML Notation
a class is shown as a
box
top part contains the
name of the class
lower part contains the
attributes
methods associated
with the class
lines connect boxes and
indicate relationships

Graphic courtesy of Maidment et al., ArcHydro team

UML Notation ( cont. )


Abstract class

specify subclasses
underneath
Mammals w/human or
dog feature classes
no new instances

Feature Class

Specify subtypes
underneath
Human, dog, cat

Objects and Features


Object (real world)
in ArcGIS an object is non-spatial
it is NOT a point, line, or area
it has no geographic location
it has no shape attribute in its table
Drainage network, ship, vehicle, customer, lake,
house, etc.

Feature (spatial context)


an object that has geographic location
a point, line, area, TIN, raster

Relationships
Links between
classes, shown as
lines
One to one
One to many
Many to many

Relationships (cont.)
1:1 - solid line

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

1:n - solid line with * at one end

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

Relationships (cont.)
m:n - solid line with * at both ends
any

number of records in Class A linked to


any number of records in Class B
"has

visited
"was never married to"
the class of mountain lions linked to the class of
wilderness areas

Graphic courtesy of Maidment et al., ArcHydro team

Type Inheritance
White triangle
Class B inherits the
properties (attributes,
methods) of Class A
the class street inherits from
the class transportation
network

Solid diamond
the parts and the whole
depend on each other

Graphic courtesy of Maidment et al., ArcHydro team

Steps in Data Modeling


(1) Conceptualize the user's view of data
what

are the basic features needed to solve the


problem?

(2) Select the geographic representation


points,

lines, areas, rasters, TINs

(3) Define objects and relationships


draw

a UML diagram, specify relationships,


behaviors

(4) Match to geodatabase elements


Refine

relationships, behaviors

(5) Organize geodatabase structure, add data

Steps in Data Modeling


(1) Conceptualize the user's view of data
what

are the basic features needed to solve the


problem?

(2) Select the geographic representation


points,

lines, areas, rasters, TINs

(3) Define objects and relationships


draw

a UML diagram, specify relationships,


behaviors

(4) Match to geodatabase elements


Refine

relationships, behaviors

(5) Organize geodatabase structure, add data


e.g.,

Marine Data Model tutorial

You might also like