Select to view content in your preferred language

Street Data Analysis Tool

193
1
Jump to solution
07-30-2025 01:27 PM
Labels (3)
DiglineInc
New Contributor

I am trying to find if there is an existing ArcGIS Pro tool(s) capable of satisfying the following quality control checks:

  1. Verify the "name" field is not null
  2. Address ranges for “left” & right” sides of street correctly correspond to “odd” and “even” ranges
  3. Each street segment is connected to another street segment
  4. If there are two segments that are uncombined within 15’ of each other (intersections actually intersect)
  5. If any street segment connects to itself
  6. If multiple streets segments overlap each other (completely or partially exists in the same physical location)
  7. Address ranges between streets with the same name do not overlap
  8. Calculate the coordinates of the end points for each street segment

If there are tools that already provide any/all of the above analysis, what license tier is required to gain access (and what are the tools called)?

If there are no tools readily available, is there any conversion methods or processes to import a MapBasic tool into ArcGIS Pro?



0 Kudos
1 Solution

Accepted Solutions
Robert_LeClair
Esri Esteemed Contributor

So there's no single geoprocessing tool that will do all you wish.  I'm sure you could automate some of this using Python if you had the prerequisite skillset.  Here's a list of GP tools that would accomplish each item:

1.  Use the Select by Attribute tool and for the clause, select your attribute field and use the operator IS NULL.  This will select your NULL attribute records for that field.
2.  To select odd numeric values, again use the Select by Attribute tool and toggle the SQL Editor.  For the LeftAddress attribute field, you can use the following syntax:  MOD("YourField", 2) = 1 To select only even attribute numeric values for the RightAddress attribute field, again use the Select by Attribute tool and toggle the SQL Editor.  Use the following syntax - MOD("YourField", 2) = 0
3.  Create a geodatabase topology for your streets feature class and use the Lines must not Dangle rule to find roads that are not connected or are an exception to the rule (i.e. cul-de-sacs)
4.  Create a 15' buffer around your roads feature class using the Buffer GP tool.  Then use the Select by Location tool to find road segments that intersect the buffer but are not connected.  Specify the spatial relationship as INTERSECT.  Only selected features that fall within the 15' buffer will be selected.
5.  Use the geodatabase topology rule - Must not Self Intersect - Geodatabase topology rules and fixes for polyline features—ArcGIS Pro | Documentation
6.  Use the geodatabase topology rule - Must not Self Overlap - Geodatabase topology rules and fixes for polyline features—ArcGIS Pro | Documentation
7.  Working on this one still.
8.  If you don't have 4 attribute fields for this one, add 4 new attribute fields - StartX, StartY, EndX, EndY and have the field type as FLOAT.  Then use the Calculate Geometry Attributes GP tool using the 4 fields and the following properties - Line start x-coordinate, Line start y-coordinate, Line end x-coordinate, Line end y-coordinate.  

Hope this helps!

View solution in original post

1 Reply
Robert_LeClair
Esri Esteemed Contributor

So there's no single geoprocessing tool that will do all you wish.  I'm sure you could automate some of this using Python if you had the prerequisite skillset.  Here's a list of GP tools that would accomplish each item:

1.  Use the Select by Attribute tool and for the clause, select your attribute field and use the operator IS NULL.  This will select your NULL attribute records for that field.
2.  To select odd numeric values, again use the Select by Attribute tool and toggle the SQL Editor.  For the LeftAddress attribute field, you can use the following syntax:  MOD("YourField", 2) = 1 To select only even attribute numeric values for the RightAddress attribute field, again use the Select by Attribute tool and toggle the SQL Editor.  Use the following syntax - MOD("YourField", 2) = 0
3.  Create a geodatabase topology for your streets feature class and use the Lines must not Dangle rule to find roads that are not connected or are an exception to the rule (i.e. cul-de-sacs)
4.  Create a 15' buffer around your roads feature class using the Buffer GP tool.  Then use the Select by Location tool to find road segments that intersect the buffer but are not connected.  Specify the spatial relationship as INTERSECT.  Only selected features that fall within the 15' buffer will be selected.
5.  Use the geodatabase topology rule - Must not Self Intersect - Geodatabase topology rules and fixes for polyline features—ArcGIS Pro | Documentation
6.  Use the geodatabase topology rule - Must not Self Overlap - Geodatabase topology rules and fixes for polyline features—ArcGIS Pro | Documentation
7.  Working on this one still.
8.  If you don't have 4 attribute fields for this one, add 4 new attribute fields - StartX, StartY, EndX, EndY and have the field type as FLOAT.  Then use the Calculate Geometry Attributes GP tool using the 4 fields and the following properties - Line start x-coordinate, Line start y-coordinate, Line end x-coordinate, Line end y-coordinate.  

Hope this helps!