Skip to main content
18 votes
Accepted

Google earth engine:SST by month per year

var sst = ee.ImageCollection('NASA/OCEANDATA/MODIS-Aqua/L3SMI') .select('sst') .filterDate(ee.Date('2013-01-01'), ee.Date('2017-12-31')) var months = ee.List.sequence(1, 12); var years = ee....
Nicholas Clinton's user avatar
16 votes
Accepted

Cloud mask for Landsat8 on Google Earth Engine

Please, read the related answer. Use the right parameters and always check metadata You're trying to filter with BQA band and in SR product, there is no BQA band, there is pixel_qa band instead. ...
aldo_tapia's user avatar
  • 13.6k
12 votes

Cloud mask for Landsat8 on Google Earth Engine

@Aldo's answer is the correct one, no doubt, but if you want to make the code shorter and you don't mind loosing the 'core' of cloud masking, you can use a module: var point = /* color: #98ff00 */ee....
Rodrigo E. Principe's user avatar
10 votes
Accepted

Export data from time-series image collection to a table in Google Earth Engine

Here is a modification of the first example from this presentation about tables and vectors. Note that you can "transpose" the table if there are other properties in the points that are of interest: ...
Nicholas Clinton's user avatar
7 votes

GEE – Smoothing curve of detected water area

Maybe try to unwire some of the processing pipelines in your script. Earth Engine really adheres that map/reduce principle, with a minimum amount of processing defined in every branch of its ...
Gennadii Donchyts's user avatar
7 votes

Problem generating NDVI chart in GEE

You are using an image property that does not exist. Use system:index instead of system:time_start. // Chart a single year mean of SB var TS1 = ui.Chart.image.series(modisNDVI, geometry, ee.Reducer....
HMSP's user avatar
  • 1,630
7 votes
Accepted

Populating field with sequential timestamp in QGIS

