Planned intervention: On Wednesday April 3rd 05:30 UTC Zenodo will be unavailable for up to 2-10 minutes to perform a storage cluster upgrade.

There is a newer version of the record available.

Published January 23, 2021 | Version 0.9
Software Open

pygeos/pygeos: Version 0.9

  • 1. Nelen & Schuurmans
  • 2. Astute Spruce, LLC
  • 3. Adonmo (@adonmo)
  • 4. GNS Science
  • 5. TU Wien
  • 6. Spatial Partners

Description

Version 0.9 (2021-01-23)

Major enhancements

  • Addition of prepare function that generates a GEOS prepared geometry which is stored on the Geometry object itself. All binary predicates (except equals) make use of this. Helper functions destroy_prepared and is_prepared are also available. (#92, #252)
  • Use previously prepared geometries within STRtree query and query_bulk functions if available (#246)
  • Official support for Python 3.9 and numpy 1.20 (#278, #279)
  • Drop support for Python 3.5 (#211)
  • Added support for pickling to Geometry objects (#190)
  • The apply function for coordinate transformations and the set_coordinates function now support geometries with z-coordinates (#131)
  • Addition of Cython and internal PyGEOS C API to enable easier development of internal functions (previously all significant internal functions were developed in C). Added a Cython-implemented get_parts function (#51)

API Changes

  • Geometry and counting functions (get_num_coordinates, get_num_geometries, get_num_interior_rings, get_num_points) now return 0 for None input values instead of -1 (#218)
  • intersection_all and symmetric_difference_all now ignore None values instead of returning None if any value is None (#249)
  • union_all now returns None (instead of GEOMETRYCOLLECTION EMPTY) if all input values are None (#249)
  • The default axis of union_all, intersection_all, symmetric_difference_all, and coverage_union_all can now reduce over multiple axes. The default changed from the first axis (0) to all axes (None) (#266)
  • Argument in line_interpolate_point and line_locate_point was renamed from normalize to normalized (#209)
  • Addition of grid_size parameter to specify fixed-precision grid for difference, intersection, symmetric_difference, union, and union_all operations for GEOS >= 3.9 (#276)

Added GEOS functions

  • Release the GIL for is_geometry(), is_missing(), and is_valid_input() (#207)
  • Addition of a is_ccw() function for GEOS >= 3.7 (#201)
  • Addition of a minimum_clearance function for GEOS >= 3.6.0 (#223)
  • Addition of a offset_curve function (#229)
  • Addition of a relate_pattern function (#245)
  • Addition of a clip_by_rect function (#273)
  • Addition of a reverse function for GEOS >= 3.7 (#254)
  • Addition of get_precision to get precision of a geometry and set_precision to set the precision of a geometry (may round and reduce coordinates) (#257)

Bug fixes

  • Fixed internal GEOS error code detection for get_dimensions and get_srid (#218)
  • Limited the length of geometry repr to 80 characters (#189)
  • Fixed error handling in line_locate_point for incorrect geometry types, now actually requiring line and point geometries (#216)
  • Addition of get_parts function to get individual parts of an array of multipart geometries (#197)
  • Ensure that python setup.py clean removes all previously Cythonized and compiled files (#239)
  • Handle GEOS beta versions (#262)

Acknowledgments

Thanks to everyone who contributed to this release! People with a "+" by their names contributed a patch for the first time.

  • Brendan Ward
  • Casper van der Wel
  • Joris Van den Bossche
  • Mike Taves

Files

pygeos/pygeos-0.9.zip

Files (158.5 kB)

Name Size Download all
md5:aa80519d8ea48f3dff48e4672eac5a2a
158.5 kB Preview Download

Additional details

Related works