GeoSpatial MLhttps://geospatialml.com/Recent content on GeoSpatial MLHugoen-us© GeoSpatial MLTue, 17 Mar 2026 00:00:00 +0000Seeing the Roads Through the Trees: Do Segmentation Models Actually Use Long-Range Context?https://geospatialml.com/posts/long-range-dependencies/Tue, 17 Mar 2026 00:00:00 +0000https://geospatialml.com/posts/long-range-dependencies/<p>How well do segmentation models actually use long-range spatial information to make decisions? No existing benchmark directly measures this, especially in remote sensing where most datasets can be solved with relatively local texture and color cues. This matters beyond any single task — remote sensing is full of cases where local appearance is ambiguous and the correct label depends on spatial context, from mapping flooded areas under tree canopy during disaster response to identifying informal settlements where the signal is the neighborhood-level pattern rather than any individual structure. In <a href="proxy.php?url=https://arxiv.org/abs/2401.06762">Seeing the Roads Through the Trees</a> we designed a dataset and metric to measure spatial reasoning directly, and found that standard CNN encoder-decoder models are generally bad at it. In this post we revisit the problem with transformer-based architectures and gradient-based receptive field analysis to understand <em>why</em>.</p>Characterizing Census Blocks with Satellite Embedding Statisticshttps://geospatialml.com/posts/aef-census-block-embeddings/Tue, 10 Mar 2026 00:00:00 +0000https://geospatialml.com/posts/aef-census-block-embeddings/<p>How can you join AEF embeddings to census blocks, and how well do they predict different variables? We wrote a <a href="proxy.php?url=https://gist.github.com/calebrob6/e71adbc64a94e362ec7c251e4fbc5223">script</a> for doing this! We find, for example, that statistics of AEF embeddings can differentiate between urban and rural blocks in Washington with <strong>92.5% accuracy</strong> using a simple logistic regression.</p> <p>There&rsquo;s a growing ecosystem of <a href="proxy.php?url=https://isaac.earth/earth-embedding-products">pixel-level embedding products</a> covering the entire planet — AEF, Clay, Prithvi, and others. These are potentially powerful features for research well beyond remote sensing: sociology, demography, public health, economics — any field that works with administrative boundaries. But there&rsquo;s still a high technical barrier to actually <em>using</em> them. Going from a wall of raster tiles to a clean feature table keyed by census tract or district requires spatial joins, CRS wrangling, and careful aggregation.</p>Training a Water Segmentation Model with TorchGeohttps://geospatialml.com/posts/torchgeo-iclr-tutorial/Mon, 02 Mar 2026 00:00:00 +0000https://geospatialml.com/posts/torchgeo-iclr-tutorial/<p>One notebook, a few hundred lines of Python, and you go from raw Sentinel-2 imagery to a georeferenced water map you can open in QGIS. That&rsquo;s the premise of the <a href="proxy.php?url=https://torchgeo.readthedocs.io/en/stable/tutorials/earth_surface_water.html">TorchGeo tutorial</a> we put together for the <a href="proxy.php?url=https://ml-for-rs.github.io/iclr2026/">ICLR 2026 ML4RS Workshop</a> (<a href="proxy.php?url=https://arxiv.org/abs/2603.02386">paper</a>). It walks through the full earth observation (EO) ML workflow: loading multispectral data, training a semantic segmentation model on the <a href="proxy.php?url=https://zenodo.org/records/5205674">Earth Surface Water dataset</a>, and running gridded inference on a Sentinel-2 scene over Rio de Janeiro.</p>Welcome to GeoSpatial MLhttps://geospatialml.com/posts/welcome/Fri, 27 Feb 2026 00:00:00 +0000https://geospatialml.com/posts/welcome/<p>Welcome to <strong>GeoSpatial ML</strong> — a place to share what we&rsquo;re exploring, building, and reading at the intersection of geospatial data and machine learning.</p> <p>Many of us already swap papers, datasets, and half-baked experiments in the <a href="proxy.php?url=https://torchgeo.slack.com/join/shared_invite/zt-22rse667m-eqtCeNW0yI000Tl4B~2PIw">TorchGeo Slack</a>. This blog is an extension of those conversations — a more permanent home for the things we find interesting each week.</p> <h2 id="what-to-expect">What to expect</h2> <ul> <li><strong>Paper highlights</strong> — summaries and takes on new GeoAI / GeoML research we&rsquo;re reading</li> <li><strong>Code demos</strong> — small, reproducible experiments with <a href="proxy.php?url=https://github.com/microsoft/torchgeo">TorchGeo</a> and the broader geospatial ML ecosystem</li> <li><strong>New models &amp; datasets</strong> — quick tours of recently released foundation models, benchmarks, and datasets worth trying</li> <li><strong>Geospatial explorations</strong> — anything from satellite imagery tricks to fun visualizations to workflow tips</li> </ul> <p>Posts will be short and practical. If something is interesting enough to share in Slack, it&rsquo;s interesting enough to write up here.</p>