[GIS] Enforce topology rule over a shapefile

arcgis-desktopfile-geodatabaseshapefiletopology

I have a couple of shapefiles, the first one is a set of points, while the second one is a set of lines. I need to regularize the shapefiles in order to be able to generate a graph (adjacency list / paths) out of them later.

The set of lines has many dangles, with both undershoot and overshoot problems. I want ArcGIS to mark the suspect points and possibly offer me a correction to apply, on an individual basis.

I've seen the tutorial "Using geodatabase topology to fix line errors", which seems to go where I want.

However, in order to create a "topology" with a "Must Not Have Dangles" rule, I need a "geodatabase".
I'm very new to GIS systems, and I'm trying to figure out a way to convert my shapefile to a geodatabase. I did the following

  1. open ArcCatalog
  2. click Connect Folder to connect the folder with my shapefiles
  3. right click on connected folder, New, File Geodatabase
  4. right click on created geodatabase, New, Feature Dataset
  5. right click on created feature dataset, New, Feature Class
  6. added the shapefile with lines (I used the Import button while creating the new Feature Class – see first screenshot below).
  7. right click on the feature dataset (not the feature class), New, Topology
  8. follow the tutorial

However, after adding the "Must Not Have Dangles" rule, and running Validate, I am told there are no errors. I can see there are errors, there are obvious dangling lines, so why aren't they detected?

New Feature Class

When I'm finished creating the topology, I get this warning:

enter image description here

This is the final result:

Final result

Best Answer

Shapefiles do not support topology directly, as you have discovered. The data must first be imported in to a geodatabase, and specifically a feature dataset within that geodatabase. If you need to continue on in shapefile form, you'll have to export it back out once you're done topology checking and editing.

The answer to the actual/original question is that you had not imported any geometry to the feature dataset that was participating in the topology. Your step six created a new, blank feature class and the Import button you used only brought in the fields from your shapefile, not the actual lines. This is what the message in your second screenshot indicates (topology is valid, but there are no actual features participating).

To do that you need to right-click the feature dataset and rather than choosing New, choose Import > Feature Class (multiple or single depending on if you want to bring the lines and points in at the same time, but note everything in a feature dataset must be in the same coordinate system) and select the line shapefile. This will import the actual line data into the feature class within the feature dataset.

Related Question