Skip to content

geos_difference

Jip Claassens edited this page Mar 31, 2026 · 2 revisions

Geometric functions > geos_difference

syntax

  • geos_difference(polygon_data_item1, polygon_data_item2)

description

geos_difference(polygon_data_item1, polygon_data_item2) results in a data item with the difference of the two polygon arguments. The result contains, for each element, the area of the first argument that is not covered by the second argument (A minus B).

The operator is applied element-by-element. Both domains need to match, or one of the arguments needs to be a parameter (void domain).

The geos_ prefix of the function name indicates that the implementation of the operator uses geos.

This operator is also automatically invoked by the - operator when used with fpoint or dpoint polygon data items.

applies to

The value types of both arguments must be compatible (same point type).

conditions

  1. The composition type of both arguments needs to be polygon.
  2. The domains of the two arguments must match, or one argument must have a void domain (parameter).

since version

14.0

example

attribute<fpoint> geometry_difference (district) := geos_difference(district/geometry, water/geometry);
// equivalent to:
attribute<fpoint> geometry_difference (district) := district/geometry - water/geometry;

see also

Clone this wiki locally