Prepare transportation data

The metro department has a number of feature classes used to manage and regulate bicycle parking and parking permit areas across the city. You'll download and explore these feature classes. As you'll see later, when building topology rules, it's critical that you understand your spatial and attribute data first.

Explore the data

First, you'll download a provided ArcGIS project file containing this tutorial's data and explore some of the metro department's parking feature classes.

  1. Download the Sydney_Metro_Data .zip file and extract its contents to a suitable location on your computer.
  2. Open the Sydney_Metro_Data folder. Open the Sydney Parking folder. Double-click the Sydney Parking ArcGIS project file.

    Sydney Parking ArcGIS project file

    The ArcGIS Pro project opens.

  3. If prompted, sign in to your ArcGIS Online or ArcGIS Enterprise account.
    Note:

    If you don't have an organizational account, see options for software access.

    Several feature classes are already on this map and symbolized for you. The features include bike parking locations, bicycle lanes, and areas classified as parking permit zones.

    Map of Sydney

    Next, you'll explore the geodatabase containing these feature classes to better understand some of their attributes.

  4. On the ribbon, click the View tab. In the Windows group, click Catalog Pane.

    Catalog Pane button

    The Catalog pane appears. Next, you'll access the geodatabase.

  5. In the Catalog pane, expand Databases. Expand Sydney Parking.gdb.

    Catalog pane

    The Sydney Parking geodatabase contains a feature dataset named MetroData. A feature dataset is a collection of related feature classes that share a common coordinate system and can participate in advanced geodatabase functionality, such as networks or, as you'll see later, topologies.

  6. Expand MetroData.

    The MetroData feature dataset

    There are three feature classes:

    • The Bicycle_parking feature class represents points across town where people can park their bikes.
    • The Cycle_network feature class represents bicycle lanes across the city.
    • The Parking_permit_areas feature class represents areas in town that allow and do not allow bike parking.

    Since these feature classes reside in the MetroData feature dataset, they all have the same coordinate system. You'll explore this next.

  7. Right-click MetroData and choose Properties.

    Properties option

    The Feature Dataset Properties window appears.

  8. Click the General tab. Expand Spatial Reference.

    Spatial Reference group

    The Projected Coordinate System is listed. This implies that the features classes in this feature dataset all use the GDA 1994 MGA Zone 56 projected coordinate system. Later in the tutorial, this will be important for your topology if feature classes are added to this feature dataset.

  9. Close the Feature Dataset Properties window.

    Next, you'll explore the Parking permit areas attributes.

  10. In the Contents pane, right-click Parking permit areas. Choose Attribute Table.

    Attribute Table option

    The attribute table appears. You can see all of the fields, or columns, contained in this feature class.

    Parking permit areas attribute table

    The Permit Eligible field is orange. This means that it has a subtype. Subtypes are a subset of features that share the same attributes and are used to categorize data. You'll explore the subtypes available with this layer.

  11. On the ribbon, click the Data tab. In the Data Design group, click Subtypes.

    Subtypes button

    The Subtypes view appears.

    Parking permit areas subtypes

    Along the top of the view, there are two subtype values: Resident/Business/Visitor Parking Permit Area and No Parking Permit Area. These subtype values are being used to symbolize the Parking permit areas layer on the map. The Resident/Business/Visitor Parking Permit Area value is shown in green, and the No Parking Permit Area value is shown in red.

    These subtypes can also be used when building topology rules.

  12. Close the Subtypes view and the attribute table.
  13. On the Quick Access Toolbar, click Save to save your project.

    Save button

Now that you've downloaded and explored the data provided by the city, you'll build topology rules in your geodatabase.


Build geodatabase topology rules

Topology rules ensure that your data will meet the sustainable transportation initiative's criteria. The following are the initiative's conditions:

  • All Parking permit areas polygons must have their borders aligned with one another.
  • Within the Cycle network lines, the lines must not self-overlap.
  • The Bicycle parking points must be within Resident/Business/Visitor Parking Permit Areas.

You'll create a topology, build the rules, and then check your feature classes to see if there are any rule violations.

Create a geodatabase topology

