Place-of-interest status modelling
An XGBoost model that scores whether places in Overture Maps are still operating, from weekly search, listing, engagement and visit signals, with training and validation…
Much of my work has been for clients or internal R&D, so most of these projects have no public code. Select a project for details, or filter by category.
| Project | Description | Categories |
|---|---|---|
| Arctic sea ice concentration with Clay embeddings and SAR | Testing whether embeddings from the Clay geospatial foundation model improve sea ice concentration mapping from Sentinel-1 SAR. Early results on a small sample favour plain backscatter statistics. | environment, radar, machine learning, foundation models |
| Mobility dataset quality assessment | An automated workflow that scores vendor mobility datasets on completeness, coverage, duplication, impossible travel and population representativeness, and generates a report with a suitability verdict. | location data, data quality, data pipelines |
| Place-of-interest status modelling | An XGBoost model that scores whether places in Overture Maps are still operating, from weekly search, listing, engagement and visit signals, with training and validation reports built into the Airflow pipelines. | location data, machine learning, data pipelines, time series |
| Prairie crop mapping with geospatial foundation model embeddings | Do frozen geospatial foundation model embeddings (AlphaEarth, TESSERA, OlmoEarth) beat a well-tuned Sentinel-2 baseline for Prairie crop mapping, with few labels, across years and provinces, and partway through the season? | In progress, agriculture, multispectral, machine learning, foundation models |
| Detecting home additions in aerial imagery | A Mask R-CNN model trained to detect and outline specific types of residential additions in 12.5 cm aerial imagery for an insurance client, reaching an object-level F1 of 0.85. | insurance, computer vision |
| Lake and reservoir water levels from SWOT | An internal study testing SWOT satellite water levels against 13 lake and reservoir gauges in Alberta: a median difference of 0.37 m, but with large outliers and irregular revisits. Poster at CSRS 2025. | environment, radar, time series, data quality |
| Property natural hazard risk | The data science behind the first version of a property risk platform: wildfire, earthquake, heat, hurricane and flood risk for US properties, built from FEMA National Risk Index components and higher-resolution hazard data. | natural hazards, insurance |
| Agricultural practice metrics for carbon credits | A prototype field score for a carbon credit startup, rating each field’s crop rotation, tillage and cover cropping from crop maps, Sentinel-1 InSAR and Sentinel-2, run on AWS Batch across much of Saskatchewan. | agriculture, radar, multispectral, time series |
| Automated atmospheric correction | A Python module, built for a satellite imagery provider, that corrects each new multispectral image to surface reflectance with no manual inputs, using the 6S model with aerosol and elevation drawn from the image’s own spatial footprint and date. | multispectral, preprocessing |
| Cross-border trade monitoring | Satellite proxies for trade at African border crossings for the World Bank, where trade data is sparse: a PlanetScope traffic index tracking relative traffic density, and YOLOv5 vehicle counts from high-resolution imagery. | multispectral, computer vision, time series |
| Electrical substation detection | Finding out why a substation segmentation model that scored well in testing failed on new images, then rebuilding its training data from OpenStreetMap: 2,728 substations in 10 countries, with a review tool to filter out label errors. | energy, computer vision, data quality |
| Mapping agricultural drought in Alberta | Mapping Alberta’s 2021 and 2023 agricultural droughts with NDVI time series, from province-wide MODIS to daily Planet Fusion data over selected areas, where irrigation largely offset the drought. Published as a two-part blog series. | agriculture, natural hazards, multispectral, time series |
| Methane detection from satellite imagery | UK Space Agency-funded research into detecting methane plumes in Sentinel-2 imagery, tested on more than 20 oil and gas and landfill sites on four continents. It works best on large point sources over desert. | energy, environment, multispectral, time series |
| Linking wildfires and flood damage | An automated workflow mapping 2021 BC wildfire burn severity from Sentinel-2, set against flood-damaged highways. Published as an interactive story map, presented at FOSS4G and CSRS 2022, and covered in the media. | natural hazards, multispectral, change detection |
| Impervious surface mapping | Mapping impervious surfaces in Metro Vancouver from multi-temporal Sentinel-2 with XGBoost (macro-F1 above 0.85), with a conservative change layer for later years and a comparison against ESA and Esri global land cover. | environment, multispectral, machine learning, change detection |
| Mapping the 2021 Sumas Prairie flood | Mapping the November 2021 flooding around Abbotsford, BC with Sentinel-1 radar change detection, then using lidar elevation data to explain where the water went and why. Published as a two-part blog series. | natural hazards, radar, change detection |
| Crop health change alerting | An automated system that watched fields in near-daily PlanetScope imagery and alerted growers to drops in crop health, running in production across millions of acres, with thresholds tuned against a field validation campaign. | agriculture, multispectral, change detection, field campaigns, time series |
Banner image: Photo over Madagascar captured from on board the International Space Station (ISS) on August 28, 2026. Image source