NDWI for Beaver Ponds Much Lower in PlanetScope SR Compared to NAIP
Hi everyone,
I’m working on tracking beaver pond and wetland dynamics using PlanetScope Surface Reflectance (SR) imagery (PS2 and PSB.SD). For validation, I compared NDWI values in beaver pond areas with NAIP imagery for the same sites and dates.
Here’s what I found:
NAIP (2021): NDWI for beaver ponds ~ +0.3 (as expected for water bodies)
Planet PS2 (2021-08-28): NDWI for same ponds ~ -0.37
Planet PSB.SD (2021-08-29): NDWI for same ponds ~ -0.67
Both Planet images are SR products (AnalyticMS_SR), and I applied the recommended scaling factor (0.0001 for uint16). However, the NDWI values for ponds are unexpectedly negative—even though visual inspection shows water clearly present in the RGB and false-color composites.
Has anyone seen similar NDWI behavior in PlanetScope SR imagery for water bodies? Could this be related to specific characteristics of Planet sensors, or is there another preprocessing step I might have missed?
Any insights or suggestions for adjusting thresholds (or alternative indices) would be greatly appreciated.
Thanks in advance!
Luwen Wan (luwenwan@stanford.edu) Postdoctoral Researcher Stanford University
Page 1 / 1
First off, a quick note on NAIP: Unless something has changed recently, NAIP imagery is visual 8-bit data that is not suitable for calculating radiometric indices from. The 8-bit NAIP values will have been scaled differently for each band, so there’s no meaning to NDWI or NDVI calculated from an 8-bit visual 4-band product. If you're working with 8-bit NAIP data, then any NDWI/etc values that are being calculated cannot be correct and can only be used in a relative manner (e.g. comparing different parts of the same image). The absolute values themselves will have no meaning.
However, if there are NAIP products that are radiometrically calibrated and not 8-bit visual, then disregard that.
With that said, NDWI when caculated from the green + NIR bands (as opposed to using SWIR wavelengths) is not a reliable indicator of water. Muddy water or water with algae will very commonly have negative NDWI values. Shallow water will also frequently have negative NDWI values. Only very clear and deep water would be expected to have a positive NDWI. Water with mud or algae will reflect more energy in NIR than in green. Clear water adsorbs NIR wavelengths, but muddy water is often quite reflective in NIR, as are algae blooms.
NDWI made with NIR instead of SWIR can still be useful for classifying water, just not when it’s used as an absolute threshold. Instead of applying a constant threshold, look for a bimodal histogram and separate the two modes. Otsu thresholding is the most common approach for that. Otsu thresholding of NIR-based NDWI is often a good method of classifying water. Absolute value threshold won't work for NIR-based NDWI except for very clear and deep water, however.
Dear Dr. Kington,
Thank you so much for your helpful and detailed reply!
You're absolutely right—the NAIP imagery I used is 8-bit, and I now understand that NDWI values derived from it aren't radiometrically meaningful in an absolute sense. Your explanation makes a lot of sense—these ponds are likely shallow and may be turbid or vegetated, especially during the summer, which could lead to higher NIR reflectance and thus negative NDWI values.
What still puzzles me, though, is the consistently negative NDWI along a river corridor that includes beaver ponds, riparian vegetation, forest, and bare soil (above the balck line). The NDWI values range from about -0.84 to -0.53. I’ve delivered the image with 4 bands to Earth Engine and attached the script I used to calculate NDWI in case it’s helpful for context.
A quick follow-up question: Have you (or others you know) had better results detecting small or shallow water bodies using other indices with Planet imagery? Or is NDWI with NIR still the best available option when SWIR data isn’t available?