Variable Dependent Weighted Interpolation
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have two XYZ grids. D1 is low resolution elevation dataset (n = 9000), while D2 is a related higher resolution product (n = 30,000) that occupies the same XY domain, but is not elevation. The values in D2 do positively correlate with D1.
I would like to interpolate between my XY points in D1 at the resolution of D2 using D2 to inform the interpolation. Is there a way to go about this? What compounds it is that the values in D2 have their own uncertainty with higher values having high uncertainty and lower values expressing greater confidence.
In other words, for all points in D2 I would like to define a D1 value that is dependent on A) the nearest D1 value AND B) the D2 value at that point, with the weight of the D2 value dependent on its uncertainty.
Initially I had been exploring the neural network curve fitting tool to see if I could generate an elevation product using the relationship between D1 and D2. The results were mixed with the greatest problem being that the high and low values outputted were beyond the range of my target data. I suspect that this might have been due to the the variable confidence bounds on D2, and that this approach focussed exclusively on the relationship between D1 and D2 while ignoring the spatial relationship between the points in D1.
Any thoughts on this would be appreciated.
Thanks.
4 Kommentare
Guillaume
am 31 Okt. 2018
It seems to me that you've answered your own question, you just have to find a formula for the scaling factor that works for you.
Do you need help coding the implementation of the above?
Richard
am 31 Okt. 2018
I think I just had to talk it through.
What I've done is use the Neural Network Fitting tool to output an elevation dataset using the D2 index as a predictor (I tried fitlm first, but I wasn't as happy with the output). Since that's not perfect, I'm working on an inverse distance scaling factor that will weigh the modeled output before merging it with the low resolution D1 data. Basically the closer a modeled point is to a D1 point, its impact will be less on the final product, and vice versa. That's my thinking anyway. I've computed the distance between each modeled point and the nearest D1 point and normalized those with 0 being far and 1 being right on top of each other.
(D1 * (Normalized_Distance) + (Modelled_Point * (1 - Normalized_Distance))
That seems to be working
Thanks for your help.
Antworten (0)
Siehe auch
Kategorien
Mehr zu Interpolation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!