pygeos.geometry

pygeos.geometry.get_coordinate_dimensions(geometry)

Returns the dimensionality of the coordinates in a geometry (2 or 3).

Returns -1 for not-a-geometry values.

Parameters

geometry : Geometry or array_like

Examples

>>> get_coordinate_dimensions(Geometry("POINT (0 0)"))
2
>>> get_coordinate_dimensions(Geometry("POINT Z (0 0 0)"))
3
>>> get_coordinate_dimensions(None)
-1
pygeos.geometry.get_dimensions(geometry)

Returns the inherent dimensionality of a geometry.

The inherent dimension is 0 for points, 1 for linestrings and linearrings, and 2 for polygons. For geometrycollections it is the max of the containing elements. Empty and None geometries return -1.

Parameters

geometry : Geometry or array_like

Examples

>>> get_dimensions(Geometry("POINT (0 0)"))
0
>>> get_dimensions(Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))"))
2
>>> get_dimensions(Geometry("GEOMETRYCOLLECTION (POINT(0 0), LINESTRING(0 0, 1 1))"))
1
>>> get_dimensions(Geometry("GEOMETRYCOLLECTION EMPTY"))
-1
>>> get_dimensions(None)
-1
pygeos.geometry.get_exterior_ring(geometry)

Returns the exterior ring of a polygon.

Parameters

geometry : Geometry or array_like

Examples

>>> get_exterior_ring(Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))"))
<pygeos.Geometry LINEARRING (0 0, 0 10, 10 10, 10 0, 0 0)>
>>> get_exterior_ring(Geometry("POINT (1 1)")) is None
True
pygeos.geometry.get_geometry(geometry, index)

Returns the nth geometry from a collection of geometries.

Parameters

geometry : Geometry or array_like

index : int or array_like

Negative values count from the end of the collection backwards.

Notes

  • simple geometries act as length-1 collections

  • out-of-range values return None

Examples

>>> multipoint = Geometry("MULTIPOINT (0 0, 1 1, 2 2, 3 3)")
>>> get_geometry(multipoint, 1)
<pygeos.Geometry POINT (1 1)>
>>> get_geometry(multipoint, -1)
<pygeos.Geometry POINT (3 3)>
>>> get_geometry(multipoint, 5) is None
True
>>> get_geometry(Geometry("POINT (1 1)"), 0)
<pygeos.Geometry POINT (1 1)>
>>> get_geometry(Geometry("POINT (1 1)"), 1) is None
True
pygeos.geometry.get_interior_ring(geometry, index)

Returns the nth interior ring of a polygon.

Parameters

geometry : Geometry or array_like

index : int or array_like

Negative values count from the end of the interior rings backwards.

Examples

>>> polygon_with_hole = Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0), (2 2, 2 4, 4 4, 4 2, 2 2))")
>>> get_interior_ring(polygon_with_hole, 0)
<pygeos.Geometry LINEARRING (2 2, 2 4, 4 4, 4 2, 2 2)>
>>> get_interior_ring(Geometry("POINT (1 1)"), 0) is None
True
pygeos.geometry.get_num_coordinates(geometry)

Returns the total number of coordinates in a geometry.

Returns -1 for not-a-geometry values.

Parameters

geometry : Geometry or array_like

Examples

>>> get_num_coordinates(Geometry("POINT (0 0)"))
1
>>> get_num_coordinates(Geometry("POINT Z (0 0 0)"))
1
>>> get_num_coordinates(Geometry("GEOMETRYCOLLECTION (POINT(0 0), LINESTRING(0 0, 1 1))"))
3
>>> get_num_coordinates(None)
-1
pygeos.geometry.get_num_geometries(geometry)

Returns number of geometries in a collection.

Parameters

geometry : Geometry or array_like

The number of geometries in points, linestrings, linearrings and polygons equals one.

Examples

>>> get_num_geometries(Geometry("MULTIPOINT (0 0, 1 1, 2 2, 3 3)"))
4
>>> get_num_geometries(Geometry("POINT (1 1)"))
1
pygeos.geometry.get_num_interior_rings(geometry)