If your data are structured strictly like your example, you can do this (which returns a datetime object): with_variable('start_time', to_datetime('23:03:2022T23:30:00', 'dd:MM:yyyyTHH:mm:ss'), ...
Matt's user avatar
  • 16.9k
7 votes
Accepted

Use several colours in Decorations - Title Label in QGIS

You can use HTML rendering in the Title Decoration: First enable it in the Font properties by ticking the appropriate box: Format the Title as needed: It works:
Kasper's user avatar
  • 3,192
7 votes

Check whether an element is maintained over time

I can show you an example of clustering to find if the observations are in the same location. Then you just need to calculate area change. There are many clustering algorithms I chose DBSCAN because ...
BERA's user avatar
  • 72.8k
6 votes
Accepted

Shadow mapping from raster data

In the QGIS/FOSS world, you can use the GRASS algorithm called r.sunmask.datetime from the Processing toolbox. You provide the date and time, and it creates a shadow mask. Here's one, derived from ...
Steven Kay's user avatar
  • 20.4k
6 votes
Accepted

landsat NDVI time series plot in R, based on point or pixel

Do you want an interactive map, or are you fine with plotting the NDVI timeseries for one (or few) specific points? In the latter you raster::extract() the NDVI-Stack values under your points, and use ...
Jeremy's user avatar
  • 366
6 votes

Extracting pixel time series from Google Earth Engine

Hope you find useful this tutorial: http://www.loicdutrieux.net/landsat-extract-gee/examples.html from geextract import ts_extract, get_date from datetime import datetime import numpy as np import ...
gonzalez.ivan90's user avatar
6 votes
Accepted

How to solve bitwise error in Google Earth Engine?

^ is not the exponent operator, ** is (^ is xor). See https://developers.google.com/earth-engine/image_math: Hence this line: var index = bands.expression('10.0 ^ (0.283 + (-2.753 * R) + (1.457 * R^...
Jesse Anderson's user avatar
5 votes
Accepted

Exporting time series of multiple polygons to .csv. format table

You can remove the geometry by using .setGeometry(null) on a feature. To remove every geometry you need to map over the collection. In your script that could be in the same function as setting the ...
Kersten's user avatar
  • 9,909
5 votes

Pixel-wize trend analysis of an irregular time series stack of NDVI rasters in R

I guess I found a way to my own problem: Basically, I parsed the time variable from the filename and added it back to regression model. Below is the peice of code I used. library(raster) all <...
FlyingMGET's user avatar
5 votes
Accepted

Create time series graph with multiple rasters

There is a plugin tool in QGIS called Mutant. Load all Rasters into a layer. Choose a point. (Make sure that in the Options Tab in Mutant the "Plot values only when mouse is clicked" is checked.) In ...
Leif's user avatar
  • 101
5 votes
Accepted

Time series analysis of NDVI using Google Earth Engine

ui.Chart.image.series defaults to plotting system:time_start on the x-axis, which your dataset does not contain. You can use the optional argument xProperty to specify another parameter to use as x-...
phloem's user avatar
  • 4,678
5 votes
Accepted

GEE Change the number of pixels on chart

I got the same problem in one of my project, and came up with a workaround. The idea is to split the chart creation into 2 steps: Reduce each image to the value of interest. This will create a ...
Kevin's user avatar
  • 531
5 votes
Accepted

Adding time as 'year' band to image collection

You can edit the metadata to specify a start time when you upload an image: Or you can edit it after upload, but after you open the asset info dialog, make sure to click the “Edit” toggle button to ...
Kevin Reid's user avatar
  • 10.4k
5 votes
Accepted

Remove Images from Image Collection in Google Earth Engine?

In almost all cases, you are better off using filters. My understanding is that it's significantly more efficient. But if you really need to, you can filter out an element in map() by returning null ...
Daniel Wiell's user avatar
  • 14.2k
5 votes

GRASS - Calculate 90th percentile of a timeseries dataset

The module r.univar can take a comma separated list of rasters as input, and calculates stats on the whole list. Does that help? MAPLIST=`g.list rast pattern="rast*" separator=comma` g....
Micha's user avatar
  • 15.6k
5 votes

Populating field with sequential timestamp in QGIS

If the first time values are different or unknowns (as mentioned in the comment by @Kadir Şahbaz), use this expression: array_max ( array_agg( timestamp, group_by:=name ) ) + ...
Babel's user avatar
  • 71.3k
4 votes
Accepted

Raster time series smoothing package using R

Rather than looking for a specific package for raster time series you could look for functions for smoothing, and then use these with the calc function in the raster package. Here is an example for ...
Robert Hijmans's user avatar
4 votes
Accepted

Extracting index/position of maximum value in annual time series in Google Earth Engine?

A bit tricky, but you can use arrays to achieve this: https://code.earthengine.google.com/7f79588ccca7a31b9aeee7710aa1779e. For example, you can add a timestamp band to associate NDVI values with ...
Gennadii Donchyts's user avatar
4 votes
Accepted

NDVI-time series with missing values

Here is an approach that imputes NA values based on a local polynomial regression (loess). The default smoothing parameter (s) is fairly stable but, if the data is stochastic (say, climate data), is ...
Jeffrey Evans's user avatar
4 votes
Accepted

Using spei() function on time series from rasterstack in R?

The output of spei() function is an object of class spei with multiple elements and as such, calc() does not know what to do with it. So, guessing that you want to extract the $fitted part of the ...
Kamo's user avatar
  • 373
4 votes

Filling gaps in NDVI time series?

I will just say that Excel is not a statistical software and many statistical/mathematical operators are just not available or extremely difficult to implement. This type of data is inherently an ...
Jeffrey Evans's user avatar
4 votes
Accepted

Extracting pixel time series from Google Earth Engine

I found the issue. It wasn't the scale, since anything below the native resolution of the product returns the value at the native resolution. The problem was actually a missing parameter in the ...
tda's user avatar
  • 531
4 votes

Integrating Landsat ETM+ and OLI surface reflectance data

This can be accomplished in Google Earth Engine. See this tutorial on cloud masking and harmonizing a time series of Landsat surface reflectance images from TM, ETM+, and OLI sensors. It includes ...
Justin Braaten's user avatar
4 votes
Accepted

Getting weekly mean composite in Google Earth Engine?

You are almost there. The fact you cannot get an imagecollection from your function now, is that you make a clientside dictionary with dates as key. Instead, first make a server side list of dates ...
Kuik's user avatar
  • 10k

Only top scored, non community-wiki answers of a minimum length are eligible