shapely.linearrings#
- linearrings(coords, y=None, z=None, indices=None, handle_nan=HandleNaN.allow, out=None, **kwargs)#
Create an array of linearrings.
If the provided coords do not constitute a closed linestring, or if there are only 3 provided coords, the first coordinate is duplicated at the end to close the ring. This function will raise an exception if a linearring contains less than three points or if the terminal coordinates contain NaN (not-a-number).
- Parameters:
- coordsarray_like
An array of lists of coordinate tuples (2- or 3-dimensional) or, if
y
is provided, an array of lists of x coordinates- yarray_like, optional
- zarray_like, optional
- indicesarray_like, optional
Indices into the target array where input coordinates belong. If provided, the coords should be 2D with shape (N, 2) or (N, 3) and indices should be an array of shape (N,) with integers in increasing order. Missing indices result in a ValueError unless
out
is provided, in which case the original value inout
is kept.- handle_nanshapely.HandleNaN or {‘allow’, ‘skip’, ‘error’}, default ‘allow’
Specifies what to do when a NaN or Inf is encountered in the coordinates:
‘allow’: the geometries are created with NaN or Inf coordinates. Note that this can result in unexpected behaviour in subsequent operations, and generally it is discouraged to have non-finite coordinate values. One can use this option if you know all coordinates are finite and want to avoid the overhead of checking for this.
‘skip’: the coordinate pairs where any of x, y or z values are NaN or Inf are ignored. If this results in ignoring all coordinates for one geometry, an empty geometry is created.
‘error’: if any NaN or Inf is detected in the coordinates, a ValueError is raised. This option ensures that the created geometries have all finite coordinate values.
Added in version 2.1.0.
- outndarray, optional
An array (with dtype object) to output the geometries into.
- **kwargs
See NumPy ufunc docs for other keyword arguments. Ignored if
indices
is provided.
See also
Notes
Usage of the
y
andz
arguments will prevents lazy evaluation indask
. Instead provide the coordinates as a(..., 2)
or(..., 3)
array using onlycoords
.
Examples
>>> linearrings([[0, 0], [0, 1], [1, 1], [0, 0]]) <LINEARRING (0 0, 0 1, 1 1, 0 0)> >>> linearrings([[0, 0], [0, 1], [1, 1]]) <LINEARRING (0 0, 0 1, 1 1, 0 0)>