First, you'll build a geodatabase topology. A geodatabase topology is a controller dataset which provides a mechanism to model spatial relationships between feature classes and maintain their data integrity. In other words, it will help you better manage your data by defining how point, line, and polygon features share geometry based on your project's objectives.

  1. On the ribbon, in Command Search, type Create Topology. Choose Create Topology.

    Create Topology search

    The Geoprocessing pane appears with the Create Topology tool.

    This tool will build the topology. Topologies must be built within a feature dataset.

  2. In the Geoprocessing pane, for Input Feature Dataset, browse to the Sydney Parking folder. Double-click the Sydney Parking geodatabase and choose the MetroData feature dataset.

    Input Feature Dataset parameter

    Next, you'll name the topology.

  3. For Output Topology, type MetroTopology.

    Output Topology parameter

  4. Click Run.

    A topology is created in the Sydney Parking geodatabase.

  5. In the Catalog pane, under Sydney Parking.gdb, expand MetroData.

    The MetroTopology topology is visible.

    MetroTopology in the geodatabase

Configure topology

Now, you'll configure the topology. This consists of setting the Cluster Tolerance value, adding feature classes, and setting XY ranks.

  1. In the Catalog pane, right-click MetroTopology. Choose Properties.

    Choose the Properties option.

    The Topology Properties window appears.

  2. In the Topology Properties window, if necessary, click the General tab.

    Here, you can set the Cluster Tolerance values.

    Cluster Tolerance option

    The cluster tolerance represents the distance in which vertices are considered identical or coincident. All vertices that fall within the cluster tolerance are considered to be at the same location and are going to be snapped together during the topology geoprocessing operations. You will keep the default.

    To function, a topology requires participating feature classes. You'll add the feature classes next.

  3. In the Topology Properties window, click the Feature Class tab.

    The feature classes are listed in your feature dataset. You'll add these three layers to the topology.

    Note:

    Only feature classes that reside in the same feature dataset as the topology can be added to the topology.

  4. Check the boxes next to the Bicycle_parking, Cycle_network, and Parking_permit_areas feature classes.

    Adding feature classes to the topology

    As you add feature classes to your topology, they are given an XY Rank value. During the validation process, the XY Rank value defines the movement of the features in a feature class in relation to the features from another feature class. Feature classes with a lower rank will be adjusted or edited based on those of a higher rank. As a result, feature classes that you consider more accurate should be assigned a higher rank than those with lower accuracy.

    The boundaries of the parking permit areas were digitized from a paper map. The bicycle parking points were collected with a high-accuracy GPS receiver. Since the bicycle parking points are more accurate than the parking permit areas, the bicycle parking points will have a higher rank than the parking permit areas. This prevents your GPS points from being adjusted to match the less accurately digitized parking permit areas.

    To set this, you'll define the number of ranks. The default is 1, which assumes that all of your feature classes are equally accurate.

  5. For Number of XY Ranks, type 2.

    Number of XY Ranks parameter

    Next, you'll update the Parking_permit_areas feature class to have a lower rank.

  6. For Parking_permit_areas, for XY Rank, type 2.

    XY Rank parameter

    Now that the feature classes have been added to the topology and given their appropriate ranks, you can begin to build rules.

Configure topology rules

The ability to check your data with topology is based on the rules you build. Topology rules define the conditions that the participating feature classes must meet to ensure spatial data integrity. These rules can be enforced within a single feature class or between two feature classes. Rules can also be applied at the subtype level.

You'll build rules that match the city's sustainable transportation initiative's criteria:

  • All Parking permit areas polygons must have their borders aligned with one another.
  • Within the Cycle network lines, the lines must not self-overlap.
  • The Bicycle parking points must be within Resident/Business/Visitor Parking Permit Areas.

You'll translate these criteria into rules that the topology can check for you. You'll start with the first rule: all Parking permit areas polygons must have their borders aligned with one another.

Note:

