locationtech / geotrellis

GeoTrellis is a geographic data processing engine for high performance applications.
http://geotrellis.io
Other
1.33k stars 360 forks source link

Anisotropic cost distance #2434

Open jpolchlo opened 6 years ago

jpolchlo commented 6 years ago

While developing #2432, it was quickly realized that a Tobler friction surface is useless if we cannot account for direction of travel. It is, of course, easier to walk downhill than uphill, and we should be able to compute the walking time from a given source point to the local neighborhood, for example, with this fact in mind.

As suggested in #2433, one possible solution is to allow a multiband friction surface where each band is the friction when traveling to/from a cell in a given direction. Of course, other solutions may be better-suited to our cost-distance implementation.

jamesmcclain commented 6 years ago

Just to summarize recent discussion, the simplest and probably most broadly-effective strategy is probably to store weights for different directions in different layers.

From an aesthetic point of view, I would prefer storing components of vectors in layers, but that assumes that the cost is representable as a function of that vector (in the simplest case the dot-product, but that is obviously not universally appropriate).

jpolchlo commented 6 years ago

I think the natural question is this: what uses will anisotropic cost distance encounter? It seems like storing friction layers as a band per incoming direction is wasteful. For the case of Tobler, this would include up to 8 layers of information when a simple 3-component normal vector would do. If it were possible to transform the friction data via some user-provided function, let's say, that takes into account the incoming direction, then we have a more general solution that isn't as data hungry.

My question would be whether this more general approach would be feasible and if the performance would be acceptable relative to the memory consumptive version? Would this be sufficient to capture the range of likely applications for anisotropic cost distance generally?

jamesmcclain commented 6 years ago

Agreed