A recently publisher paper featuring Hooman Latifi and Thorsten Dahms from Dept. of Remote Sensing presents novel results on phenological behaviour of the moist deciduous forests Hymalayan foothills in India during 2013–2015 using Landsat 8 time series data. The paper has been published in International Journal of Remote Sensing, and additionally suggests a new vegetation index called the temporal normalized phenology index (TNPI) to quantify the change in trajectories of Landsat 8 OLIderived normalized difference vegetation index (NDVI) during two time steps of the vegetation growth cycle.
Mean NDVI values from April 2014 to June 2015 plotted for study site along with SAL tree
Based on cross-validated statistics the paper concludes that TNPI is a superior alternative for the analysis of temporal phenology cycle between two time steps of maximum and minimum vegetation growth periods. This could, in turn, reduce the requirement of large time-series remote-sensing data sets for studies on long-term vegetation phenology. The paper can be retrieved here.
Khare, S., Ghosh, S.K., Latifi, H., Vijay,S., Dahms,T. 2017. Seasonal-based analysis of vegetation response to environmental variables in the mountainous forests of Western Himalaya using Landsat 8 data. International Journal of Remote Sensing 38(15), 4418-4442.
A recent paper published by Forestry and featuring Dr. Hooman Latifi from Dept. of Remote Sensing presents novel results of estimating most relevant forest inventory attributes from very high resolution stereoscopic satellite imagery. The paper couples a systematic review of the state-of-the-art in photogrammetry-basad forest attribute estimation, a case study in southwestern Germany and an expert survey on the potenaitls and pitfalls of remote sensing-assisted forest inventory, in which internationally renowned peers from all over the world took part.
Area-based predictions of tree species, aboveground biomass and tree density based on WorldView-2 stereo data
The modeling/classification results were comparable to earlier studies in the same test site, obtained with more expensive airborne acquisitions. All in all, the study concludes that the simpler acquisition, reasonable price and the comparably easy data format and handling of VHRSI compared with other sensor types justifies further research on the application of these data for supporting operational forest inventories. The fulltext version of the paper together with the supplementary material can be found here.
Fassnacht, F.E., Mangold, D., Schäfer, J., Immitzer, M., Kattenborn, T., Koch, B and Latifi, H. 2017. Estimating stand density, biomass and tree species from very high resolution stereo-imagery – towards an all-in-one sensor for forestry applications? Forestry, DOI: 10.1093/forestry/cpx014
Here we see three simple ways to perform an unsupervised classification on a raster dataset in R. I will show these approaches, but first we need to load the relevant packages and the actual data. You could use the Landsat data used in the “Remote Sensing and GIS for Ecologists” book which can be downloaded here.
# loading the layerstack
# here we use a subset of the Landsat dataset from "Remote Sensing and GIS for Ecologists"
image <- stack("path/to/raster")
Now we will prepare the data for the classifications. First we convert the raster data in a matrix, then we remove the NA-values.
## returns the values of the raster dataset and write them in a matrix.
v <- getValues(image)
i <- which(!is.na(v))
v <- na.omit(v)
The first classification method is the well-known k-means method. It separates n observations into k clusters. Each observation belongs to the cluster with the nearest mean.
## kmeans classification
E <- kmeans(v, 12, iter.max = 100, nstart = 10)
kmeans_raster <- raster(image)
kmeans_raster[i] <- E$cluster
The second classification method is called clara (Clustering for Large Applications). It work by clustering only a sample of the dataset and then assigns all object in the dataset to the clusters.
## clara classification
clus <- clara(v,12,samples=500,metric="manhattan",pamLike=T)
clara_raster <- raster(image)
clara_raster[i] <- clus$clustering
The third method uses a random Forest model to calculate proximity values. These values were clustered using k-means. The clusters are used to train another random Forest model for classification.
## unsupervised randomForest classification using kmeans
rf = randomForest(vx)
rf_prox <- randomForest(vx,ntree = 1000, proximity = TRUE)$proximity
E_rf <- kmeans(rf_prox, 12, iter.max = 100, nstart = 10)
rf <- randomForest(vx,as.factor(E_rf$cluster),ntree = 500)
The three classifications are stacked into one layerstack and plotted for comparison.
class_stack <- stack(kmeans_raster,clara_raster,rf_raster)
names(class_stack) <- c("kmeans","clara","randomForest")
Comparing the three classifications:
Looking at the different classifications we notice, that the kmeans and clara classifications have only minor differences.
The randomForest classification shows a different image.
The RStoolbox R package has been updated after some testing in courses and by colleagues. Please update your package using update.packages() or install the RStoolbox again.
New functions are:
- new function
validateMap() for assessing map accuracy separately from model fitting, e.g. after majority or MMU filtering
- new function
getValidation() to extract specific validation results of superClass objects (proposed by James Duffy)
- new spectral index NDVIc (proposed by Jeff Evans)
- new argument scaleFactor for
spectralIndices() for calculation of EVI/EVI2 based on scaled reflectance values
- implemented dark object subtraction radCor(..,method=’sdos’) for Landsat 8 data (@BayAludra, #4)
various changes were applied:
- superClass() based on polygons now considers only pixels which have their center coordinate within a polygon
- rasterCVA() now returns angles from 0 to 360° instead of 0:45 by quadrant (reported by Martin Wegmann and explained here)
- improved dark object DN estimation based on maximum slope of the histogram in
estimateHaze (@BayAludra, #4)
And some bugs fixed:
- superClass() failed when neither valData or trainPartition was specified. regression introduced in 0.1.3 (reported by Anna Stephani)
- spectralIndices() valid value range of EVI/EVI2 now [-1,1]
- radCor() returned smallest integer instead of NA for some NA pixels
- fix ‘sdos’ for non-contiguous bands in radCor (@BayAludra, #4)
We explained in our book “Remote Sensing and GIS for Ecologists – Using Open Source Software” among other change detection methods also the change vector analysis practically using the rasterCVA() command in the RStoolbox package, as well as outlined the approach graphically. During my last lecture on temporal and spatial remote sensing approaches I realized that the graphic needs some fixing as well as the RStoolbox function, moreover, certain explanations were missing. Hence, Benjamin Leutner adapted the rasterCVA() command and I tested it again and created new graphics explaining this approach for land cover change analysis.
The first graph that is also in our book shows the general approach. Two bands for each year (e.g. the RED and NIR band, but also the Tassled Cap output can be used) are taken and the changes in pixel values between these two years are shown as angle and magnitude.
We realized some things were missing: first the explanation what the angle actually means and second a link of actual results and the xy-graph.
Change Vector analysis explained on three change classes using the actual rasterCVA() output and band values.
In these new figures we show the actual results of the land cover change vector analysis using band 3 and 4 of Landsat (E)TM for the study region used in our book and three angles and magnitudes of pixels values between 1988 and 2011.
Meaning of angle and magnitude values from rasterCVA() analysis in RStoolbox
In the second image we outline the meaning of the angle provided by rasterCVA() as well as the magnitude which is the euclidean distance of the pixel values between 1988 and 2011.
Please approach us if you have any suggestion how to improve it or if we introduced any errors.
Please update to the newest development version to access the updated RStoolbox functionality!
More updates and graphics provided on the books’ webpage.
The remote sensing course in the Global Change Ecology MSc program started again with the new students. It is again very interesting how spatial data, spectral information and its corresponding techniques are perceived. Highly challenging to teach remote sensing and GIS to our new MSc students but also lots of fun to see how the… Read More
Powered by WPeMatico