Returns number of internal rings in a polygon

Parameters

geometry : Geometry or array_like

The number of interior rings in non-polygons equals zero.

Examples

>>> polygon = Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))")
>>> get_num_interior_rings(polygon)
0
>>> polygon_with_hole = Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0), (2 2, 2 4, 4 4, 4 2, 2 2))")
>>> get_num_interior_rings(polygon_with_hole)
1
>>> get_num_interior_rings(Geometry("POINT (1 1)"))
0
pygeos.geometry.get_num_points(geometry)

Returns number of points in a linestring or linearring.

Parameters

geometry : Geometry or array_like

The number of points in geometries other than linestring or linearring equals zero.

Examples

>>> line = Geometry("LINESTRING (0 0, 1 1, 2 2, 3 3)")
>>> get_num_points(line)
4
>>> get_num_points(Geometry("MULTIPOINT (0 0, 1 1, 2 2, 3 3)"))
0
pygeos.geometry.get_point(geometry, index)

Returns the nth point of a linestring or linearring.

Parameters

geometry : Geometry or array_like

index : int or array_like

Negative values count from the end of the linestring backwards.

See also

get_num_points

Examples

>>> line = Geometry("LINESTRING (0 0, 1 1, 2 2, 3 3)")
>>> get_point(line, 1)
<pygeos.Geometry POINT (1 1)>
>>> get_point(line, -2)
<pygeos.Geometry POINT (2 2)>
>>> get_point(line, [0, 3]).tolist()
[<pygeos.Geometry POINT (0 0)>, <pygeos.Geometry POINT (3 3)>]
>>> get_point(Geometry("LINEARRING (0 0, 1 1, 2 2, 0 0)"), 1)
<pygeos.Geometry POINT (1 1)>
>>> get_point(Geometry("MULTIPOINT (0 0, 1 1, 2 2, 3 3)"), 1) is None
True
>>> get_point(Geometry("POINT (1 1)"), 0) is None
True
pygeos.geometry.get_srid(geometry)

Returns the SRID of a geometry.

Returns -1 for not-a-geometry values.

Parameters

geometry : Geometry or array_like

See also

set_srid

Examples

>>> point = Geometry("POINT (0 0)")
>>> with_srid = set_srid(point, 4326)
>>> get_srid(point)
0
>>> get_srid(with_srid)
4326
pygeos.geometry.get_type_id(geometry)

Returns the type ID of a geometry.

  • None is -1

  • POINT is 0

  • LINESTRING is 1

  • LINEARRING is 2

  • POLYGON is 3

  • MULTIPOINT is 4

  • MULTILINESTRING is 5

  • MULTIPOLYGON is 6

  • GEOMETRYCOLLECTION is 7

Parameters

geometry : Geometry or array_like

See also

GeometryType

Examples

>>> get_type_id(Geometry("LINESTRING (0 0, 1 1, 2 2, 3 3)"))
1
>>> get_type_id([Geometry("POINT (1 2)"), Geometry("POINT (1 2)")]).tolist()
[0, 0]
pygeos.geometry.get_x(point)

Returns the x-coordinate of a point

Parameters

point : Geometry or array_like

Non-point geometries will result in NaN being returned.

See also

get_y

Examples

>>> get_x(Geometry("POINT (1 2)"))
1.0
>>> get_x(Geometry("MULTIPOINT (1 1, 1 2)"))
nan
pygeos.geometry.get_y(point)

Returns the y-coordinate of a point

Parameters

point : Geometry or array_like

Non-point geometries will result in NaN being returned.

See also

get_x

Examples

>>> get_y(Geometry("POINT (1 2)"))
2.0
>>> get_y(Geometry("MULTIPOINT (1 1, 1 2)"))
nan
pygeos.geometry.set_srid(geometry, srid)

Returns a geometry with its SRID set.

Parameters

geometry : Geometry or array_like

srid : int

See also

get_srid

Examples

>>> point = Geometry("POINT (0 0)")
>>> with_srid = set_srid(point, 4326)
>>> get_srid(point)
0
>>> get_srid(with_srid)
4326