Uncomment the following line to install geemap if needed.
# !pip install geemap
import ee
import geemap
Map = geemap.Map()
Map
countries = ee.FeatureCollection("users/giswqs/public/countries")
Map.addLayer(countries, {}, "countries")
roi = countries.filter(ee.Filter.eq("id", "USA"))
Map.addLayer(roi, {}, "roi")
start_date = "2019-01-01"
end_date = "2019-12-31"
l8 = (
ee.ImageCollection("LANDSAT/LC08/C01/T1_TOA")
.filterBounds(roi)
.filterDate(start_date, end_date)
)
# print(l8.size().getInfo())
median = l8.median()
visParams = {
"bands": ["B4", "B3", "B2"],
"min": 0,
"max": 0.4,
}
Map.addLayer(median, visParams, "Median")
def addNDVI(image):
ndvi = image.normalizedDifference(["B5", "B4"]).rename("NDVI")
return image.addBands(ndvi)
def addDate(image):
img_date = ee.Date(image.date())
img_date = ee.Number.parse(img_date.format("YYYYMMdd"))
return image.addBands(ee.Image(img_date).rename("date").toInt())
def addMonth(image):
img_date = ee.Date(image.date())
img_doy = ee.Number.parse(img_date.format("M"))
return image.addBands(ee.Image(img_doy).rename("month").toInt())
def addDOY(image):
img_date = ee.Date(image.date())
img_doy = ee.Number.parse(img_date.format("D"))
return image.addBands(ee.Image(img_doy).rename("doy").toInt())
withNDVI = l8.map(addNDVI).map(addDate).map(addMonth).map(addDOY)
greenest = withNDVI.qualityMosaic("NDVI")
greenest.bandNames().getInfo()
ndvi = greenest.select("NDVI")
palette = [
"#d73027",
"#f46d43",
"#fdae61",
"#fee08b",
"#d9ef8b",
"#a6d96a",
"#66bd63",
"#1a9850",
]
Map.addLayer(ndvi, {"palette": palette}, "NDVI")
Map.addLayer(greenest, visParams, "Greenest pixel")
Map
Map.addLayer(
greenest.select("month"),
{"palette": ["red", "blue"], "min": 1, "max": 12},
"Greenest month",
)
Map.addLayer(
greenest.select("doy"),
{"palette": ["brown", "green"], "min": 1, "max": 365},
"Greenest doy",
)