Vous êtes sur la page 1sur 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 can’t
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
 Vector, raster, tabular
data
 Relationships
 Topology

MS-Office
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
Can’t 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
ArcMarine Design Strategy

“Generic”

Inheritance
Marine Data Model

User Group User Group User Group


Data Model Data Model Data Model

Project Project Project


Data Model Data Model 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
(object-orientation)
 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

Human- Reality
oriented

Conceptual Model
Increasing
Abstraction
Logical Model
Computer-
oriented
Physical Model
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 ) User’s View of Data
( 1 ) User’s 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

Vous aimerez peut-être aussi