We have data taken from a boat across a river. On the picture, the river bed is shown in brown and the water level is the thin black line.

As you can see from the classified points, the phenomenon we are interested in (here, water salinity) is very linear.

We normally use a natural neighbor interpolation because we have a lot of points, but here, the river is roughly 500 wide so the distance between the ups and downs is about 100 m and the distance between each points about 50 cm.

If we choose a large aggregation distance, everything is averaged... if we take a smaller one, you can see on the first image that it's not linear at all as it should be (we are not trying to prove that it's linear, we're just looking for the depth of the saltwater front).

We try with a TIN, but even with setting large triangles, the interpolation doesn't do it quite right. It's closer, but not it!

So, my question, it there a method to interpolate data by forcing it to "look" at a particular angle? Could we interpolate our data by asking to whatever application, to interpolate with data of the same depth first and if not, the closest one from that angle?

Thanks folks!