<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Google Earth Engine on Spatial Thoughts</title><link>https://spatialthoughts.com/category/earthengine/</link><description>Recent content in Google Earth Engine on Spatial Thoughts</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 09 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://spatialthoughts.com/category/earthengine/index.xml" rel="self" type="application/rss+xml"/><item><title>Understanding and Monitoring Earth Engine Quota</title><link>https://spatialthoughts.com/2026/02/09/gee-quota-monitoring/</link><pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/02/09/gee-quota-monitoring/</guid><description>Google recently announced Earth Engine Noncommercial Tiers for Google Earth Engine. This is a big change that affects all the non-commercial users of the GEE platform. Before the change, if you...</description></item><item><title>Extracting Building Heights from Open Buildings 2.5D Temporal Dataset</title><link>https://spatialthoughts.com/2025/03/29/building_height_gee/</link><pubDate>Sat, 29 Mar 2025 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2025/03/29/building_height_gee/</guid><description>In this post, you will learn how to work with the Open Buildings 2.5D Temporal data and download it for many useful downstream applications, such as Visibility Analysis, Population Modeling, and 3D...</description></item><item><title>Tiling Large Exports in Google Earth Engine</title><link>https://spatialthoughts.com/2024/10/23/large-image-exports-gee/</link><pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/10/23/large-image-exports-gee/</guid><description>When exporting large rasters from Google Earth Engine, it is recommended that you split your exports into several smaller tiles. In this post, I will share the best practices for creating tiled...</description></item><item><title>Exploring the Global 30m Land Cover Change Dataset (1985-2022) GLC_FCS30D</title><link>https://spatialthoughts.com/2024/06/29/global-landcover-glcfcs30d/</link><pubDate>Sat, 29 Jun 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/06/29/global-landcover-glcfcs30d/</guid><description>A temporally consistent global multi-class time-series classification dataset is critical to understand and quantify long-term changes. Till now, the choices were limited to lower resolution datasets...</description></item><item><title>Estimating Above Ground Biomass using Random Forest Regression in GEE</title><link>https://spatialthoughts.com/2024/02/07/agb-regression-gee/</link><pubDate>Wed, 07 Feb 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/02/07/agb-regression-gee/</guid><description>In this post, we will learn how to build a regression model in Google Earth Engine and use it to estimate total above ground biomass using openly available Earth Observation datasets.</description></item><item><title>Enhancing Land Cover with Local Knowledge</title><link>https://spatialthoughts.com/2023/11/22/dw-mapathon-nairobi/</link><pubDate>Wed, 22 Nov 2023 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2023/11/22/dw-mapathon-nairobi/</guid><description>Dynamic World is a new landcover product developed by Google and World Resources Institute (WRI). It is a unique dataset that is designed to make it easy for users to develop locally relevant...</description></item><item><title>Mapping Building Density with Open Building Datasets</title><link>https://spatialthoughts.com/2023/09/16/building-density-gee/</link><pubDate>Sat, 16 Sep 2023 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2023/09/16/building-density-gee/</guid><description>Extracting building footprints from high-resolution imagery is a challenging task. Fortunately we now have access to ready-to-use building footprints dataset extracted using state-of-the-art ML...</description></item><item><title>Understanding Pixel Weights in Zonal Statistics</title><link>https://spatialthoughts.com/2023/07/13/pixel-weights-zonal-stats/</link><pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2023/07/13/pixel-weights-zonal-stats/</guid><description>An important concept in spatial statistics is pixel weights. When calculating pixel statistics with a polygon, partial pixel overlaps are treated differently by different packages and you need to...</description></item><item><title>Automated Coastline Extraction from Satellite Images using Google Earth Engine</title><link>https://spatialthoughts.com/2023/01/18/automated-coastline-extraction-gee/</link><pubDate>Wed, 18 Jan 2023 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2023/01/18/automated-coastline-extraction-gee/</guid><description>In this article, I will outline a method for extracting shoreline from satellite images in Google Earth Engine. This method is scalable and automatically extracts the coastline as a vector polyline....</description></item><item><title>Managing Earth Engine Assets using the GEE Python API</title><link>https://spatialthoughts.com/2022/02/24/gee-asset-management/</link><pubDate>Thu, 24 Feb 2022 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2022/02/24/gee-asset-management/</guid><description>If you are like me, you have a lot of assets uploaded to Earth Engine. As you upload more and more assets, managing this data becomes quite a cumbersome task. Earth Engine provides a handy...</description></item><item><title>Temporal Gap-Filling with Linear Interpolation in GEE</title><link>https://spatialthoughts.com/2021/11/08/temporal-interpolation-gee/</link><pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/11/08/temporal-interpolation-gee/</guid><description>Many applications require replacing missing pixels in an image with an interpolated value from its temporal neighbours. This gap-filling technique is used in several applications, including:</description></item><item><title>Working with QA Bands and Bitmasks in Google Earth Engine</title><link>https://spatialthoughts.com/2021/08/19/qa-bands-bitmasks-gee/</link><pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/08/19/qa-bands-bitmasks-gee/</guid><description>Most optical satellite imagery products come with one or more QA-bands that allows the user to assess quality of each pixel and extract pixels that meet their requirements. The most common...</description></item><item><title>Calculating Weighted Centroids</title><link>https://spatialthoughts.com/2021/05/14/weighted-centroids-qgis-gee/</link><pubDate>Fri, 14 May 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/05/14/weighted-centroids-qgis-gee/</guid><description>In this post, I will outline techniques for computing weighted-centroids in both QGIS and Google Earth Engine. For a polygon feature, the centroid is the geometric center. It can also be thought of...</description></item><item><title>Aggregating Gridded Population Data in Google Earth Engine</title><link>https://spatialthoughts.com/2021/05/13/aggregating-population-data-gee/</link><pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/05/13/aggregating-population-data-gee/</guid><description>Google Earth Engine makes it easy to compute statistics on gridded raster datasets. While calculating statistics on imagery datasets is easy, special care must be taken when working with population...</description></item><item><title>Working with Gridded Rainfall Data in Google Earth Engine</title><link>https://spatialthoughts.com/2020/10/28/rainfall-data-gee/</link><pubDate>Wed, 28 Oct 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/10/28/rainfall-data-gee/</guid><description>Many useful climate and weather datasets come as gridded rasters. The techniques for working with them is slightly different than other remote sensing datasets. In this post, I will show how to work...</description></item><item><title>Histogram Matching in Google Earth Engine</title><link>https://spatialthoughts.com/2020/07/14/histogram-matching-gee/</link><pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/07/14/histogram-matching-gee/</guid><description>Color correction is an important process working with satellite and aerial imagery. A common technique used to balance the colors across multiple images is Histogram Matching. While the algorithm has...</description></item><item><title>Calculating Area in Google Earth Engine</title><link>https://spatialthoughts.com/2020/06/19/calculating-area-gee/</link><pubDate>Fri, 19 Jun 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/06/19/calculating-area-gee/</guid><description>When working on Remote Sensing applications, many operations require calculating area. For example, one needs to calculate area covered by each class after supervised classification or find out how...</description></item><item><title>Extracting Time Series using Google Earth Engine</title><link>https://spatialthoughts.com/2020/04/13/extracting-time-series-ee/</link><pubDate>Mon, 13 Apr 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/04/13/extracting-time-series-ee/</guid><description>Time series analysis is one of the most common operations in Remote Sensing. It helps understanding and modeling of seasonal patterns as well as monitoring of land cover changes. Earth Engine is...</description></item><item><title>Creating Maps with Google Earth Engine and PyQGIS</title><link>https://spatialthoughts.com/2020/04/04/ndvi-time-series-gee-qgis/</link><pubDate>Sat, 04 Apr 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/04/04/ndvi-time-series-gee-qgis/</guid><description>Google Earth Engine (GEE) is a powerful cloud-based system for analysing massive amounts of remote sensing data. One area where Google Earth Engine shines is the ability to calculate time series of...</description></item></channel></rss>