pygeos.coordinates
¶
-
pygeos.coordinates.
apply
(geometry, transformation)¶ Returns a copy of a geometry array with a function applied to its coordinates.
All returned geometries will be two-dimensional; the third dimension will be discarded, if present.
- Parameters
geometry : Geometry or array_like
transformation : function
A function that transforms a (N, 2) ndarray of float64 to another (N, 2) ndarray of float64.
Examples
>>> apply(Geometry("POINT (0 0)"), lambda x: x + 1) <pygeos.Geometry POINT (1 1)> >>> apply(Geometry("LINESTRING (2 2, 4 4)"), lambda x: x * [2, 3]) <pygeos.Geometry LINESTRING (4 6, 8 12)> >>> apply(None, lambda x: x) is None True >>> apply([Geometry("POINT (0 0)"), None], lambda x: x).tolist() [<pygeos.Geometry POINT (0 0)>, None]
-
pygeos.coordinates.
count_coordinates
(geometry)¶ Counts the number of coordinate pairs in a geometry array.
- Parameters
geometry : Geometry or array_like
Examples
>>> count_coordinates(Geometry("POINT (0 0)")) 1 >>> count_coordinates(Geometry("LINESTRING (2 2, 4 4)")) 2 >>> count_coordinates(None) 0 >>> count_coordinates([Geometry("POINT (0 0)"), None]) 1
-
pygeos.coordinates.
get_coordinates
(geometry)¶ Gets coordinates from a geometry array as an array of floats.
The shape of the returned array is (N, 2), with N being the number of coordinate pairs. Three-dimensional data is ignored.
- Parameters
geometry : Geometry or array_like
Examples
>>> get_coordinates(Geometry("POINT (0 0)")).tolist() [[0.0, 0.0]] >>> get_coordinates(Geometry("LINESTRING (2 2, 4 4)")).tolist() [[2.0, 2.0], [4.0, 4.0]] >>> get_coordinates(None) array([], shape=(0, 2), dtype=float64)
-
pygeos.coordinates.
set_coordinates
(geometry, coordinates)¶ Returns a copy of a geometry array with different coordinates.
All returned geometries will be two-dimensional; the third dimension will be discarded, if present.
- Parameters
geometry : Geometry or array_like
coordinates: array_like
Examples
>>> set_coordinates(Geometry("POINT (0 0)"), [[1, 1]]) <pygeos.Geometry POINT (1 1)> >>> set_coordinates([Geometry("POINT (0 0)"), Geometry("LINESTRING (0 0, 0 0)")], [[1, 2], [3, 4], [5, 6]]).tolist() [<pygeos.Geometry POINT (1 2)>, <pygeos.Geometry LINESTRING (3 4, 5 6)>] >>> set_coordinates([None, Geometry("POINT (0 0)")], [[1, 2]]).tolist() [None, <pygeos.Geometry POINT (1 2)>]