For a poster-size PDF listing all topology rules, see ArcGIS Geodatabase Topology Rules. Some of these rules have similar names. Be sure to choose the correct rule when configuring a topology.

  1. Click the Rules tab.

    Here, you can observe, add, remove, and import rules.

    Rules tab

  2. Click Click here to add a new rule.

    A row is added for the first rule.

    Empty rule

    This first rule is associated with the Parking_permit_areas feature class. You'll set this as Feature Class 1.

  3. For Feature Class 1, choose Parking_permit_areas.

    Feature Class 1 parameter

    This rule needs to ensure that the various polygons within this feature class do not overlap. You'll select the rule that enforces this.

  4. For Rule, choose Must Not Overlap (Area).

    Rule parameter

    The first rule is complete. When this rule is implemented, if Parking_permit_areas polygons overlap, they will be identified.

    Next, you'll build the rule to make sure that within the Cycle network, the lines do not self-overlap.

  5. Click Click here to add a new rule.

    This rule focuses on the Cycle network feature class.

  6. For Feature Class 1, choose Cycle_network.

    The rule needs to prevent lines in this layer from crossing over themselves. You'll choose a rule that finds self-overlapping lines.

  7. For Rule, choose Must Not Self Overlap (Line).

    The second topology rule

    Two of the three criteria have been added as rules. Next, you'll add the final rule: the Bicycle_parking points must be within Resident/Business/Visitor Parking Permit Areas.

    This rule is more advanced. It will call on two layers, Bicycle parking and Parking permit areas. It also calls on a particular type of permit area, those that are Resident/Business/Visitor Parking Permit Areas. Recall that this is a specific subtype of the Parking permit areas feature class. This rule will ensure that points only fall inside of specific polygons.

  8. Click Click here to add a new rule.

    The feature class that is being reviewed, the Bicycle_parking points, is Feature Class 1.

  9. For Feature Class 1, choose Bicycle_parking.

    The rule needed for this criterion will ensure that points are properly within the boundary of a second feature class.

  10. For Rule, choose Must Be Properly Inside (Point-Area).

    You added a point layer to this rule and confirmed that it needs to be inside of an area. The second feature class will define those areas.

  11. For Feature Class 2, choose Parking_permit_areas.

    Now, you need to choose a specific type of permit area. This is done with subtypes.

  12. For Subtype 2, choose Resident/Business/Visitor Parking Permit Area.

    The final rule is complete.

    The third topology rule

  13. Click OK.
  14. Save your project.

You've created an empty topology, checked the cluster tolerance, added feature classes, ranked the feature classes, and applied rules using multiple layers and subtypes.


Review data with topology

Now that you have configured your topology by incorporating the project's needs, you'll identify data issues through the validation process. Then, you'll correct any topological errors to improve the quality of your data.

Validate the topology

In this step, you'll validate the topology based on your rules to identify any spatial issues.

  1. On the ribbon, in Command Search, type Validate Topology. Choose Validate Topology.

    The Geoprocessing pane appears. The Validate Topology tool looks for errors in your data based on the rules you created previously.

  2. In the Geoprocessing pane, for Input Topology, browse to the MetroData feature dataset and chose MetroTopology.

    Input Topology parameter

  3. Click Run.

    A group of layers, MetroTopology, is added in the Contents pane. These layers help you see where you have spatial errors in your data.

    MetroTopology layers

Resolve errors

