Steven Gay, GISP Boone County Planning Commission www.boonecountygis.com Background Some complex spatial operations produced odd/unexpected results. Some of the problems were traced back to imprecise geometry (slight overshoots, gaps, slivers, dangles. etc). Planning began in the Spring of 2011, and design work kicked off in August 2011. The first working version was put in place in our production environment in October 2011. ESRI’s Geodatabase Xray tool was extremely helpful with quickly making changes to the schema. Refinement of the topology has occurred incrementally, with each iteration building on lessons learned from previous enhancements. Changes to data model and editing workflows weren’t overwhelming, but did take some getting used to. What is Topology? Technical Definition Branch of mathematics that deals with spatial relationships between geometric shapes Short GIS Definition A way to assure geometric coincidence among point, line, and polygon features Longer GIS Definition Involves an in-depth analysis of the coordinate locations and vertices of features stored in a GIS. Includes software logic that tests the integration of feature coordinates/vertices against userdefined business rules which dictate how shapes in a GDB should relate to one another Why Implement Geodatabase Topology? GIS is all about graphic shapes, so using topology to study the spatial relationships between shapes is only natural. Help ensure and promote GIS data integrity and the accuracy of conclusions drawn from the GIS Avoid common problems often encountered when spatially analyzing non-topological data. Leverage built-in software logic to alert users to data input errors as the data gets edited; thereby making data management/production more efficient, accurate and reliable. Why Implement Topology? Examples Performing unions between feature classes (e.g. constructing tax district polygons from city, fire and school district feature classes) Enforcing regulations (e.g. zoning districts must follow parcel boundaries) Generating accurate reports (e.g. create a street index table from the centerline feature class) Ensure appropriate resource allocations (e.g. Police Beat polygons must be nested within Police Emergency Service Zone polygons, which must in turn be nested within Law Enforcement Jurisdiction boundary polygons) Topology Benefits Allows maintenance of addresses in one location - the Address Point feature class. The address attribution that is published with Parcel polygons and Building polygons originates from the Address point feature class, and topology ensures that all Parcels and Buildings will contain the correct address attribution. Ensures that administrative boundaries (cities, fire districts, school districts, etc.) are aligned with referenced features from other GIS layers, which promotes accuracy and confidence in overlay analyses. Validates attribute coding for Parcel and Subdivision subtypes. This helps ensure compliance with zoning regulations and provides an easy view of variances. Eliminating gaps and overlaps promotes confidence in areal calculations. Parcels can be maintained at the unique deed level. Disallowing gaps and overlaps guarantees the accuracy of Tax Parcels created from dissolving the maintained Parcels. FAIROAKS Spatial Relationships Parcels Building Footprints O GR TE IN PO VE Address Points Centerlines ADE KB OA Edge of Pavement Hydrography •Polygons •Lines ROX Exterior Features Y SNE RM E K DEE CHE O RO Y BUR Topology Design Considerations Where to Locate Topology •Topology Object must be created within a feature dataset •Feature dataset must contain all feature classes that will participate in the topology •May have multiple topology objects inside of the same feature dataset; but feature classes may only belong to one topology Tolerance •The maximum distance that two distinct coordinates may be apart and still be considered to be coincident •Used to compare coordinates and vertices to determine if they occupy the same physical location •Used by topology to resolve inexact intersection locations of coordinates •Accept the default Geodatabase Subtypes •Allows for subclasses of the features within a feature class •Used to categorize your data and apply different properties (defaults, domains, relationships. etc.) to each category •In topologies, subtypes can have different rules and different coordinate ranks Feature Class Ranking •A topology can support up to 50 ranks to which feature classes may be assigned •Rankings can take advantage of subtyped feature classes •The lower the rank/number, the less likely features in that rank will shift •Changing the rank of any feature class requires the topology to be revalidated Core Feature Class Ranks 1. County Boundary 10. Recreation Features 16. Historic Site 1 feature 2. Parcels 54,138 features 3. Subdivisions 621 features 4. Centerlines 5,397 features 5. Hydrography Lines 34,568 features 6. Administrative Lines 24,224 features 7. Building Footprints 67,336 features 1,102 features 11. Address Points 7 features 12. Parks 16. Places of Worship 41 features 80 features 13. Hydrography Polygons 3,417 features 14. Railroad Lines 80 features 15. Pathways 62,940 features 16. Day Care Facilities 62 features 16. Emergency Siren 9. Pavement 16. Fire Stations 6,699 features 16. Medical Care Facilities 63,130 features 8. Exterior Features 83,088 features 1,436 features 31 features 16 features 16. Police Stations 5 features 16. Polling Places 57 features 16. School Buildings 32 features 16. Food Service Licenses 501 features 16. Liquor Licenses 409,009 Total Features Simple vs. Composite Topology Simple Topology •Involves only 1 Feature Class •Compares a feature’s shape to itself •Compares a feature’s shape to the shape of another feature from the same feature class Composite Topology •Involves multiple feature classes •Compares a feature’s shape to the shape of another feature from a different feature class ESRI’s Topology Rules Simple Topology 6 Point Topology Rules Disjoint separated spatially from other points in FC1 Each point in FC1 Must Be------------ Composite Topology Each point in FC1 Must Coincide With a point in FC2 Each point in FC1 Must Be Covered By Boundary Of a polygon in FC2 Each point in FC1 Must Be Properly Inside a polygon in FC2 Each point in FC1 Must Be Covered By Endpoint Of a line in FC2 Each point in FC1 Must Be Covered By Line in FC2 11 Polygon Topology Rules Simple Topology Each polygon in FC1 Must Be Larger Than Cluster Tolerance Each polygon in FC1 Must Not Overlap another polygon in FC1 FC1 Must Not Have Gaps between its own polygon features Composite Topology Each polygon in FC1 Must Not Overlap With a polygon in FC2 Each polygon in FC1 Must Be Covered By ----------------------Feature Class Of a polygon in FC2 The entire area covered by polygons in 2 different feature classes Must Cover Each Other Each polygon in FC1 Must Be Covered By a polygon in FC2 FC1 polygons’ Boundary Must Be Covered By lines in FC2 FC1 polygons’ Area Boundary Must Be Covered By Boundary Of polygons in FC2 Point at least 1 point in FC2 Each polygon in FC1 Contains -------Point only 1 point in FC2 Each polygon in FC1 Contains One -------- Simple Topology 16 Line Topology Rules Each line in FC1 Each line in FC1 Each line in FC1 Each line in FC1 Each line in FC1 Each line in FC1 Each line in FC1 Each line in FC1 Each line in FC1 Must Be Larger Than Cluster Tolerance Must Not Overlap another line in FC1 Must Not Intersect another line in FC1 Must Not Have Dangles Must Not Have Pseudonodes Must Not Intersect Or Touch ----------Interior the interior of another line in FC1 Must Not Self-Overlap Must Not Self-Intersect Must Be Single Part Composite Topology Each line in FC1 Must Not Intersect With a line in FC2 Each line in FC1 Must Not Intersect Or Touch -----------------Interior With the interior of a line in FC2 Each line in FC1 Must Not Overlap With a line in FC2 Feature Class Of a line in FC2 Each line in FC1 Must Be Covered By ----------------------Boundary Of a polygon boundary in FC2 Each line in FC1 Must Be Covered By ----------------- Each line in FC1 Must Be Inside a polygon in FC2 FC1 lines’ Endpoint Must Be Covered By a point in FC2 Boone County Core Topology Simple Polygon Topology Parcel polygons: Subdivision polygons: Building polygons: 3 exceptions Exterior Feature polygons: Pavement polygons: 62 exceptions Recreation Feature polygons: Park polygons: Hydrography polygons: …must not overlap other polygons from the same feature class Simple Polygon Topology Parcel polygons: …must not have gaps between polygons from the same feature class 3 exceptions Simple Point Topology Address points: …must be disjoint Simple Line Topology Administrative lines: …must not have dangles Centerline lines: Hydrography lines: Administrative lines: Pathway lines: …must be single part …must not self-overlap it’s own shape …must not self-intersect it’s own shape …must not overlap other lines from the same feature class …must not intersect or touch interior of other lines in the same FC 93 exceptions Overlapping Polygons Building Footprint polygons: …must not overlap an Exterior Feature polygon …must not overlap a Pavement polygon 24 exceptions …must not overlap a Recreation Feature polygon Exterior Feature polygons: …must not overlap a Pavement polygon 1 exceptions …must not overlap a Recreation Feature polygon Recreation Feature polygons: …must not overlap a Pavement polygon Park polygons: …area boundary must be covered by boundary of a Parcel polygon Confirming Parcel & Subdivision Subtypes Subdivision polygons (Subtype=‘Single Family’): …must not overlap a Parcel polygon of subtype ‘Commercial’ 478 exceptions …must not overlap a Parcel polygon of subtype ‘Industrial’ …must not overlap a Parcel polygon of subtype ‘Mobile Home Park’ Subdivision polygons (Subtype=‘Multi Family’): …must not overlap a Parcel polygon of subtype ‘Commercial’ 9 exceptions …must not overlap a Parcel polygon of subtype ‘Industrial’ …must not overlap a Parcel polygon of subtype ‘Mobile Home Park’ Subdivision polygons (Subtype=‘Commercial’): …must not overlap a Parcel polygon of subtype ‘Condominium’ …must not overlap a Parcel polygon of subtype ‘Mobile Home Park’ …must not overlap a Parcel polygon of subtype ‘Multi Family’ 2 exceptions …must not overlap a Parcel polygon of subtype ‘SingleFamily’ Subdivision polygons (Subtype=‘Mobile Home’): …must not overlap a Parcel polygon of subtype ‘Commercial’ …must not overlap a Parcel polygon of subtype ‘Condominium’ …must not overlap a Parcel polygon of subtype ‘Industrial’ …must not overlap a Parcel polygon of subtype ‘Multi Family’ …must not overlap a Parcel polygon of subtype ‘Single Family’ Pathway Topology Pathway lines (Subtype=‘Residential’): Pathway lines (Subtype=‘Non-Residential’): …must not intersect with a Street Centerline …must be inside an Exterior Feature polygon of subtype ‘Sidewalk’ Pathway lines (Subtype=‘Inferred (Driveway)’): …must not intersect with a Street Centerline …must be inside an Exterior Feature polygon of subtype ‘Driveway’ 35 exceptions Pathway lines (Subtype=‘Park’): …must not intersect with a Street Centerline …must be inside a Recreation Feature polygon of subtype ‘Walking Trail’ Pathway lines (Subtype=‘Inferred (Parking Lot)’): …must not intersect with a Street Centerline …must be inside a Pavement polygon of subtype ‘Parking Lot’ Pathway lines (Subtype=‘Crosswalk)’): …must be inside a Pavement polygon of subtype ‘Crosswalk’ Pathway lines (Subtype=‘Within Roadway)’): …must be inside a Pavement polygon of subtype ‘Right-Of-Way’ Administrative Boundary Coincidence Adminstrative lines (Subtype=‘Street Centerline’): …must be covered by a Street Centerline feature Administrative lines (Subtype=‘Hydro Centerline’): …must be covered by a Hydrography line feature Administrative lines (Subtype=‘Parcel Boundary’): …must be covered by a Parcel polygon boundary Administrative lines (Subtype=‘Subdivision Boundary’): …must be covered by a Subdivision polygon boundary Administrative lines (Subtype=‘Road Edge of Pavement’): …must be covered by a Pavement polygon boundary Administrative lines (Subtype=‘County Boundary’): …must be covered by a County polygon boundary Address Point Conflation with Polygons Address points: …must be properly inside a Parcel polygon 2 exceptions Parcel polygons (Subtype=‘Acreage’): Parcel polygons (Subtype=‘Temporary’): Parcel polygons (Subtype=‘Commercial’): Parcel polygons (Subtype=‘Community’): Parcel polygons (Subtype=‘Industrial’): Parcel polygons (Subtype=‘Mobile Home Park’): Parcel polygons (Subtype=‘Multi Family’): Parcel polygons (Subtype=‘Single Family’): Parcel polygons (Subtype=‘Unknown’): …contains point an Address point Address points (Subtype=‘Building’): …must be properly inside a Building polygon of subtype ‘Addressed Structure’ Building polygons (Subtype=‘Addressed Structure’): …must contain one point an Address point of subtype ‘Building’ Park polygons: …contains point an Address point of subtype ‘Building’ Address Point Conflation with Points Day Care points: Fire Station points: Food Service License points: Historic Site points: Liquor License points: Medical Care points: 4 exceptions Place Of Worship points: Police Station points: Polling Place points: School Building points: …must coincide with an Address point of subtype ‘Building’ Emergency Siren points: …must coincide with an Address point of subtype ‘Other’ Changes to the GIS Editing Workflow Validating Topology Topology must be validated in order to compile the errors Once a feature is edited, it’s ‘envelope’ is tagged as a “Dirty Area” All dirty areas must be cleaned to verify if edits conform to topology rules Topology toolbar allows for topology validation for 1) The current view extent 2) A user-defined area Time it takes to validate will vary based on 1. The number and type of errors 2. The geographic extent 3. Tolerance setting * Suggest clicking ‘validate current view extent’ button immediately after performing an edit, and before zooming away from the area Topology Toolbar in ArcMap Map Topology Map Topology allows you to edit coincident geometry and enforce topology on-they-fly during an edit session Specific topology rules do not come into play. Enforces “implied topology” Doesn’t persist in the geodatabase. It is saved with the map document. Can be used with features classes or shapefiles housed in the same workspace Topology Toolbar in ArcMap GDB Topology Geodatabase Topology allows you to verify geometry coincidence and visualize errors in a layer. Allows you to specify very specific coincidence rules Topology persists in the geodatabase No setup within editing project required Requires periodic revalidation of topology (factors in recent edits and refreshes list of errors) Fixing Errors in ArcMap Fixing Errors in ArcMap Exceptions can be tagged and will persist in the topology implementation Fixing Errors in ArcMap Suggested fixes may provide quick way to correct topology error Conclusions