# `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.

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

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

`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.

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.

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

Examples

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