Hi, I am working on a network analysis project, looking to define the service area of local supermarkets in 1/4 mile, 1/2 mile, and 1 mile distances. I have built the network dataset without any problems coming up.
When I Load Locations into Facilities, using the Store_Locations feature class, I have the snap to network locations turned on. On very close inspection however, the facility locations are not coincident with network edges. When I try to solve the analysis, the warning of course comes up that "All network edges were excluded from line/polygon generation".
What could be wrong with my dataset or analysis settings that could prevent the facilities from snapping to the network?
Both myself and my deadline would appreciate any help on this matter.
First of all I do not think this problem has anything to do with snapping to network locations. If no locations were located then the solve would not have happened. So your facilities are snapping on to the network. If you are getting messages like "All network edges were excluded from line/polygon generation" then it is likely you could be located on a restricted edge or the network attribute values are wrong. That is, you are solving on some length attribute with breaks of 1/4, 1/2 and 1 mile. Are you sure your length attribute is in miles? Use the network identify tool (second icon from right on the NA toolbar) to click on the edge where you facility is snapping to and see what length attribute values are getting returned. It could be they are all 0 (not set to anything) or in meters or feet and thus 1/4. 1/2 and 1 are not returning anything useful.
I checked the breaks and units, and they are both in feet. But by both visual inspection and by using the Network Identify Tool, the facility and its nearest edge are not showing to be linked in any way. If the build works okay, but the solve produces that error, where else could that come from? I have tried loading the store locations into Facilities under different sets of settings, each time with the same result. So I think I may be misunderstanding the meaning of each setting in Load Locations. If you could be so kind and parse this procedure for errors, I would really appreciate it.
In the Load Locations window under Facilities options
1. Load From (only load from the point layer locations feature class?) 2. Sort Field (is this needed? what type of field should be in here?) 3. Location Analysis Properties: [INDENT]Name (I set as Store_Name field) CurbApproach (I leave as the default of "Either side of vehicle") Attr_LENGTHFT (LENGTHFT is my road network impedance field. It is an integer value. What is Attr? The default is 0.) Breaks_LENGTHFT (I am not sure what Breaks are in this instance. Do I specify the break values for the service area analysis?)[/INDENT] 4. Location Position (I have Used Geometry with search tolerances ranging from feet to miles, with the result always being the same. I have not tried "Use Network Location Fields" because I can't find information on what SourceID, SourceOID, PosAlong, and SideOfEdge are.) 5. Advanced->Location Snap Options (I select Snap to Position Along Network, with the offset either turned on or off, getting the same result. Snap Locations when: is Selected All. 6. I ignore the Location Names tab.
During load locations, you can map the name field to your store name., that is fine. You do not need to set any of the others. But in general, here you can load additional information. For example, if the service area around each facility should have a different break value, you can map that filed to the Breaks_LENGTHFT. If there is a "delay" associated with any facility, you can map that value as Attr_LENGTHFT (attr is short of attribute). For example, if you were generating a service area around fire stations in minutes and each fire station location had a different amount of time it takes to "leave" that location, i.e. a delay, you can map that value here. So a delay of 0.5 minutes with a 5 minute break will lead to a 4.5 minute service area from that location. You can choose to sort the data loading on a certain field such as loading them by city but again you can ignore that if it is not important.
If your facility is physically not coincident with the edges of the network that is fine. During the load locations, it will find the closest edge to snap to. And loading by geometry is fine as that is the normal way to do so. If you plan to reuse the same locations many times with the same network then you can run the GP tool CalculateNetworkLocations to compute the SourceID, OID, etc fields and use them.
So let me ask, are the facility locations that you are loading ALSO part of the network dataset? i.e. is it a network source. If yes, then that is probably the source of your problems. These facilities are not connected to the network but LoadLocations is going to "snap" to them as they are the closest source. So either remove them from the network and re-build OR, on the network locations tab, below the tolerance, there is a list of sources to which the locations can snap to. UN-check that point source and only leave the line or edge source active. Re-Load your locations and solve.
If that is not the reason, then can you solve a path on your network? Can you solve a service area by adding a location using a mouse click? i.e. let's rule out network dataset problems.
Thank you, Jay, thank you so much! It was the fact that I was using a locations feature class from the dataset instead of a regular point layer, and it was that my Facilities loads were snapping to this locations feature class as well. The analysis ran smoothly, and looks great. I can't thank you enough.
One more question, actually. This analysis is for an article I am co-authoring. I most certainly would need to acknowledge your help on this project. Is "Jay Sandhu at ESRI" appropriate to put in? Thank you.
I am glad it worked. The acknowledgement format is fine or follow the guidelines of where you are submitting the article. If you need any further information you can write me directly jsandhu at esri.com Regards, Jay Sandhu