2

I am building a map of historic roads with ArcGIS Desktop 10.7.1. Because of the poor accuracy of old maps and the fact that historic roads changed alignment often - sometimes seasonally - a better symbolic representation of such a road is to show a central alignment as a line, but then to show buffer on either side of that central line which together would represents a "corridor". The width of the corridor can vary by road segment depending upon the accuracy [or not] of the source data.

I believe I have seen this done before, but I cannot find a reference to it, probably because I'm using the wrong terminology.

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
wacole1213
  • 21
  • 1
  • Welcome to GIS SE! We're a little different from other sites; this isn't a discussion forum but a Q&A site. Please check out our short [tour] to learn about our focussed Q&A format. – PolyGeo Sep 05 '19 at 21:55
  • You need variable size buffer, thus produce perpendiculars at regular intervals (serach this site) and perhaps use https://gis.stackexchange.com/questions/166326/how-to-create-a-polygon-connecting-the-endpoints-of-multiple-lines-using-python/166561#166561 – FelixIP Sep 05 '19 at 22:27

2 Answers2

2

Below is 2D solution to replace cross-sections approach I suggested in comments. Picture shows routes as lines: enter image description here

Place multiple points on them to represent width of corridor, by using linear referencing for example: enter image description here

  • Use kernel density (EXPECTED_COUNTS) on above points with population field NONE, call output COUNT.
  • Use kernel density (EXPECTED_COUNTS) on above points with population field UNCERTAINTY, call output TOTAL.

Divide TOTAL by COUNT, and play with threshold in raster calculator, e.g.

arcpy.gp.RasterCalculator_sa('Con("RC" >= 190,1)', "C:/SCRATCH/ONE")

To obtain variable buffer similar to this:

enter image description here

FelixIP
  • 22,922
  • 3
  • 29
  • 61
1

Assuming that each road segment that you want to buffer is available as a line feature you could use the Buffer tool and specify the buffer size using a buffer field:

The distance around the input features that will be buffered. Distances can be provided as either a value representing a linear distance or as a field from the input features that contains the distance to buffer each feature.

The bolding above is mine.

PolyGeo
  • 65,136
  • 29
  • 109
  • 338