Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have a road (line) system and need to create a polygon from it to show the right-of-way area. The right-of-way area is calculated in the field from taking measurements from the road centreline. From these measurements a total right-of-way area is calculated (m2.)

I am wondering if it is possible to create a buffer with a pre-defined area based on the measurements taken in the field. Possibly through a Python script?

Without a tool to do this, it takes some time as I have to guess the average right-of-way with and create a buffer using that measurement. So it takes a lot of trial and error time.

I am using ArcMap 10.2.

share|improve this question

2 Answers 2

Would something like this work for you? I'm assuming that the right of way area includes both sides of the road and that you know the length of the road you are measuring.

// Use the same sq distance measurement as your buffer, a sq meter area uses a buffer in meters
var_area = 500
road_length = 100

buffer_distance = (var_area/road_length)/2

arcpy.Buffer_analysis(in_features, out_feature_class, buffer_distance, "FULL", "FLAT")
share|improve this answer
    
This approach makes sense to me cndnflyr. I will test it out! Thanks! –  ChrisA Sep 4 at 17:19
1  
It is important to note, as @jbchurchill did in another answer, that this will only be accurate for straight lines. Although considering that in your case the areas were calculated by measuring road widths and lengths, this method will probably be appropriate. –  nmpeterson Sep 5 at 14:21

I think the solution proposed by cndnflyr may work if your lines are all straight? But if lines curve around, your buffers won't consistently have the same area (especially if the buffers are being dissolved). I have done this kind of thing before by using the EUCLIDEAN grid function (Spatial Analyist) in multiple iterations as a first step. Set a maximum distance that is certain to be larger than your needed area and a distance interval that is approximately the size of your cells. Then you can get a cell count for the result at each distance and use that count to identify the distance to use for your buffer. You choose the distance for your buffer that gave you the cell count needed to get the area required. I used to do this evaluation step in a spreadsheet but it could also be coded. I think you will get a better result this way.

share|improve this answer
    
Thanks JB, as you mentioned areas will change as buffers are dissolved at the junctions of the roads. I haven't had much experience with the Euclidean grid function but will do some research on it. Thanks again. –  ChrisA Sep 6 at 21:05
    
Since I have field notes with right-of-way measurements at specific stations, would it be possible to buffer a line based on these notes? Example: At 50m from starting point buffer 5m right, 4m left? etc. –  ChrisA Sep 6 at 21:09
    
I'm not exactly sure what you mean by "buffer a line based on these notes". I don't think what you are describing is possible. The buffer tool runs on distinct features. You can buffer features individually based on values in a field (if thats what you mean) so one lines can be buffered at different distances. If you want to buffer with a different distance on the left and right, I suspect, you need to do that in 2 separate operations (but I could be wrong). –  jbchurchill Sep 7 at 2:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.