Difference
Removes from each feature of a layer the parts covered by a mask layer, keeping what lies outside it.
Pitfall. Functions that work per pair of geometries (SQL, Shapely) subtract one mask feature at a time; union the mask first, or a feature is returned once per mask feature.
Pitfall. Attributes such as lengths and areas are copied, not recalculated, for the remaining parts.
| Also called | Erase, Pairwise Erase, overlay difference, cut out |
|---|---|
| Group | vector/overlay |
| Checks | crs.agreement, geometry.valid, extent.plausible |
| Pitfalls | 2 listed above |
| Columbus tool | Not stated |
| Notes | Not stated |
| Status | active |
| Broader | Not stated |
| Narrower | Not stated |
| Related |
Parameters
Not stated
Inputs and outputs
| Direction | Name | Type | Geometry | Note |
|---|---|---|---|---|
| Input | layer | vector | Not stated | Not stated |
| Input | mask | vector | polygon | Not stated |
| Output | output | vector | Not stated | Not stated |
In each engine
| Engine | Tool | Parameters | Differences |
|---|---|---|---|
apache-sedona | sedona.sql.ST_Difference |
|
|
gdal | gdal vector layer-algebra |
| None noted
Preset: {"operation":"erase"} |
geopandas | geopandas.GeoSeries.difference |
|
|
grass | v.overlay |
|
Preset: {"operator":"not"} |
postgis | st_difference |
|
|
qgis | native:difference |
| None noted |
sf | sf::st_difference |
|
|
shapely | shapely.difference |
|
|
terra | terra::erase |
| None noted |
whiteboxtools | Erase |
| None noted |