4

This question already has an answer here:

I am currently processing a handful of DEMs (derived from LiDAR data). I have a conceptual question, when choosing a Resampling Technique what are the pros and cons of using Bilinear Interpolation and Cubic Convolution when dealing with DEMs specifically?

EDIT:

The DEM data will be used to calculate flooding in a watershed, so keeping data values as close to the original DEM as possible seems to take precedence.

I will be Mosaicing 6 DEM rasters together, then re-projecting (datum, NAD1983, will stay the same), and then clipping/masking the mosaic.

My main question is how does Bilinear Interpolation and Cubic Convolution affect DEM data specifically. In other words, what are the pros and cons of using these to methods on continuous data that needs to maintain numerical integrity.

Here are the specs for my data:

enter image description here

marked as duplicate by Andre Silva, ahmadhanb, whyzar, jbalk, aldo_tapia Jan 10 '18 at 10:17

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Although it may be a duplicate, I don't believe it is in a sense. I am asking a question about a specific raster type. And asking the differences between two specific re-sampling types. – MoreMeowbell Jan 10 '18 at 19:39
10

What you are dealing with is interpolation techniques. That is, you have two data points, and need to estimate the value of a point in-between. There are many such available, but the three main ones for the kind of raster processing you're looking for are:

  1. Nearest Neighbour: it'll simply take the value of the closest data point, and replicate it. So, if we have point A as 5, and point B as 13, a point C that is 25% the way between them will receive value 5, as it's closer to point A.

  2. Linear: it creates a line passing between both points, and the finds a value along the line. So, same as the example above, a point C that is 25% the way between A and B will receive a value of 7.

  3. Polynomial: similar to linear, but instead of a line, it creates a polynomial function between the two points, and estimates the in-between value along the way. So, the same example might yield a value of, say, 6.72, or 8.11, depends a lot on the function.

Cubic interpolation is one form of polynomial, spline is another. The terms bilinear and bicubic simply mean as a linear or cubic interpolation for 2-dimensional data (such as a raster). This picture below illustrates well the three methods:

NN, Linear and Cubic interpolations

Source: https://commons.wikimedia.org/wiki/File:Comparison_of_1D_and_2D_interpolation.svg

Now, to your question: what does this mean when dealing with a DEM? Or, better yet, how do each affect the processed image?

  • Specifically, nearest neighbour will always generate you values that were already in your source data. You garantee that these values all exist somewhere at your object-space, so you won't get values that are nowhere to be found, but it's also quite likely that your values are at least a bit wrong, as they were only correct for their original location. This means that, in a DEM, with NN you retain the general shape of your terrain, as the relationship between adjacent pixels is preserved, but you should take your values with a pit of salt. Also, your generated raster can look quite "blocky" as a result.

  • As for linear and polynomial, they make better guesses at intermediary values given a tendency (linear uses local tendency, whereas polynomial take into account the tendency of a larger area), which likely produces more correct values overall, but can also distort the shape of your terrain (everything will look more continuous, even when it's not). Also, due to how the algorithms work, you may lose absolute information about peaks and valleys (linear may generate less extreme values for each, whereas polynimal more extreme; so, a peak at 1800m might appear to have 1790m with linear, whereas 1820m with polynomial). It looks nicer than NN, with cubic looking the smoothest.

Conclusion: there isn't a rule set in stone as to which should be used, you really have to study your data and your goals beforehand. In general, I'd say that, if you have a more rugger terrain and wish to retain its overall form, or if you have the need to retain absolute values from the source data, you might want to use nearest neighbour. If having overall more correct height values, or looking nicer, is more important to you, then either linear or cubic. Splines should be used basically to make things looks nice, but are less statistically sound.

As a side note, for highly accurate work, it's common to use bilinear or bicubic while taking care of its downfalls. These are, specifically, the use of control points for retaining a few key absolute values, and breaklines for indicating where a terrain should have a steeper transaction. This is, however, usually done in photogrammetric software, not GIS (though ArcGIS does have limited breakline capabilities through its 3D Analyst extention).

EDIT: specifically for generating the least errors in values, I bring notice to this ISPRS article on accuracy comparison of interpolation techniques. I'll jump to the conclusion, but you might want to read it in full nonetheless: both bilinear and bicubic yield the best results, and are statistically indistinguishible, accuracy-wise. Also notice that the article too brings up the necessity of using breaklines for steep changes in height.

  • 1
    Can you add a legend for the colors used in that picture? – Dan C Jan 9 '18 at 21:33
  • 2
    A very well presented answer +1 from me. One thing to note about Cubic (bicubic) resampling, because the interpolation is performed with a spline it is possible (probable) that resampled pixel values can exceed the min-max range of the input raster. There is another thread like this gis.stackexchange.com/questions/2587/… (and some others) – Michael Stimson Jan 9 '18 at 21:43
  • @DanC, added the source metadata for the image. There you will find the colour codes in the Description block. – Roberto Ribeiro Jan 10 '18 at 13:09
  • @MichaelStimson, I did touch upon this briefly, but I guess it might have been worded weirdly. I furthered with an example, this is indeed an important point to state. – Roberto Ribeiro Jan 10 '18 at 13:11
  • @RobertoRibeiro Thank you for your awesomely complete answer. The graphics help out in visualizing what is actually happening to the data. I will edit my question, but what I will essentially be doing with the DEMs I have is 1) Mosaic and then 2)Projecting. The projection will have the same datum (NAD1983). The data is then going to be used to calculate flooding in a watershed. – MoreMeowbell Jan 10 '18 at 17:42

Not the answer you're looking for? Browse other questions tagged or ask your own question.