Practice
Cai's Code
b. run the codes and store the results
Data
a. Downloading MODIS 12Q1
- Google Earth Engine
1.1. stored to Google Drive (at least two days for all tiles...)
1.2. stored to Google Cloud Platform
- NASA Data Pool
2.1 download directly (50 min for 5 selected tiles)
- h12v03
- h19v02
- h22v02
- h24v03
- h27v06
GEE Code
b. Data Conversion and Compression
Convert HDF file to .mat database file
Using Land_Cover_Type_1 as the layer
Final evaluation:
5.58 GB -> 90.8 MB
a. pre-processing the data
Overall Goals:
land cover classifications
Imagining all the images follow the random process; thus, all the spatial and temporal information is associated together.
This is the reason why we use the Spatial-temporal random process.
Spatial Factors
Temporal Factors
Spatial-Temporal Combinations
Thoughts
- focusing on the pixel more likely to change so as to reduce the propogaton of errors
- segmentation + MRF
Training Data
Raw Data:
- organzied by h/v MODIS Sinusoidal Gird
- col (2nc) & row (3rd) are sample points
- TILE CALCULATOR: https://landweb.modaps.eosdis.nasa.gov/cgi-bin/developer/tilemap.cgi
where sample(row) is to right while line is downscale (col)
Upload data to GEE✅
- Saved as .csv file from R and upload as table in GEE.
Codes to convert SIN2GCS: ✅
https://github.com/pascal-niklaus/pgeo/blob/c4a4524c48c14efbbebd3f954c8533b91c26b4f0/pgeo/R/tileMapper.R
GEE Data Matching:
- GEE display: Mercator - EPSG:3857
- Data we have: WGS84 - EPSG:4326
Input Features
C6 NBAR Data:
Wang, Z., Schaaf, C. B., Sun, Q., Shuai, Y., & Román, M. O. (2018). Capturing rapid land surface dynamics with Collection V006 MODIS BRDF/NBAR/Albedo (MCD43) products. Remote sensing of environment, 207, 50-64.
- everyday input data is retrieved based on a 16-day interval
- A Laplace distribution is used to assign weights to 16-day data
- Snow is counted based on the status of the interest of the day. (heavy scattering effects on snow vs. isotropic diffuse radiation
Pixel Matching✅
- Each 1km MODIS pixel is perfectly seperately as four 500m subpixels
- GEE Projection mismatching issue is fixed by using the original projection (SIN) rather than the composite projection (WGS84, which is default for all the composite images in GEE)
Issue ❓:
- Hold an assumption that all subpixels within a 1km MODIS pixel have same label
Smoothed and Gap-Filled using Penalized Smoothing Splines❓
- Done in MODIS C6
- no need in our method becuase of the short-term average
Extract Interval ✅
- Monthly average
- select the one with max NDVI
1. MODIS C6 Did:
- 5-day intervals, the band info cross the year is used (some are predicted by smoothing spline)
- snow and cloud cover flags are used
2. MODIS from Dr.Gong Did:
- 32-day averages across the year
- slope and latitude are used
3. VIIRS Did:
- Select the maximum NDVI values to composite monthly data
- min/max/mean/ NDVI from 8 greenest months
4. AVHRR 1km from Hansen:
- 10-day interval with max NDVI values
- across 12 months
- use max NDVI to reduce data volumes and cloud contamination, followed by a filter to remote spikes
Two-Band Spectral Indices:
MODIS Band 1-7
- red
- NIR
- blue
- green
- SWIR1
- SWIR2
- SWIR3
Enhanced Vegetation Index 2:
(B2 - B1) / (B2 + 2.4 * B1 + 1)
Normalized Difference Snow Index:
(B4 - B6) / (B4 + B6)
Normalized Difference Wetness Index:
(B2 - B5) / (B2 + B5)
Normalized Difference Infrared Index with SWIR2:
(B2 - B6) / (B2 + B6)
Normalized Difference Infrared Index with SWIR3:
(B2 - B7) / (B2 + B7)
Data Filter ❓ :
1. VIIRS did:
- Filter out the pixels that do not agree with the results from MODIS C5, UMD 2000, IGBP DISCOVER, GLC2000
- Only use the pixels that agree on all the land cover map
- Due to the different classification scheme, only compare Forest, Cropland, Grassland, Savannas, Woody Savannas, and Shrubland.
2. Hansen 1km MODIS:
- find the 100% agreement pixels with Landsat Multispectral Scanner System
Water Mask:
MOD44W.006 Terra Land Water Mask Derived from MODIS and SRTM Yearly Global 250m
https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MOD44W
Urban Mask:
Quality Control❓
- Not sure if needed, becuase we only need to make sure the quality of training data
Classification
Train Sample Export
- TF record
Points
Patches
- CSV files
DNN
- Results are too bad
UNET
- Not test
Structure Data Classification DNN
- Easy to modify data (remove missing data)
- Not test how to classify image data