shapely.frechet_distance#
- frechet_distance(a, b, densify=None, **kwargs)#
Compute the discrete Fréchet distance between two geometries.
The Fréchet 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.
Fréchet distance sweep continuously along their respective curves and the direction of curves is significant. This makes it a better measure of similarity than Hausdorff distance for curve or surface matching.
- 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([(0, 0), (100, 0)]) >>> line2 = LineString([(0, 0), (50, 50), (100, 0)]) >>> shapely.frechet_distance(line1, line2) 70.71067811865476 >>> shapely.frechet_distance(line1, line2, densify=0.5) 50.0 >>> shapely.frechet_distance(line1, LineString()) nan >>> shapely.frechet_distance(line1, None) nan