pygeos.measurement
¶
-
pygeos.measurement.
area
(geometry, **kwargs)¶ Computes the area of a (multi)polygon.
- Parameters
geometry : Geometry or array_like
Examples
>>> area(Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))")) 100.0 >>> area(Geometry("MULTIPOLYGON (((0 0, 0 10, 10 10, 0 0)), ((0 0, 0 10, 10 10, 0 0)))")) 100.0 >>> area(Geometry("POLYGON EMPTY")) 0.0 >>> area(None) nan
-
pygeos.measurement.
bounds
(geometry, **kwargs)¶ Computes the bounds (extent) of a geometry.
For each geometry these 4 numbers are returned: min x, min y, max x, max y.
- Parameters
geometry : Geometry or array_like
Examples
>>> bounds(Geometry("POINT (2 3)")).tolist() [2.0, 3.0, 2.0, 3.0] >>> bounds(Geometry("LINESTRING (0 0, 0 2, 3 2)")).tolist() [0.0, 0.0, 3.0, 2.0] >>> bounds(Geometry("POLYGON EMPTY")).tolist() [nan, nan, nan, nan] >>> bounds(None).tolist() [nan, nan, nan, nan]
-
pygeos.measurement.
distance
(a, b, **kwargs)¶ Computes the Cartesian distance between two geometries.
- Parameters
a, b : Geometry or array_like
Examples
>>> point = Geometry("POINT (0 0)") >>> distance(Geometry("POINT (10 0)"), point) 10.0 >>> distance(Geometry("LINESTRING (1 1, 1 -1)"), point) 1.0 >>> distance(Geometry("POLYGON ((3 0, 5 0, 5 5, 3 5, 3 0))"), point) 3.0 >>> distance(Geometry("POINT EMPTY"), point) nan >>> distance(None, point) nan
-
pygeos.measurement.
hausdorff_distance
(a, b, densify=None, **kwargs)¶ Compute the discrete Haussdorf distance between two geometries.
The Haussdorf distance is a measure of similarity: it is the greatest distance between any point in A and the closest point in B. The discrete distance is an approximation of this metric: only vertices are considered. The parameter ‘densify’ makes this approximation less coarse by splitting the line segments between vertices before computing the distance.
- Parameters
a, b : Geometry or array_like
densify : float, array_like or None
The value of densify is required to be between 0 and 1.
Examples
>>> line_1 = Geometry("LINESTRING (130 0, 0 0, 0 150)") >>> line_2 = Geometry("LINESTRING (10 10, 10 150, 130 10)") >>> hausdorff_distance(line_1, line_2) 14.14... >>> hausdorff_distance(line_1, line_2, densify=0.5) 70.0 >>> hausdorff_distance(line_1, Geometry("LINESTRING EMPTY")) nan >>> hausdorff_distance(line_1, None) nan
-
pygeos.measurement.
length
(geometry, **kwargs)¶ Computes the length of a (multi)linestring or polygon perimeter.
- Parameters
geometry : Geometry or array_like
Examples
>>> length(Geometry("LINESTRING (0 0, 0 2, 3 2)")) 5.0 >>> length(Geometry("MULTILINESTRING ((0 0, 1 0), (0 0, 1 0))")) 2.0 >>> length(Geometry("POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))")) 40.0 >>> length(Geometry("LINESTRING EMPTY")) 0.0 >>> length(None) nan
-
pygeos.measurement.
total_bounds
(geometry, **kwargs)¶ Computes the total bounds (extent) of the geometry.
- Parameters
geometry : Geometry or array_like
- Returns
numpy ndarray of [xmin, ymin, xmax, ymax]
>>> total_bounds(Geometry("POINT (2 3)")).tolist()
[2.0, 3.0, 2.0, 3.0]
>>> total_bounds([Geometry("POINT (2 3)"), Geometry("POINT (4 5)")]).tolist()
[2.0, 3.0, 4.0, 5.0]
>>> total_bounds([Geometry("LINESTRING (0 1, 0 2, 3 2)"),Geometry("LINESTRING (4 4, 4 6, 6 7)")]).tolist()
[0.0, 1.0, 6.0, 7.0]
>>> total_bounds(Geometry("POLYGON EMPTY")).tolist()
[nan, nan, nan, nan]
>>> total_bounds([Geometry("POLYGON EMPTY"), Geometry("POINT (2 3)")]).tolist()
[2.0, 3.0, 2.0, 3.0]
>>> total_bounds(None).tolist()
[nan, nan, nan, nan]