Skip to content

pygeoops/pygeoops

Repository files navigation

PyGeoOps

Actions Status codecov PyPI version Conda version

PyGeoOps provides some less common or extended spatial algorithms and utility functions.

Introduction

This is a shortlist of the available functions:

  • centerline: centerline/medial axis calculation for a polygon, including optional cleanup of short branches.
  • view_angles: determine the start and end angle a polygon is visible from the viewpoint specified
  • simplify: simplify a polygon, with some extended options like
    • choice in simplification algorithms: Lang (+ a variant), Ramer Douglas Peuker, Visvalingal Whyatt
    • specify points/locations where points should not be removed by the simplification
    • topologic simplification: common boundaries between input features should stay common
  • utility functions to create and split grids (create_grid, split_tiles)
  • general utility functions on geometries like remove_inner_rings, collection_extract,…

Full documentation can be found on Read the Docs.

Usage

The centerline for a polygon, including the default cleanup of short branches, can be calculated like this:

import pygeoops
import shapely

polygon = shapely.from_wkt("POLYGON ((0 0, 0 8, -2 10, 4 10, 2 8, 2 2, 10 2, 10 0, 0 0))")
centerline = pygeoops.centerline(polygon)

centerline

Installation

PyGeoOps is available on PyPi, so can be installed using pip:

pip install pygeoops

Another option is to use conda or mamba, as it is also available on conda-forge:

conda install pygeoops --channel conda-forge