LECTURE 4: COVERAGES, SHAPEFILES, AND OBJECT-ORIENTED MODELING
2. OBJECT-ORIENTED DATA MODELING
Coverages
application of the relational model
ARC/INFO v.1
1980
non-overlapping, space-exhausting polygons
nodes, arcs, areas
0, 1, 2-dimensional objects
points, polylines, polygons
AAT, PAT
no node table
arcs in an ARC file
not in relational database
a hybrid structure
topological links
each arc to polygons on either side
each arc to nodes at each end
continuous field
mapping location to a class or name
exactly one class or name per location
can only edit positions of common boundaries
Shapefiles
What happens when you try to edit a polygon boundary?points, lines, areas
no topological links
the ArcView data model
circa 1987
simpler
to compete with Atlas GIS, MapInfo
PC based
computer assisted design (CAD)
AutoCAD, ArcCAD
discrete objects
may overlap
don't have to exhaust the space
empty space between objects
pieces of a jigsaw
in the shapefile model
What happens when you add a polygon?
Attributes in shapefiles
stored in tablesSix types of shapefiles
pointmultipointpolylinea line made by connecting points with straight linespolygonnew options: arc of circle, arc of ellipse, Bezier curvemultipart polylinemay have associated measure
may have point elevationspolyline M
distance along highway from intersection
Z valuesan area made by connecting points with straight linesnew optionsmultipart polygon
Coverages or shapefiles?
history
coverages came earlier
the only way of dealing with problems in 1970s
problems partly go away with increased computing power
will shapefiles eventually replace coverages?
integrity
can edit shapefiles into impossible situations
overlapping counties
violating the rules of fields
coverages ensure integrity automatically
data volume
double lines in shapefiles for shared features
in coverages no double lines
shared features will always be identical
approximately half the data volume
computing efficiency
many operations run faster on coverages
overlaps
coverages can't deal with easily
violate the rules of fields
change through time
use coverages whenever possible
Principles
the things in the world are instances of classesAdvantages of object-oriented databasesclasses form hierarchiesJohn Smith - human being
State Street - street
Santa Barbara - city
Mt Everest - mountain
each subclass shares the properties of the class, and adds some special propertiesJohn Smith is an instance of the class male human beings
male human beings are a subclass of human beings
human beings are a subclass of mammals
mammals are a subclass of fauna
geographic objects often group into complex objects
an airport is composed of runways, hangars, terminals,...
a state is composed of counties
an area coverage is composed of polygons, arcs, and nodes
1. Hierarchyearlier hierarchical model (1960s)complex spatial objects
inheritance of properties
e.g., some things true of all polygonsin OO data models objects can inherit propertiesarea, number of vertices, IDsome things true only of polygons in an applicationattributes: county name, population countobject inheritance
objects can inherit properties that are true of all objects of that type
e.g., all polygonsand can also add new propertiese.g., properties true only of a certain class
2. BehaviorDeficiency of the georelational modelobjects can be associated with behaviorbehavior encapsulationwould like to define behavior for individual objects
what kinds of behavior?
editing rulesinstances of a class must share:e.g, corners of a building must be squareattribute rulese.g., two adjacent objects must have the same common boundarymight apply to all buildings, but not all polygons
might apply only to some buildings
e.g., range of possible numberssplit and merge ruleswhen a feature is split, or two features are merged, what happens to their attributes?special procedurese.g., merge two polygons, their population counts are summed for the combined polygon
e.g., merge two polygons, their population densities are averaged (weighted by the respective areas)
e.g., split a street, the lengths of the two parts are shares of the total
spatially extensive variables
variables whose values are true only of an entire area as a whole
e.g., population count, length, area, total incomespatially intensive variables
split policies:variables whose values are potentially true of all parts of an area
e.g., population density, average income, percent unemployed
duplicate, default, geometry ratiomerge policies:default, sum, weighted averagee.g., procedure to measure areas of polygonsspecific interaction rules between objectsassociated with polygon object typee.g., procedure to annotate contourse.g., a liquor store cannot be within 500m of a school
e.g., an offramp is required if a street and a freeway intersect
e.g., at least one stream must flow out of every stream junction
same topological dimensions
same attributes
same behaviors
geometric information not stored in databaseGeodatabasethe ARC/INFO hybrid
ArcGIS stores geometric information as "shape" attribute
closer to how we actually think about geographic featurese.g., we don't naturally think about a coverage as a collection of arcsinheritance hierarchy