pyinterp.geometry.cartesian.algorithms.simplify

Contents

pyinterp.geometry.cartesian.algorithms.simplify#

pyinterp.geometry.cartesian.algorithms.simplify(geometry: pyinterp.core.geometry.cartesian.LineString, distance: float) pyinterp.core.geometry.cartesian.LineString#
pyinterp.geometry.cartesian.algorithms.simplify(geometry: pyinterp.core.geometry.cartesian.Ring, distance: float) pyinterp.core.geometry.cartesian.Ring
pyinterp.geometry.cartesian.algorithms.simplify(geometry: pyinterp.core.geometry.cartesian.Polygon, distance: float) pyinterp.core.geometry.cartesian.Polygon
pyinterp.geometry.cartesian.algorithms.simplify(geometry: pyinterp.core.geometry.cartesian.MultiLineString, distance: float) pyinterp.core.geometry.cartesian.MultiLineString
pyinterp.geometry.cartesian.algorithms.simplify(geometry: pyinterp.core.geometry.cartesian.MultiPolygon, distance: float) pyinterp.core.geometry.cartesian.MultiPolygon

Simplifies a geometry using the Douglas-Peucker algorithm.

The algorithm removes points from the geometry while preserving its general shape. Points are removed if they are within the specified distance tolerance from the simplified line.

Parameters:
  • geometry – Geometric object to simplify.

  • distance – Maximum distance tolerance for simplification.

Returns:

A simplified version of the input geometry (same type).

Examples

>>> ls = LineString(np.array([0.0, 0.1, 0.2, 0.3, 1.0]),
...                 np.array([0.0, 0.05, 0.0, 0.05, 0.0]))
>>> simplified = simplify(ls, distance=0.1)
>>> # simplified has fewer points but similar shape