loongson/pypi/: pygeos0.12.0 metadata and description
GEOS wrapped in numpy ufuncs
author  Casper van der Wel 
author_email  caspervdw@gmail.com 
classifiers 

license  BSD 3Clause 
provides_extras  docs 
requires_dist 

requires_python  >=3.6 
Because this project isn't in the mirror_whitelist
,
no releases from root/pypi are included.
File  Tox results  History 

pygeos0.12.0cp37cp37mlinux_loongarch64.whl



pygeos0.12.0.tar.gz


PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in the opensource geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance improvement when operating on arrays of geometries.
Important note: PyGEOS was merged with Shapely (https://shapely.readthedocs.io) in December 2021 and will be released as part of Shapely 2.0. The development will take place at the Shapely repository. Please raise issues or create pull request over there. PyGEOS itself will receive updates (by backporting from the Shapely repository) until Shapely 2.0 is actually released.
What is a ufunc?
A universal function (or ufunc for short) is a function that operates on ndimensional arrays in an elementbyelement fashion, supporting array broadcasting. The forloops that are involved are fully implemented in C diminishing the overhead of the Python interpreter.
Multithreading
PyGEOS functions support multithreading. More specifically, the Global Interpreter Lock (GIL) is released during function execution. Normally in Python, the GIL prevents multiple threads from computing at the same time. PyGEOS functions internally releases this constraint so that the heavy lifting done by GEOS can be done in parallel, from a single Python process.
Examples
Compare an grid of points with a polygon:
>>> geoms = points(*np.indices((4, 4))) >>> polygon = box(0, 0, 2, 2) >>> contains(polygon, geoms) array([[False, False, False, False], [False, True, False, False], [False, False, False, False], [False, False, False, False]])
Compute the area of all possible intersections of two lists of polygons:
>>> from pygeos import box, area, intersection >>> polygons_x = box(range(5), 0, range(10, 15), 10) >>> polygons_y = box(0, range(5), 10, range(10, 15)) >>> area(intersection(polygons_x[:, np.newaxis], polygons_y[np.newaxis, :])) array([[100., 90., 80., 70., 60.], [ 90., 81., 72., 63., 54.], [ 80., 72., 64., 56., 48.], [ 70., 63., 56., 49., 42.], [ 60., 54., 48., 42., 36.]])
See the documentation for more: https://pygeos.readthedocs.io
References
 GEOS: https://libgeos.org
 Shapely: https://shapely.readthedocs.io/en/latest/
 Numpy ufuncs: https://docs.scipy.org/doc/numpy/reference/ufuncs.html
 Joris van den Bossche’s blogpost: https://jorisvandenbossche.github.io/blog/2017/09/19/geopandascython/
 Matthew Rocklin’s blogpost: http://matthewrocklin.com/blog/work/2017/09/21/acceleratinggeopandas1
Copyright & License
PyGEOS is licensed under BSD 3Clause license. Copyright (c) 2019, Casper van der Wel. GEOS is available under the terms of GNU Lesser General Public License (LGPL) 2.1 at https://libgeos.org.