Any ideas for a check to find gaps in address ranges for connected road segments?

5897
7
05-16-2016 10:12 AM
JulieRoebotham
New Contributor III

Hi All. I'm looking for gaps in address ranges between two connected line segments. what I''m looking to accomplish is something along the lines of what the geometry on geometry check could ALMOST do, if it allowed me to do any calculations to the attributes I'm comparing

for example: I have two line segments that touch. each line segment has two long integer fields 'first right house' and 'last right house' that store the numeric part of the first and last addresses for that segment.

the check I want to create would be something like: for any touching lines, is the last house in segment 1 < (first house in segment 2 - 2). This would tell me if theres a gap in the address numbers of  more than 2 digits.

the geometry on geometry check allows me to compare attributes for touching lines, but not compare one attribute against another attribute value - 2.

I don't see this in the Data Reviewer for addresses batch checks available under the Local Government material.

Anyone have any ideas of a check I could use to accomplish this?

0 Kudos
7 Replies
PaulDavidson1
Occasional Contributor III

I believe you will have to either build a model for this or write some python code.

We had a vaguely similar situation where we had valves touching two pipes with some valves missing InstallationYear.

We wanted to look at the install years from each pipe and using some logic, clean up the missing data in the Valves feature class.

The way I approached this was to first find a geoprocessing tool that let me extract out a dataset of the valves and the pipe segments they touched.  In your case, I think you could just pick out all lines that were touching?  Then make sure the data was arranged in a proper order if it wasn't already.

Then loop through that data, doing the comparisons and calculations.  This was trickier logic than it might seem because we sometimes touched two pipes, sometimes three and sometimes only one or even none.

(Also, we were going into an Enterprise GeoDB (Oracle) and were using versioned editing which creates another set of issues when it comes to scripting.)

But the starting point was to figure out how to get the data of interest cut out.  I started this by hand in ArcMap and put the data into a file.gdb so I could look at the results.  Once I had a technique that worked, I built a small model via Model Builder for getting the data.  Then I pushed the model into Python and I now had a skeleton for working with the data I wanted.  In my case, I could sort my data on a common field (the valve each pipe was touching.)  I'm not sure how you will accomplish that except that maybe the data will just fall out in the order you want by definition of the line segments touching.

Hope this makes some sense and maybe points you in the right direction.

You might be able to accomplish this with Model Builder?

I'm just much more proficient in Python than MB and I had a number of conditions to work around so I needed the flexibility of coding.

FYI, by doing this in steps to file.gdbs, I could look at the data along each step.  Once I knew things were what I wanted, I shifted to IN_MEMORY for the workspace of the file.gdb  This allows for some fast processing times, assuming you have sufficient RAM.

Unfortunately, Data Reviewer is just that, only a review tool.  It's great for finding issues but then the work begins.

Best of luck!

0 Kudos
MichelleJohnson
Esri Contributor

Paul, you could use Data Reviewer's Valency check to find the valves where the install date does not match the connected mains' install date.  But you are right, Data Reviewer finds the issues and does not fix them.

0 Kudos
MichelleJohnson
Esri Contributor

I was just having a conversation about this last week with a co-worker.  Data Reviewer can find overlapping address ranges, but cannot find gaps in address ranges.  It would be nice if we could add a calculation to the attribute comparison.  Something that I considered is adding temporary fields to the feature class where you can calculate the address number +/- the gap threshold and then do the attribute comparison using the temporary fields.

0 Kudos
JulieRoebotham
New Contributor III

we ended up doing just that actually. created a field that is first house - 2, and then did a comparison between the last house in the first segment and the calculated field to see if there was a gap. right now the client is running it manually but I can forsee putting the entire calculation and batch check into a model.

DavidDenham
Occasional Contributor

There is a tool available here that will check for gaps, overlaps, and parity issues in the addresses in centerline data.  I have used it in the past and it has been very useful. 

JimmyHensarling
New Contributor

The link takes me to a page that says I do not have access to the contents of the page.............

0 Kudos
RichardTruong
New Contributor III

mine shows the same when clicked on link.  "You do not have permissions to access this resource.'

0 Kudos