Rather than trying to find the issues manually, you'll use the Error Inspector pane for a more systematic approach. The Error Inspector pane shows the errors in your data and where they are on a map, and it helps you resolve them.

  1. On the ribbon, click the Edit tab. In the Manage Edits group, click Error Inspector.

    Error Inspector button

    The Error Inspector pane appears. Violations will appear on the left in a table format, and the means to fix them will appear on the right.

    By default, the errors in the Error Inspector pane are filtered by your map's current extent. You'll turn this off to see all of the errors.

  2. On the Error Inspector pane toolbar, click Map Extent to deactivate this filter.

    Map Extent button

    Five errors appear; each has its own row.

    List of errors

    Note:

    If you can't see all of the text in the results, you can adjust the width of the fields.

    Looking at the results, the Feature 1 value tells you which feature is causing the error and its feature class. The Rule value shows the rule that has been violated by Feature 1, and the Feature 2 value is the feature and its feature class that causes the rule to be violated.

    For example, the first error is caused by a point in the Bicycle_parking feature class. Specifically, it's Bicycle_parking point 75. The rule it's breaking is that it must be inside of a polygon. The polygon that it's incorrectly inside of is in the Parking_permit_areas feature class.

    Note:

    The numbers seen in the Feature 1 value are pulled from the respective layer's OBJECTID field.

    Now that you can see the errors, you'll begin to correct them.

  3. On the Error Inspector pane, click the row number 1 to select the first row.

    Click the first row.

    The Preview map updates to show you the location of the error. It provides spatial context about this error.

    Note:

    You can zoom and pan in the Preview map.

    Map of the error

    The Bicycle parking point falls inside of the Parking permit areas layer's polygons. However, the area is not classified as Resident/Business/Visitor Parking Permit Area. You'll fix this error.

  4. Click the Fix tab.

    Fix tab

    Depending on the error, options to resolve the issue are provided to you.

    Available Fixes for Selected Errors options

    In this case, the primary option is to delete the point feature. The other option is Mark as Exception. This option is useful for those events where a rule that you've made can be broken.

    Since the sustainability initiative states that parking is not allowed in certain areas, you'll delete this point.

  5. Under Available Fixes For Selected Errors, click Delete Feature.

    Delete Feature option

    The feature is deleted, and the error is removed from the list in the Error Inspector pane.

  6. Select the Bicycle_parking : Bicycle_parking 562 error.

    Bicycle parking error

    This is another bicycle parking location that is not in the proper polygon.

  7. Click the Preview tab to see the error.

    Preview tab and map

    Again, a point was incorrectly digitized in the wrong parking permit area.

  8. Click the Fix tab and delete the feature.

    A second error has been removed from your results. The next two errors involve Cycle_network features that are self-overlapping. You'll explore these next.

  9. Select the error for Cycle_network : Cycle_network 879.

    Error for Cycle_network feature 879

  10. Click the Preview tab to see the error.

    Self-overlapping line

    Although it's difficult to see, the highlighted section in yellow has extra vertices and the line doubles back on itself causing the self-overlap error. The other Cycle_network feature has the same error. Since both features have the same error, you can resolve them both at the same time. Both errors need to be selected.

  11. In the results table, press Ctrl and click the row number 2 to select the second error, Cycle_network : Cycle_network 847.

    Both errors are selected.

    Selected errors

  12. Click the Fix tab. Under Available Fixes For Selected Errors, click Simplify.

    Simplify button

    The extra vertices are removed, and the errors are resolved.

    The final error concerns two Parking_permit_areas polygons that are overlapping. You'll resolve this error next.

  13. Select the Parking_permit_areas 12 error and click the Preview tab.

    The view provided in the map does not allow you to see the error well. You'll zoom in to see it better.

  14. On the Preview tab, zoom in to the error.

    Overlapping polygons

    The error is easier to see. These polygons are overlapping when they should not. You'll resolve this final error.

  15. Click the Fix tab.

    Fixes for the overlapping polygons

    The available fixes for this error are Create Feature, Merge, and Remove Overlap. All these options require a change in the geometry of Parking_permit_areas features. Since the parking areas have been digitized from a printed document and you are not sure of their accuracy, you will not make any changes. Instead, you'll mark this error as an exception.

  16. Click Mark as Exception.

    Mark as Exception button

    When an error is marked as an exception, it is not removed from the list of errors, but it is noted with a red circle and a white exclamation point icon. This allows others to see that the error does technically exist, but it has been reviewed and the error is allowable.

    Exception icon

    To ensure that all errors have been corrected, you'll validate the topology as a final step. This time you'll validate the topology in the Error Inspector pane.

  17. In the Error Inspector pane, click the Validate button.

    Validate button

    No additional errors are returned. All the issues have been resolved or marked as an exception.

    When you simplified the lines and deleted the points, those were edits made to the feature classes. These edits need to be saved.

  18. On the ribbon, on the Edits tab, in the Manage Edits group, click Save. If the Save Edits window appears, click Yes.
  19. Close the Error Inspector pane.
  20. Save your project.

After you made rules, you applied the topology to your data and found several errors. You were then able to fix the errors or mark them as exceptions using the Error Inspector.


Apply rules to additional datasets

According to the original sustainable initiative, all of the requirements have been met. However, your manager just informed you that there's been a change. A car share operator is expressing interest in supporting a sustainable transportation system in the city and is sharing the locations of all authorized parking points for car share users. Their data has been provided to you.

