Location-Allocation as the crow flies

820
6
08-30-2011 04:08 PM
MikeLouwrens
Occasional Contributor III
I am wanting to do Location-Allocation analysis (minimize facilities) using network analyst, but I need the maximum distance to be as the crow flies, and not a distance down a road in my network.  Currently it works really well, doing what I'd expect it to do, highlighting the minimum facilities I need, however this is all based on a maximum distance down a road.  I need the maximum distance to be a straight line between facility point and demand point, and ignoring the distance traveled down roads.

Is this possible to do, and how?  I don't need my roads, if there's a way to replace them with something else, I've just used them as that's the network I already have.  I'm trying to model sound, so the road traveled is irrelevant.

Does this make sense?

I attempted to make a new network, I created lines radiating out from each facility point (360 lines from each point), however I then needed to split each one as they intersected, and so far the tool hasn't finished running (been several hours so far).  I'm working with about 38000 lines pre-intersect, with many of them overlapping with a number of others.  So I'm not sure yet whether this will work.

I'd appreciate any suggestions 🙂

Thanks,
Mike.
Tags (2)
0 Kudos
6 Replies
JoeBorgione
MVP Emeritus
I am wanting to do Location-Allocation analysis (minimize facilities) using network analyst, but I need the maximum distance to be as the crow flies, and not a distance down a road in my network.  Currently it works really well, doing what I'd expect it to do, highlighting the minimum facilities I need, however this is all based on a maximum distance down a road.  I need the maximum distance to be a straight line between facility point and demand point, and ignoring the distance traveled down roads.

Is this possible to do, and how?  I don't need my roads, if there's a way to replace them with something else, I've just used them as that's the network I already have.  I'm trying to model sound, so the road traveled is irrelevant.

Does this make sense?

I attempted to make a new network, I created lines radiating out from each facility point (360 lines from each point), however I then needed to split each one as they intersected, and so far the tool hasn't finished running (been several hours so far).  I'm working with about 38000 lines pre-intersect, with many of them overlapping with a number of others.  So I'm not sure yet whether this will work.

I'd appreciate any suggestions 🙂

Thanks,
Mike.



I'm not sure I understand your situation.  Could you simply buffer your locations to your 'as the crow flies' distance?
That should just about do it....
0 Kudos
JaySandhu
Esri Regular Contributor
Why do you need to intersect the lines? Basically you need a straight line to connect all locations.

You can do this by running an OD for all points and write out the lines to a new feature class and then create a network from it and then solve Location-Allocation.

Note of caution: there is a limit to this approach. as the number of locations increases, the output lines are square of the number of inputs so it will become extremly large. AND as the number of lines leaving a location increases the shortest path algorithm will take longer to compute the paths (even though they are straight lines). So I will suggest that if you have some distance contraints, apply them to the OD so that you do not compute a fully connected network.

Alternatively, you can create a dense grid network (fishnet) and use that to run your analysis on. that way the shortest path is the diagnol and is slightly more than the straight line (due to size of grid cells) and give reasonable results fast.

Jay Sandhu
0 Kudos
MikeLouwrens
Occasional Contributor III
I'm not sure I understand your situation.  Could you simply buffer your locations to your 'as the crow flies' distance?
The Location-Allocation Minimize Facilities function analyzes where there are enough overlaps that you can exclude specific sites.  A buffer shows me the extent of my area of interest, however it doesn't tell me easily which sites are not needed due to cover from other nearby sites.  The Minimize Facilities does this for me.

Cheers,
Mike.
0 Kudos
MikeLouwrens
Occasional Contributor III
Why do you need to intersect the lines? Basically you need a straight line to connect all locations.
Because my network didn't work with just straight lines radiating out from each point.  They needed to be intersected.

You can do this by running an OD for all points and write out the lines to a new feature class and then create a network from it and then solve Location-Allocation.
I'm not too sure what you mean here?  Does this create a line from between every facility and every location?  I'll have a look and see if I can work it out.

Note of caution: there is a limit to this approach. as the number of locations increases, the output lines are square of the number of inputs so it will become extremly large. AND as the number of lines leaving a location increases the shortest path algorithm will take longer to compute the paths (even though they are straight lines). So I will suggest that if you have some distance contraints, apply them to the OD so that you do not compute a fully connected network.
Currently I have 100+ facilities and 40000+ locations, so would probably be better to limit the range.

 
Alternatively, you can create a dense grid network (fishnet) and use that to run your analysis on. that way the shortest path is the diagnol and is slightly more than the straight line (due to size of grid cells) and give reasonable results fast.
I thought about a fishnet, but I still would have needed to intersect for the network to work.  Or am I doing something wrong with my network?  Where lines crossed, but didn't intersect, the network seemed to treat them as un-connected.  Is this expected behavior?


Cheers,
Mike.
0 Kudos
JaySandhu
Esri Regular Contributor
100 by 40000 OD will generate too many lines for the path solver to be efficient. i.e. each of the 100 locations will have 40,000 lines emenating from it...

Best is to use the grid approach. Lines that cross each other will not connect as the default connectivity model for a network dataset is End Point connectivity. What you need to do is first run these grid lines throught the GP tool Integrate that will insert a common vertex where ever the lines cross and then in the properties of the network dataset on the connectivity tab, change the End Point to Any Vertex connectivity and build the network.

Jay Sandhu
0 Kudos
MikeLouwrens
Occasional Contributor III
100 by 40000 OD will generate too many lines for the path solver to be efficient. i.e. each of the 100 locations will have 40,000 lines emenating from it...
Hi Jay,
thanks for your help.  I used the OD model and limited to 2500m and I ended up with around 500,000 lines, and this seems to have worked well enough for my NA model to run properly.  Much quicker than what I was trying to do, and probably giving a more accurate result as well.

Thanks heaps,
Mike.
0 Kudos