Summary: How do I find the (possibly disconnected) region(s) where a linear interpolating function is between two specified values?
Example:
(* this creates a 10x10 grid of random real numbers and a function to
linearly interpolate them *)
rand = Table[{i, j, RandomReal[]}, {i, 1, 10}, {j, 1, 10}];
f = Interpolation[Flatten[rand,1], InterpolationOrder -> 1]
(*
I want the region(s) where f is between 0.5 and 0.7, for example.
If it's not easy to find the regions, I'd like to get the area of
where the function is between those two values.
However, because I plan to treat the region in a non-Euclidean way, I
actually need the region more than I need the area
*)
Goal: I have the "distance from coastline" data for a grid of latitude/longitude points. I want to find the total area where the distance from coastline rounds to, say, 492km (ie, is between 491.5km and 492.5km). Since I only have data for a finite number of points, I'm interpolating to find values for all points. I realize this interpolation is inaccurate, potentially very inaccurate. I'm OK with treating the Earth as a sphere even though it's actually an ellipsoid.
I realize I could generalize this question to ask "how do I find the [area of] the region where a given function is in a given range", but I think/hope the fact the function is both an interpolation and is linear might make the problem significantly easier.

RegionMeasure@DiscretizeGraphics@RegionPlot[.5<=f[x,y]<=.7, {x, 1,10},{y,1,10}]? – kglr Sep 21 '18 at 16:40