14 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....
user avatar
11 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....
user avatar
11 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. ...
user avatar
  • 11.7k
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: ...
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 ...
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....
user avatar
  • 1,149
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 ...
user avatar
  • 19.8k
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 ...
user avatar
  • 356
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 ...
user avatar
  • 9,410
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 <...
user avatar
5 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 ...
user avatar
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 ...
user avatar
  • 511
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 ...
user avatar
  • 8,521
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 ...
user avatar
  • 9,310
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....
user avatar
  • 14.1k
5 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'), ...
user avatar
  • 7,251
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 ) ) + ...
user avatar
  • 40k
4 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 ...
user avatar
  • 91
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 ...
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 ...
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 ...
user avatar
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 ...
user avatar
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 ...
user avatar
4 votes
Accepted

Leaflet Time Series

It looks like like Leaflet TimeDimension plugin and https://geo.weather.gc.ca/geomet WMS service do not go very well along together. TimeDimension plugin uses getCapabilities call to get time series ...
user avatar
  • 16.7k
4 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-...
user avatar
  • 4,613
4 votes
Accepted

Exporting LST median values of a time series in Google EE to CSV file

If you export to an Excel, the first feature is analysed for the contained properties and only the available properties are exported. If you extend the period, there are (possibly) null values for the ...
user avatar
  • 9,228
4 votes

Summarise duration of points within polygon

PostGIS has a limited, yet sufficient set of linear referencing functions (as well as trajectories) whose functionality is designed around the M ordinate of geometry coordinates. In fact, your task ...
user avatar
  • 23.2k
4 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^...
user avatar
4 votes

File format for specifying GPS motion as a function of time?

.gpx might work, but how? The how for me, is my GPS writes it out like that, like: <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx xmlns="http:...
user avatar
  • 11.8k
4 votes
Accepted

Count # of consecutive days without rain before an active fire

Iterate() is almost never the right tool to reach for in Earth Engine. In this case you can get the number of days by converting the time series to an array and doing some simple array masking to ...
user avatar

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