<?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>Blog on Spatial Thoughts</title><link>https://spatialthoughts.com/blog/</link><description>Recent content in Blog on Spatial Thoughts</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 06 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://spatialthoughts.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Data Driven Websites with Hugo</title><link>https://spatialthoughts.com/2026/10/06/data-driven-websites-hugo/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/10/06/data-driven-websites-hugo/</guid><description>We moved spatialthoughts.com from WordPress to a static site built with Hugo. This post explains why, and how a site driven by structured data files makes running courses and classes easier.</description></item><item><title>Learn Cloud Native Remote Sensing with Python in 30 Days</title><link>https://spatialthoughts.com/2026/08/28/python-remote-sensing-challenge/</link><pubDate>Fri, 28 Aug 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/08/28/python-remote-sensing-challenge/</guid><description>Welcome to #PythonRemoteSensingChallenge - Learn Cloud Native Remote Sensing with Python in 30 Days! We have designed this challenge to help you learn how to process, analyze and visualize satellite...</description></item><item><title>Reflections on AI as an Educator</title><link>https://spatialthoughts.com/2026/05/12/reflections-on-ai/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/05/12/reflections-on-ai/</guid><description>This is an ongoing post with my thoughts on how AI is changing how we learn and how to keep your skills relevant.</description></item><item><title>Learning SQL with DuckDB</title><link>https://spatialthoughts.com/2026/05/05/learning-sql-with-duckdb/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/05/05/learning-sql-with-duckdb/</guid><description>Historically, the open-source spatial analysis workflows lived in different silos</description></item><item><title>Building a CRM for My Small Business</title><link>https://spatialthoughts.com/2026/03/20/training-academy-crm/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/03/20/training-academy-crm/</guid><description>I started Spatial Thoughts in 2020 as an online training academy. We have been hosting cohort-based training courses ever since and the business has steadily grown over the years. As with many small...</description></item><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>FOSS4G Asia 2026</title><link>https://spatialthoughts.com/2026/01/29/foss4g-asia-2026/</link><pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2026/01/29/foss4g-asia-2026/</guid><description>The FOSS4G Asia 2026 conference was hosted at Nashik, India from 21-25 January 2026. This was a special event for me because I was part of the local organizing committee and worked alongside a...</description></item><item><title>FOSS4G 2025 Auckland</title><link>https://spatialthoughts.com/2025/11/23/foss4g-2025/</link><pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2025/11/23/foss4g-2025/</guid><description>The Free and Open Source Software for Geospatial (FOSS4G) 2025 conference happened in Auckland, New Zealand from 17-23 November 2025. It was a week-long event with 2 days of workshops followed by 3...</description></item><item><title>Get a Country-specific World Map in QGIS</title><link>https://spatialthoughts.com/2025/10/13/world-map-qgis/</link><pubDate>Mon, 13 Oct 2025 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2025/10/13/world-map-qgis/</guid><description>QGIS comes bundled with a simplified version of the Natural Earth Countries shapefile that is suitable for quick map-making. The layer can be loaded into your canvas by typing the keyword world in...</description></item><item><title>Geo for Good 2025</title><link>https://spatialthoughts.com/2025/09/21/geo-for-good-2025/</link><pubDate>Sun, 21 Sep 2025 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2025/09/21/geo-for-good-2025/</guid><description>Geo for Good is Google&amp;#39;s annual conference focused on their geospatial and cloud offerings. The 2025 edition of the summit was hosted at both New York and Singapore. I was glad to take part in the...</description></item><item><title>QGIS User Conference 2025</title><link>https://spatialthoughts.com/2025/06/11/qgis-user-conference-2025/</link><pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2025/06/11/qgis-user-conference-2025/</guid><description>The QGIS International User Conference 2025 happened in Norrköping, Sweden from 2-3 June 2025. I have been to the previous conferences in 2024, 2023 and 2019 and always look forward to the annual...</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>Creating QGIS Models with Optional Inputs and Conditional Processing</title><link>https://spatialthoughts.com/2024/11/29/qgis-coditional-input-model/</link><pubDate>Fri, 29 Nov 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/11/29/qgis-coditional-input-model/</guid><description>QGIS Model Designer offers powerful functionality for automating workflows. Many workflows are based on conditional logic that can generate different outputs based on the inputs provided. This post...</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>#PythonDatavizChallenge - Learn Mapping and Data Visualization with Python in 30 Days</title><link>https://spatialthoughts.com/2024/10/13/pythondatavizchallenge/</link><pubDate>Sun, 13 Oct 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/10/13/pythondatavizchallenge/</guid><description>Welcome to #PythonDatavizChallenge - Learn Mapping and Data Visualization with Python in 30 Days! We have designed this challenge to help you learn how to create charts, maps, animations, dashboards...</description></item><item><title>Geo for Good 2024</title><link>https://spatialthoughts.com/2024/10/05/geo-for-good-2024/</link><pubDate>Sat, 05 Oct 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/10/05/geo-for-good-2024/</guid><description>Geo for Good is Google&amp;#39;s annual summit that brings together users of Google mapping tools. It&amp;#39;s usually a large conference hosted at Google HQ in Mountain View, California. This year however, they...</description></item><item><title>QGIS User Conference 2024</title><link>https://spatialthoughts.com/2024/09/14/qgis-user-conference-2024/</link><pubDate>Sat, 14 Sep 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/09/14/qgis-user-conference-2024/</guid><description>The QGIS International User Conference 2024 happened in Bratislava, Slovakia from 9-10 September 2024, followed by the Contributor Meeting from 11-13 September 2024. This is one of my favorite events...</description></item><item><title>#PyQGISChallenge - Master QGIS Python Development in 30 Days</title><link>https://spatialthoughts.com/2024/07/15/pyqgis-challenge/</link><pubDate>Mon, 15 Jul 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/07/15/pyqgis-challenge/</guid><description>Welcome to #PyQGISChallenge - Master QGIS Python Development in 30 Days! We are launching our PyQGIS Masterclass course on YouTube and have designed this challenge to help you learn how to customize...</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>#30DaysOfQGIS - Master QGIS in 30 Days</title><link>https://spatialthoughts.com/2024/05/13/30daysofqgis/</link><pubDate>Mon, 13 May 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/05/13/30daysofqgis/</guid><description>Welcome to #30DaysOfQGIS! We have launched our Advanced QGIS course on YouTube and have designed this challenge to help you master QGIS! Spend 30 minutes each day for the next 30 days to level-up...</description></item><item><title>Rendering Print Layouts from QGIS Models</title><link>https://spatialthoughts.com/2024/04/08/rendering-print-layouts/</link><pubDate>Mon, 08 Apr 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/04/08/rendering-print-layouts/</guid><description>When automating GIS workflows, one often needs to automate the creation of cartographic outputs. The QGIS Model Designer allows you to build a workflow by combining multiple Processing algorithms....</description></item><item><title>Reprojecting and Aggregating Rasters with GDAL</title><link>https://spatialthoughts.com/2024/04/02/aggregate-and-align-rasters-gdal/</link><pubDate>Tue, 02 Apr 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/04/02/aggregate-and-align-rasters-gdal/</guid><description>When working with raster datasets of different projections and resolutions, it is often desirable to reproject them to the same projection and align them to the same pixel grid. In this post, we will...</description></item><item><title>GDAL and Google Cloud Storage (GCS)</title><link>https://spatialthoughts.com/2024/02/26/gdal-google-cloud-storage/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/02/26/gdal-google-cloud-storage/</guid><description>GDAL has support for GDAL Virtual File System which allows GDAL library and command-line tools to work with files on network storage. This is critical in the era of Cloud-Native Geospatialwhere it is...</description></item><item><title>Teaching Remote Sensing to Kids</title><link>https://spatialthoughts.com/2024/02/24/remote-sensing-for-kids/</link><pubDate>Sat, 24 Feb 2024 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2024/02/24/remote-sensing-for-kids/</guid><description>I was recently asked to deliver a session on Earth Science for kids. My daughter goes to an after-school science program at Max Science where they teach science with unique and fun hands-on...</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>LISS4 Image Processing using XArray and Dask</title><link>https://spatialthoughts.com/2023/12/25/liss4-processing-xarray/</link><pubDate>Mon, 25 Dec 2023 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2023/12/25/liss4-processing-xarray/</guid><description>ISRO recently released the full archive of medium and low-resolution Earth Observation dataset to the public. This includes the imagery from LISS-IV camera aboard ResourceSat-2 and ResourceSat-2A...</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>QGIS International User Conference 2023</title><link>https://spatialthoughts.com/2023/04/25/qgis-user-conference-2023/</link><pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2023/04/25/qgis-user-conference-2023/</guid><description>QGIS User Conference 2023 took place in Netherlands on 18-19 April, 2023. This conference was organized by the Dutch QGIS User Group in the small town of &amp;#39;s -Hertogenbosch.</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>Running QGIS Processing Tools on the Command Line with qgis_process</title><link>https://spatialthoughts.com/2022/07/30/qgis_process_command_line/</link><pubDate>Sat, 30 Jul 2022 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2022/07/30/qgis_process_command_line/</guid><description>Modern versions of QGIS comes with a handy command-line utility called qgis_process. This allows you to access and run any Processing Tool, Script or Model from the Processing Toolbox on a terminal....</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>Weighted Multi-Criteria Overlay Analysis using GDAL Tools</title><link>https://spatialthoughts.com/2022/01/31/multi-criteria-overlay-gdal/</link><pubDate>Mon, 31 Jan 2022 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2022/01/31/multi-criteria-overlay-gdal/</guid><description>Multi-criteria Overlay Analysis is the process of the allocation of land to suit a specific objective on the basis of a variety of attributes that the selected areas should possess. Although this is...</description></item><item><title>Creating Animated Plots with Matplotlib</title><link>https://spatialthoughts.com/2022/01/14/animated-plots-with-matplotlib/</link><pubDate>Fri, 14 Jan 2022 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2022/01/14/animated-plots-with-matplotlib/</guid><description>Matplotlib has functionality to created animations and can be used to create dynamic visualizations. In this post, I will explain the concepts and techniques for creating animated charts using Python...</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>Split Polygons into Equal Parts using QGIS</title><link>https://spatialthoughts.com/2021/06/12/split-polygons-qgis/</link><pubDate>Sat, 12 Jun 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/06/12/split-polygons-qgis/</guid><description>In this post, I describe how we can use built-in QGIS processing tools to create a workflow to split polygons into equal parts. Using a clever algorithm and Feature Iterator tool in the Processing...</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>QGIS for Urban and Regional Planning</title><link>https://spatialthoughts.com/2021/03/15/gis-in-urban-and-regional-planning/</link><pubDate>Mon, 15 Mar 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/03/15/gis-in-urban-and-regional-planning/</guid><description>I recently taught a 1-month long course on GIS Applications in Urban and Regional Planning. We explored how GIS can be applied to solve problems in 6 different thematic areas. In this post, I will...</description></item><item><title>K-Means Clustering with Equal Sized Clusters in QGIS</title><link>https://spatialthoughts.com/2021/01/31/equal-sized-kmeans-qgis/</link><pubDate>Sun, 31 Jan 2021 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2021/01/31/equal-sized-kmeans-qgis/</guid><description>K-Means Clustering is a popular algorithm for automatically grouping points into natural clusters. QGIS comes with a Processing Toolbox algorithm &amp;#39;K-means clustering&amp;#39; that can take a vector layer and...</description></item><item><title>Spatial Homogeneity Testing of Raingauge Data with Advanced QGIS Expressions</title><link>https://spatialthoughts.com/2020/11/26/spatial-homogeneity-testing-qgis/</link><pubDate>Thu, 26 Nov 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/11/26/spatial-homogeneity-testing-qgis/</guid><description>Rainfall is arguably the most frequently measured hydro-meteorological variable. It is a required input for many hydrological applications like runoff computations, flood forecasting as well as...</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>Fast Point-in-Polygon Analysis with GeoPandas and Uber's H3 Spatial Index</title><link>https://spatialthoughts.com/2020/07/01/point-in-polygon-h3-geopandas/</link><pubDate>Wed, 01 Jul 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/07/01/point-in-polygon-h3-geopandas/</guid><description>Spatial indexing methods help speed up spatial queries. Most GIS software and databases provide a mechanism to compute and use spatial index for your data layers. QGIS as well as PostGIS use a...</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>Fixing Rasters with Missing Data using QGIS, GDAL and Python</title><link>https://spatialthoughts.com/2020/06/17/fix-nodata-values/</link><pubDate>Wed, 17 Jun 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/06/17/fix-nodata-values/</guid><description>When working with raster data, you may sometimes need to deal with data gaps. These could be the result of sensor malfunction, processing errors or data corruption. Below is an example of data gap...</description></item><item><title>Lessons from Hosting Online Training Events</title><link>https://spatialthoughts.com/2020/05/12/online-training-best-practices/</link><pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/05/12/online-training-best-practices/</guid><description>As everyone who is involved in teaching and training knows, the past few months have been hard. We all had to make changes to accommodate working from home and adopting online teaching methods....</description></item><item><title>History and Evolution of Location Intelligence Technology</title><link>https://spatialthoughts.com/2020/04/18/history-of-location-intelligence/</link><pubDate>Sat, 18 Apr 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/04/18/history-of-location-intelligence/</guid><description>I was invited to participate in a panel discussion on Geospatial Intelligence for #LetsTalkDeepTech Webcast hosted by Swiggy. I talked about the history and evolution of this space and gave a deep...</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>Calculating Shared Border Lengths Between Polygons</title><link>https://spatialthoughts.com/2020/04/08/calculating-shared-border-lengths/</link><pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/04/08/calculating-shared-border-lengths/</guid><description>In a previous post, I showed how to use the aggregate function to find neighbor polygons using QGIS. Using aggregate functions on the same layer allows us to easily do geoprocessing operations...</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><item><title>Snapping GPS tracks to Roads using PyQGIS and OSRM</title><link>https://spatialthoughts.com/2020/02/22/snap-to-roads-qgis-and-osrm/</link><pubDate>Sat, 22 Feb 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/02/22/snap-to-roads-qgis-and-osrm/</guid><description>If you have collected GPS tracks, you know that the results can have varying accuracy. The track points collected along a route are not always on the road and can be jittery.</description></item><item><title>Exporting Print Layouts from Processing Scripts</title><link>https://spatialthoughts.com/2020/02/09/exporting-map-layouts/</link><pubDate>Sun, 09 Feb 2020 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2020/02/09/exporting-map-layouts/</guid><description>When trying to automate your GIS workflows, one important step is the production of maps. Creating and exporting maps in QGIS is done via the Print Layout. One can automate creation of maps via the a...</description></item><item><title>Reclassifying Rasters using gdal_calc</title><link>https://spatialthoughts.com/2019/12/28/gdal-calc/</link><pubDate>Sat, 28 Dec 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/12/28/gdal-calc/</guid><description>gdal_calc is one of the lesser used tools among the GDAL utilities. There aren&amp;#39;t many examples of using it in the wild and some advanced features are not well documented. I am finding myself using it...</description></item><item><title>Optimizing Office Commute with Uber Movement Data</title><link>https://spatialthoughts.com/2019/11/08/optimizing-office-commute/</link><pubDate>Fri, 08 Nov 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/11/08/optimizing-office-commute/</guid><description>In a previous post, I showed how to use the Uber Movement Travel Times data to create isochrones. In this post, we will explore another use case of this dataset. Say you are concerned about loss of...</description></item><item><title>Generating Random Points with a Specific Distribution</title><link>https://spatialthoughts.com/2019/11/07/random-points-with-distribution/</link><pubDate>Thu, 07 Nov 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/11/07/random-points-with-distribution/</guid><description>Generating pseudo-random data is important for many aspects of research work. QGIS provides for many methods of generating random points to facilitate this.</description></item><item><title>Convert between Orthometric and Ellipsoidal Elevations using GDAL</title><link>https://spatialthoughts.com/2019/10/26/convert-between-orthometric-and-ellipsoidal-elevations-using-gdal/</link><pubDate>Sat, 26 Oct 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/10/26/convert-between-orthometric-and-ellipsoidal-elevations-using-gdal/</guid><description>When working with elevation data, sometimes you may discover that 2 datasets from different providers have very different elevation values for the same location. A common reason for this being each...</description></item><item><title>Fuzzy Table Joins in QGIS</title><link>https://spatialthoughts.com/2019/09/26/fuzzy-table-joins-in-qgis/</link><pubDate>Thu, 26 Sep 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/09/26/fuzzy-table-joins-in-qgis/</guid><description>Table Joins are a way to join 2 separate layers based on a common attribute value. QGIS has a Join Attributes By Field Value algorithm that allows you to perform table joins. A limitation of this...</description></item><item><title>Analyzing Urban Mobility with Uber Movement Data</title><link>https://spatialthoughts.com/2019/08/15/gis-in-the-browser/</link><pubDate>Thu, 15 Aug 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/08/15/gis-in-the-browser/</guid><description>Mapshaper is a free and open-source software for spatial data processing. It is written in javascript and runs in your browser without any extra plugins and can perform a range of analysis. It...</description></item><item><title>Find Neighbor Polygons using Summary Aggregate Function in QGIS</title><link>https://spatialthoughts.com/2019/05/23/neighbor-polygons-aggregate-qgis/</link><pubDate>Thu, 23 May 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/05/23/neighbor-polygons-aggregate-qgis/</guid><description>Read my previous posts Summary Aggregate and Spatial Filters and Advanced Aggregate Expressions to Automate QA to learn more about the powerful aggregate function.</description></item><item><title>Advanced Aggregate Expressions to Automate QA in QGIS</title><link>https://spatialthoughts.com/2019/04/19/advanced-aggregate-expressions/</link><pubDate>Fri, 19 Apr 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/04/19/advanced-aggregate-expressions/</guid><description>This post is the continuation of Summary Aggregate and Spatial Filters in QGIS. I have been exploring aggregate functions more and have found interesting ways to automate tasks in QGIS. One such...</description></item><item><title>Summary Aggregate and Spatial Filters in QGIS</title><link>https://spatialthoughts.com/2019/04/12/summary-aggregation-qgis/</link><pubDate>Fri, 12 Apr 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/04/12/summary-aggregation-qgis/</guid><description>QGIS expression engine has a powerful a summary aggregate function that can do spatial joins on the fly. This enables some very interesting uses.</description></item><item><title>Approximating Geodesic Buffers with PyQGIS</title><link>https://spatialthoughts.com/2019/04/05/geodesic-buffers-in-qgis/</link><pubDate>Fri, 05 Apr 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/04/05/geodesic-buffers-in-qgis/</guid><description>When you want to buffer features that are spread across a large area (such as global layers), there is no suitable projection that can give you accurate results. This is the classic case for needing...</description></item><item><title>Creating Animated Flight Lines in QGIS</title><link>https://spatialthoughts.com/2019/03/21/animated-flight-lines/</link><pubDate>Thu, 21 Mar 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/03/21/animated-flight-lines/</guid><description>You may have seen a map where source and destination points are connected via curved lines. It is possible to create such a map in QGIS with a simple trick - using custom projections and...</description></item><item><title>QGIS User Conference 2019</title><link>https://spatialthoughts.com/2019/03/08/qgis-user-conference-2019/</link><pubDate>Fri, 08 Mar 2019 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2019/03/08/qgis-user-conference-2019/</guid><description>I got a chance to attend the 3rd Annual QGIS User Conference at A Coruña, Spain.</description></item><item><title>Convert between UTM and Degree coordinates using Google Spreadsheets</title><link>https://spatialthoughts.com/2018/04/29/utm-to-degrees-spreadsheet/</link><pubDate>Sun, 29 Apr 2018 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2018/04/29/utm-to-degrees-spreadsheet/</guid><description>Converting between different coordinate reference systems or projection is a fairly standard feature in a GIS. There are a number of command line tools also available for performing bulk-conversions....</description></item><item><title>OpenAQ Workshop Notes</title><link>https://spatialthoughts.com/2016/11/25/openaq-workshop-notes/</link><pubDate>Fri, 25 Nov 2016 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2016/11/25/openaq-workshop-notes/</guid><description>I recently attended the OpenAQ workshop in Delhi . The workshop’s goal was to bring tech, science and media folks working on air quality together and brainstorm how to use open data to tackle air...</description></item><item><title>Line Transact Surveys using OpenDataKit(ODK)</title><link>https://spatialthoughts.com/2015/12/06/odk-line-transact/</link><pubDate>Sun, 06 Dec 2015 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2015/12/06/odk-line-transact/</guid><description>This weekend, I got an opportunity to volunteer with a non-profit called Junglescapes. We took a day trip to the Bandipur forest in Karnataka where they have done extensive work in forest...</description></item><item><title>Creating Geospatial PDFs with GDAL Tools</title><link>https://spatialthoughts.com/2015/10/25/geopdf-gdal/</link><pubDate>Sun, 25 Oct 2015 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2015/10/25/geopdf-gdal/</guid><description>GeoPDF is a unique data format that brings the portability of PDF to geospatial data. A GeoPDF document can present raster and vector data and preserve the georeference information. This can be a...</description></item><item><title>Geo Data Processing with Mapshaper</title><link>https://spatialthoughts.com/2015/10/24/mapshaper-command-line/</link><pubDate>Sat, 24 Oct 2015 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2015/10/24/mapshaper-command-line/</guid><description>Mapshaper is a free and open-source tool that is best known for fast and easy simplification. Other tools for simplification - like QGIS or ogr2ogr - do not preserve topology while simplifying. This...</description></item><item><title>Spatial Joins on the Command Line</title><link>https://spatialthoughts.com/2015/07/12/ogr-spatial-join/</link><pubDate>Sun, 12 Jul 2015 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2015/07/12/ogr-spatial-join/</guid><description>GDAL and OGR libraries come with handy command-line tools. These tools are quite powerful and can save you a lot of effort if you know how to use them. Here I will show how to use the ogrinfo and...</description></item><item><title>Implementing a Field Data collection app for APD</title><link>https://spatialthoughts.com/2015/04/29/opendatakit-for-apd/</link><pubDate>Wed, 29 Apr 2015 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2015/04/29/opendatakit-for-apd/</guid><description>The Association for People with Disability (APD) is a non-profit organization based out of Bangalore, India. Their mission is to reach out and rehabilitate people with disability from the under...</description></item><item><title>Le Paper Globe</title><link>https://spatialthoughts.com/2013/07/14/le-paper-globe/</link><pubDate>Sun, 14 Jul 2013 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2013/07/14/le-paper-globe/</guid><description>A long pending weekend project is done. Printed, cut and folded a sturdy globe using the template from Le Paper Globe.</description></item><item><title>Calculate distance between a pair of lat/lon coordinates</title><link>https://spatialthoughts.com/2013/07/06/calculate-distance-spreadsheet/</link><pubDate>Sat, 06 Jul 2013 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2013/07/06/calculate-distance-spreadsheet/</guid><description>I recently had a need to calculate distance between a large number of latitude/longitude coordinate pairs. There are many options available if you want to import these in a GIS and run analysis. But...</description></item><item><title>Notes from Carotonama</title><link>https://spatialthoughts.com/2012/10/28/cartonama-2012/</link><pubDate>Sun, 28 Oct 2012 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2012/10/28/cartonama-2012/</guid><description>I was at #cartonama conference in Bangalore on 23rd September, 2012. It was wonderful to be among geogeeks and see the energy and enthusiasm. Got to see some great demos and LBS apps from startups in...</description></item><item><title>Notes from FOSS4G India - 2012</title><link>https://spatialthoughts.com/2012/10/20/foss4g-india-2012/</link><pubDate>Sat, 20 Oct 2012 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2012/10/20/foss4g-india-2012/</guid><description>India’s first FOSS4G - India conference was organized on 25-26 October, 2012 at Hyderabad. This was a surprisingly low-profile event and there was very little buzz about it on the internet. I learnt...</description></item><item><title>GIS Project Ideas for Thesis/ Dissertation/ Internship</title><link>https://spatialthoughts.com/2010/10/25/gis-project-ideas/</link><pubDate>Mon, 25 Oct 2010 00:00:00 +0000</pubDate><guid>https://spatialthoughts.com/2010/10/25/gis-project-ideas/</guid><description>Many students have asked me for ideas on what topic they should choose for their Thesis. I have debated this myself when I was a student. The ideal topic would be the one that allows you to dive into...</description></item></channel></rss>