How can I find nearest value in large grid data?
1 回表示 (過去 30 日間)
古いコメントを表示
I have a grid having cells 100x60, containing contours data. Some of the cells have filled with whole number from 1 to 15 showing the elevation of contours, now how can I interpolate points between the contours line to fill all empty cells?
Note: Points are not in regular way, these scattered points
0 件のコメント
回答 (2 件)
Walter Roberson
2016 年 7 月 13 日
See John D'Errico's File Exchange contribution "inpaint_nan"
2 件のコメント
Chad Greene
2016 年 7 月 14 日
If you download inpaint_nans, it makes the problem pretty easy. For example, say you have some gridded dataset like this:
Z = peaks(100);
but a few points are NaNs:
Z([423 898 1234] = NaN;
You can fill in the missing values like this:
Z_filled = inpaint_nans(Z);
Image Analyst
2016 年 7 月 13 日
How about scatteredInterpolant()?
5 件のコメント
Image Analyst
2016 年 7 月 13 日
I need to leave now, but my first attempt would be to use scatteredInterpolant, like I already suggested. But I'm sure you've tried that by now, so let's see your code - it may speed me up when I return later today. If you didn't try my suggestion, then why not?
Walter Roberson
2016 年 7 月 13 日
YourData(YourData == 0) = nan;
Now call the File Exchange contribution inpaint_nan on YourData.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!