470 likes | 795 Views
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
E N D
Geographical Data ModelingUML and Data Modeling ElementsExamples 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
A B Georelational Data Model:“Classic” ArcInfo and ArcView Arc Info command line interface Unix, NT, Windows ArcView as interface
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 representedin 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
yellow coverage green shapefile gray geodatabase ArcGIS 9 Icons
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
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
Project Data Model Project Data Model Project Data Model ArcMarine Design Strategy “Generic” MarineData Model Inheritance User Group Data Model User Group Data Model User Group 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
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 Reality Human-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
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 • Design the methodologies, diagram notations • UML • Not a design methodology • Just a diagrammatic notation based on methods • Endorsed by leading software and database companies • Entity-relationship diagrams
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
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
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
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