I want to do something between Cost Distance and Euclidean Distance. I want to evaluate the cost of traversing a straight line along a gradient to the nearest source. One example where one might want this is to compute sound penetration through a forest.

Can anyone tell me of a way to do this only using existing ArcGIS tools?

I already know how I would do this on my own (steps below), but I would prefer to avoid extra work:

Can anyone tell me of a way to do this only using existing ArcGIS tools?

I already know how I would do this on my own (steps below), but I would prefer to avoid extra work:

- Create the Euclidean Distance and Euclidean Direction rasters with EucDistance()
- For each cell in the output raster, traverse the straight line to the nearest source, based on the outputs from 1. As you traverse the line, sum the values of the cells in the cost raster to get the value in the output raster. Also count the number of cells along the path.
- Multiply the result from 2 by the average cell width along its straight line path.

Here's an approach to try:

1. Calculate Euclidean Distance from your source cells

2. take the reciprocal (1.0 / eucdist)

3. Treat the 1/dist grid as elevation -- Fill, flow direction

4. Use flow accumulation to accumulate a cost raster along the flow paths

If you want to get fancier with flow paths and costs I bet you could come up with something with the weighted cost functions to replace steps 3 and 4.