Measure distance between fire hydrants - by way of centerlines?

02-13-2014 11:28 AM
New Contributor
Hello all,

Looking for some guidance and I'd be shocked if this wasn't something someone already did before.
I've got a large number of fire hydrant points as well as street centerline data.  There is also a layer of lateral connection lines which may or may not be useful for the task.

Based on local ordinances, we have a minimum distance that each hydrant must be within and I would like to measure this distance and find those that have a distance longer than the ordinances indicate so we can develop a program to install hydrants within these locations so we have full coverage.  

The trick is this measured distance must be by way of street centerline and not straightline "as the crow flies". 
What would be an easy way to generate/calculate this for each hydrant?

Some other parameters would be:
Ability to use barriers - we would not be able to cross major roadways or other significant impediments in this calculation.
Each hydrant may have multiple other hydrants that are 'next in line' and as long as one of these is within the maximum distance, it would be acceptable (example: at a 4-way intersection, there would be 3 other hydrants down each road some distance, so that would be 3 separate distance calculations).

I've started looking into the network analysis and this seems like it would hold the answer soemwhere...

Anyone do anything similar or have any scripts or tips?
0 Kudos
2 Replies
Esri Contributor

I was able to get most of this done using Service Area analysis with the Network Analyst extension.  I set up a network dataset and had it travel the roads a set distance (300 feet) away from each fire hydrant.  Once I had detailed travel distance polygons, I dissolved them into a single polygon that I used to select the streets that were completely contained by this "covered" area.  Then I switched the selection to get the streets that are not properly covered by fire hydrants.  Barring some tuning, this should get you a layer of streets that are either all or partly uncovered by properly spaced hydrants.

To handle your extra parameter of major roads, I created a separate layer of major roads and loaded that to the solver as line barriers.  This prevented any travel on those features, with a possible drawback.  When loading points (hydrants) to the solver, Network Analyst will snap them to the closest street.  Therefore, any hydrant snapped to a major road does not get analyzed.  Maybe you want that so you will know to do those in a separate analysis?  I think I need more details on this issue.

Regarding your "next in line" parameter, I'm not sure I understand what you need there.  I will need more details on this one, too.

Let me know if you'd like to connect for detailed help on how to set up Network Analyst to do this.

0 Kudos
New Contributor

I had recently seen an article talking about "service areas" and it got me thinking about this again; so upon searching, I find your reply mentioning the same.  After messing with this function, this is really a good solution to the issue!  It requires a change of thinking on how to do it - basically considering each hydrant unique with its own area of effect.  when combined with all other hydrants, it results in nicely defined gaps in coverage.  Exactly what my end goal is!  It negates the whole 'next in line' issue - like i said - a change in thinking about how to get the end result.

And it is fast too - I've done large sections for testing that process in just a minute or two.

So if anyone is looking to analyse gaps in hydrant coverage, this so far, seems to be the best way to achieve that.

Thanks Matt!


0 Kudos