shapely.hausdorff_distance

shapely.hausdorff_distance#

hausdorff_distance(a, b, densify=None, **kwargs)#

Compute the discrete, undirected Hausdorff distance between two geometries.

The Hausdorff 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.

This implementation is undirected or symmetric Hausdorff, meaning that the distance from A to B is the same as from B to A.

Parameters:
a, bGeometry or array_like

Geometry or geometries to compute the distance between.

densifyfloat or array_like, optional

The value of densify is required to be between 0 and 1.

**kwargs

See NumPy ufunc docs for other keyword arguments.

Examples

>>> import shapely
>>> from shapely import LineString
>>> line1 = LineString([(130, 0), (0, 0), (0, 150)])
>>> line2 = LineString([(10, 10), (10, 150), (130, 10)])
>>> shapely.hausdorff_distance(line1, line2)
14.142135623730951
>>> shapely.hausdorff_distance(line1, line2, densify=0.5)
70.0
>>> shapely.hausdorff_distance(line1, LineString())
nan
>>> shapely.hausdorff_distance(line1, None)
nan