You need to see if there are any car parking points located in unauthorized areas. You'll update your geodatabase to account for this provided dataset and add rules to your existing topology.

Review the car share data

The provided data resides in a different geodatabase; you'll explore it and then add it to your Sydney Parking geodatabase.

  1. In the Catalog pane, expand Folders. Expand Sydney Parking and expand CarShare.gdb.

    CarShare geodatabase

    Car_share_bay_operator_wgs84 is the dataset provided to you. You'll look into its properties.

  2. Right-click Car_share_bay_operator_wgs84 and choose Properties.

    The Feature Class Properties window appears.

  3. Click the Source tab. Expand Spatial Reference.

    Expand Spatial Reference.

    The Projected Coordinate System property is WGS 1984 Web Mercator. The coordinate system used by the rest of the project is GDA 1994 MGA Zone 56. The difference in coordinate systems could cause an issue. However, when you move this feature class into the MetroData feature dataset, the feature class will automatically be reprojected to GDA 1994 MGA Zone 56 because all feature classes added into a feature dataset will inherit the feature dataset's coordinate system.

    Next, you'll copy this feature class into the MetroData feature dataset.

  4. Close the Feature Class Properties window.
  5. In the Catalog pane, right-click Car_share_bay_operator_wgs84. Point to Export and choose Feature Class To Feature Class.

    Export the Car_share_bay_operator_wgs84 feature class.

    The Geoprocessing pane with the Export Features tool appears. This tool copies a feature class from one location to another. If the file location is a feature dataset with a different coordinate system, the feature class's coordinate system will be updated.

  6. In the Geoprocessing pane, for Output Feature Class, type CarShare.

    Output Location parameter

  7. Click Run.

    The CarShare feature class is added to the map.

  8. In the Catalog pane, expand the Sydney Parking geodatabase. Expand the MetroData feature dataset.

    Expand the Sydney Parking geodatabase and the MetroData feature dataset

    The CarShare feature class has been added.

  9. Open the CarShare feature class's properties. On the Source tab, expand Spatial Reference.

    The Projected Coordinate System value was changed when the Export Features tool was run.

    Projected Coordinate System value

  10. Close the Feature Class Properties window.

    Now that the CarShare feature class has been added to the MetroData feature dataset, you'll add a new topology rule.

Validate and apply geodatabase topology

Next, you'll add the CarShare feature class to the topology and add more rules to account for the change in the project.

  1. In the Catalog pane, under MetroData, right-click MetroTopology and choose Properties.

    The Properties option

    The Topology Properties window appears. First, you'll add the CarShare feature class.

  2. Click the Feature Class tab.
  3. Under Feature Classes, check the box next to CarShare.

    Add the CarShare feature class to the topology.

    Since you don't know how this feature class was created, you'll leave it with the default XY Rank value of 2 for less accurate data.

    Next, you'll add a new rule for this feature class.

  4. Click the Rules tab.
  5. Click Click here to add a new rule.

    This rule will look for any CarShare points that are not in Resident/Business/Visitor Parking Permit Areas polygons.

  6. Set the following:
    • For Feature Class 1, choose CarShare.
    • For Rule, choose Must Be Properly Inside (Point-Area).
    • For Feature Class 2, choose Parking_permit_areas.
    • For Subtype 2, choose Resident/Business/Visitor Parking Permit Area.

    Rule for the CarShare feature class

  7. Click OK.

    The rule has been added to the topology. Next, you'll validate the topology to look for errors.

  8. On the ribbon, on the Edit tab, in the Manage Edits group, click Error Inspector.

    The Error Inspector pane appears. The old exception is still visible.

  9. In the Catalog pane, right-click MetroTopology and choose Validate.

    Validate option

    Two errors are found and added to the list.

    Additional errors

Edit errors manually

