I have a city divided by districts and I have an hospital per district. I want to calculate for all the hospitals the service area, however I want that this calculation finish before it enters in the next district. so I would have a service area per hospital just inside of its district.
I was thinking that after creating the service areas I could go and clip it... but is a manual process and takes too long.
If you are using ArcGIS 10, then you can use the Line barriers to restrict the service area. Convert the district boundary polygons into line features using the GP tool Feature To Line Then load these line features as Line Barriers into the services area as restrictions (not scaled cost barriers) Solve your hospital service areas and they will not cross the district boundaries! Jay Sandhu
I tried that already and the result is bad... check the attachment. in certain cases it passes the border, others does not reach the border, and others do not create anything... I suppose that maybe is because of some areas are accessible through a road that passes in another district...
maybe this can help: I only can do this with the following properties: - polygon type (detailed, trim polygons, 250 meters) - Merge by break value - rings - Default breaks 1,3,5, 7, 9, 11, 13, 15
There must be a way of having nicer result than this...
Looking at your screen shot, it looks likely that the line barriers caused some areas of the network to be not traversable and cause some edges not reachable. So I would suggest you could try using generalized instead of detailed to get a slightly better result or you will have to resport to runing Clip on the resulting polygons with the district boundary. You could automate it within model builder... Jay Sandhu
the result is not very nice. 1- using generalize; no trim; merge by break value; the result has several districts which the respective "rings" overpass the limits. 2- using generalize; trim 250m; merge by break value; the result has several districts which the respective "rings" overpass the limits, however looks a little bit better on the limits of the city (normal). 3- using generalize; no trim; not overlapping; nothing is created... 4- using generalize; no trim; overlapping; the worst result... 5- using generalize; trim 250m; overlapping; nothing is created... 6- using detailed; trim 250m; overlapping; nothing is created... 7- using detailed; no trim ; overlapping; very similar to the jpg that I send yesterday 8- using detailed; trim 250m; not overlapping; nothing is created... 9- using detailed; no trim; not overlapping; nothing is created... 10- using detailed; trim 250m; merge by break value; the jpg of yesterday 11- using detailed; no trim; merge by break value; looks like the jpg of yesterday
my conclusion on this: it seems that even having the lines barriers (as a restriction) they really don't work as a block ("stoping any ring of passing the limits"). The solution as you said can be using the model builder, after creating the rings I should export them (probably individually for each hospital) and than clip it with the districts feaure class (in this case I think I also need to create a feature class for each district so I can apply each district to the respective hospital service area result) ... I will never go out from the office today.
The ideal solution would be when making the service area would be possible to include polygons of areas that will limit the analysis to each district...
thanks for the help... and if you have any solution even if not for today it is welcome... I don't think this is my only project where I need to make this kind of analysis
this is what I wanted to do and, took me outside the network analyst: 1 - after creating the service areas (no restrictions; detailed; trim250m, overlapping) , I export them 2 - Using the arctoolbox tool "split" with the Districts feature class, it was created feature class one per District 3 - in the model builder I wanted to do select by attributes (District1 then district 2 then ...) and delete the one that do not belong to the District (here is where I blocked, how can I sequence an action in the model builder?): 3.1 - select by attribute all except "district 1" 3.2 - from selection select by location the one inside the "district 1" 3.3 - delete 3.4 - select by attribute all except "district 2" 3.5 - from selection select by location the one inside the "district 2" 3.6 - delete 3.7 - sequence...
However this does not work too. When is done the split it seems that the rings from district A that are passing to the district B are erasing partially the rings of the district B, so when I make the delete based on the attributes that do not belong to district B, I found out that there areas that become empty... so I suppose that the split tool is not part of the solution.
This info may be useful, I tried to do the process for only one hospital. (detailed, trim200m, overlapping) but I put all the other districts has a polygon barriers (restriction), moreover I use the limit of the districts (lines) as a line barrier (restriction). the result still overpasses the limits of the district and there are still areas with no "ring". check the new jpg. The black and the red line are roads. the blue line are district limits.
I played a little with the trim polygons (putting 50m to 500m) and this makes a slight difference but not a solution.
Worst is that the default breaks are 1, 3, 5, 7, 9, 11, 13. There are districts larger than others (this in the jpg is the smallest) but is useful to have the higher default break minutes for the larger districts. The problem here is that the default breaks that result from the process are only the 1 and the 3 but the next is not appearing. But I am afraid the problem is that the road that could give the "5 minute" is passing from this district to other district and than back to this district therefore crossing the limit and this can be the impedance...
the solution that I found is: 1 - For each hospital create the service area 2- Export each one to a diferent feature classes... if just I could do this 😞 3- than clip each one this feature classes using the feature class (Districts), on which I need to go by different row on the table selecting the apropriate "district" that corresponds to the service area of the hospital on this district.
4- This looks easy... but I have no idea how to construct such a thing in the model builder.