Topology check not picking up blatant errors?

835
2
11-07-2017 11:02 AM
TaraLynn
New Contributor

ArcMap ver. 10.2

I have a line feature. It is the result of two separate polygon features being converted to line, and merged together. A high number of dangles are expected. However, my error checker is not finding any of these errors.

Topology properties:

Feature class: 2016_Merge

Rule: "Must Not Have Dangles (line)"

Initially, I created the topology through model builder, and it didn't work. I deleted it and created it manually, but I am still running into the same issue.

I am selecting 'Validate Entire Topology'. The correct topology has been selected and is the only topology open in the mxd.

On the Error Inspector, I have checked both the Exceptions and the Errors list, and have disabled 'Visible Extent only'.

I have tried everything I can think of - am I missing something obvious?

The spatial reference for both the feature dataset and geodatabase and the dataframe in the mxd are all the same, as well (UTM10)

Here is an example of the line feature class I am working with, which appears to have dangles:

Line feature class which appears to have dangles, no topology check results

Error Inspector:

Topology properties:

0 Kudos
2 Replies
ChrisDonohue__GISP
MVP Frequent Contributor

For starters, is the feature class "2016_Merge" in a Feature Dataset within a File Geodatabase?  I'm guessing it is not based on the filename, which starts with a number (which would not be allowed).  If your feature class is not in a Feature Dataset in a File Geodatabase, I would suggest placing it there and then creating the topology.  Then validate, start an editing session on it, then open the Error Checker.  Give that a try and see if it resolves the issue.

Designing a geodatabase topology—Help | ArcGIS for Desktop 

Creating a topology—Help | ArcGIS for Desktop 

Chris Donohue, GISP

0 Kudos
wwnde
by
Occasional Contributor

Not sure your problem was resolved. Maybe try run the following script. It runs through a dataset in geodatabase identifying lines with dangles.

import arcpy
import os
#This Script iterates through datasets, identifies line features and applies creates topology and exports topology errors
arcpy.env.overwriteOutput = True
# Input variables

arcpy.env.workspace = r"C:\MyProjects\MyProject.gdb"

input_dataset = r"C:\MyProjects\MyProject.gdb\fds"
wert = r"C:\MyProjects\MyProject.gdb\fds"
topo_name = "Topology"
cluster_tol = 0.001
input_fc = r"C:\MyProjects\MyProject.gdb\fds\fc1 1 1;C:\MyProjects\MyProject.gdb\fds\fc2 1 1"
rules = r"'Must Not Have Dangles (Line)' C:\MyProjects\MyProject.gdb\fds\fc1 # C:\MyProjects\MyProject.gdb\fds\fc1 #"
validate = "true"

out_topo = arcpy.CreateTopology_management(input_dataset, topo_name, cluster_tol)
print("Created topology.")
r = rules.rsplit(" ", 4)
print (r)
print("Finished3.")
for rule in r:
#print("Finished3.")
rule_type = r[0].replace("'","")
print( rule_type)
in_fc1 = r[1]
print(in_fc1)
subtype1 = r[2]
print(subtype1)
datasets = arcpy.ListDatasets(feature_type='feature')
datasets = [''] + datasets if datasets is not None else []
#rulesL = rules.split(";")
for ds in datasets:
for fcs in arcpy.ListFeatureClasses(feature_dataset=ds):
path = os.path.join(arcpy.env.workspace, ds, fcs)
print(path)
sasa2 = '%s' % fcs #identify the feature class in the iteration
print (sasa2)
print "11111111111111111111111111"
# Create the topology

arcpy.AddFeatureClassToTopology_management(out_topo, fcs, 1, 1)
print(arcpy.GetMessages())
print "22222222222222222222"
arcpy.AddRuleToTopology_management(out_topo, rule_type, fcs, subtype1)
print(arcpy.GetMessages())

print "333333333333333333333333"
if validate == "true":
#try:
arcpy.ValidateTopology_management(out_topo)
#except:
print(arcpy.GetMessages())
print "4444444444444444444444444444"

arcpy.ExportTopologyErrors_management(out_topo, wert, sasa2)


print("Finished.")
0 Kudos