Now that you've identified these additional errors, you'll use traditional editing tools to resolve them.

  1. Select the CarShare : CarShare 688 error.

    In the Preview map, the point is located outside of a Resident/Business/Visitor Parking Permit Area polygon.

    Map of error

    Instead of deleting this point, as you did in the past, you'll move it into a Resident/Business/Visitor Parking Permit Area polygon. This will be done in the Map view with editing tools.

  2. On the Error Inspector pane toolbar, click Zoom To Selection.

    Zoom To Selection button

    Note:

    If you click the Zoom To Selection button multiple times, it will continue to zoom in on the selected feature.

    To see the feature, instead of the topology symbology, you'll turn off the MetroTopolgy layer.

  3. In the Contents pane, turn off MetroTopology.
  4. On the ribbon, on the Edit tab, in the Tools group, click Move.

    Move button

    To use this tool, you need to select a feature on the map. The selection tool is automatically activated for you.

  5. Click the point to select it. In the selection menu, click the drop-down arrow and choose CarShare.

    CarShare in the select layer menu for the selected point

    The selected point will turn bright yellow. You are able to move the point.

    Selected point

  6. Click the point and drag it into the green polygon to the left of its current position.

    Moved point

    To finalize this edit, you'll clear any selected features.

  7. On the ribbon, on the Edit tab, in the Selection group, click Clear.

    Clear button

    The first CarShare error has been fixed but not resolved. As a result, it will remain in the list of errors until the next validation.

    This edit is also considered a dirty area. Dirty areas are automatically generated to mark areas where feature or attribute edits have been made in a topology that have not yet been validated. Next, you'll explore the dirty areas created by editing this CarShare point.

  8. In the Contents pane, turn on MetroTopology and Dirty Areas.

    Dirty areas have been added around the original and new locations of the CarShare point you edited. However, they are very small. To get a closer look at one of the dirty areas, you'll use a bookmark.

  9. On the ribbon, click the Map tab. In the Navigate group, click Bookmarks, and choose Original CarShare Location.

    Original CarShare Location bookmark

    Note:

    You can also manually zoom to see the dirty area created by your edits.

    A dirty area polygon around the original location of the CarShare point is visible.

    Dirty area polygon around original feature

    Now that you've edited this error and explored its resulting dirty area, you'll look at the second topology error created by the CarShare dataset.

  10. In the Error Inspector pane, select the CarShare : CarShare 595 error. On the Error Inspector pane toolbar, click Zoom To Selection. Zoom out to better see the area around this error.

    CarShare error 595

    This car share location is also not in the proper parking permit area. However, your manager has told you that this location is acceptable and you'll mark it as an exception.

  11. On the Fix tab, click Mark as Exception.

    The errors created by the rule you added are fixed or marked as an exception. Next, you'll remove the CarShare : CarShare 688 error after saving your edits and validating the topology again.

  12. On the ribbon, on the Edit tab, in the Manage Edits group, click Save. If the Save Edits window appears, click Yes.
  13. In the Catalog pane, right-click MetroTopology and choose Validate.

    The CarShare : CarShare 688 error is resolved and removed from the list.

    Two remaining exceptions

    The dirty areas have also been removed.

  14. On the ribbon, click the Map tab. In the Navigate group, click Bookmarks, and choose Original CarShare Location.

    The dirty area you observed earlier has been deleted since your edit was validated.

Export topology rules

Next, you'll take the rules that you've generated and export them. Once exported, they can be shared with others.

  1. In the Catalog pane, right-click MetroTopology and choose Properties.
  2. Click the Rules tab.
  3. Click Save As.

    Save As button

    The Export to File window appears.

  4. Browse to the Sydney Parking folder.
  5. For Name, type Ecomobility Topology Rules.

    Export to File window

  6. Click Save.

    The rules have been exported and the file can be shared as needed. Another GIS analyst could use the Load Existing button on the Rules tab to import your rules.

    Load Existing button

  7. Click OK to close the Topology Properties window.
  8. Save your project.

In this tutorial, you provided support to an ecomobility initiative in Sydney, Australia. First, you explored the Metro Department's data. Then, you learned about your project's needs and built a topology and rules to enforce those requirements. This allowed you to identify and correct spatial data inconsistencies. Finally, you made the geodatabase topology more complex by adding an additional feature class and rule to maintain the spatial data integrity. As your projects change over time, geodatabase topology is flexible to meeting those evolving needs and keep your data spatially accurate.

You can find more tutorials in the tutorial gallery.