shortest_line(a, b, **kwargs)#

Returns the shortest line between two geometries.

The resulting line consists of two points, representing the nearest points between the geometry pair. The line always starts in the first geometry a and ends in he second geometry b. The endpoints of the line will not necessarily be existing vertices of the input geometries a and b, but can also be a point along a line segment.

aGeometry or array_like
bGeometry or array_like

See NumPy ufunc docs for other keyword arguments.

See also


improve performance by preparing a (the first argument) (for GEOS>=3.9)


>>> from shapely import LineString
>>> line1 = LineString([(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)])
>>> line2 = LineString([(0, 3), (3, 0), (5, 3)])
>>> shortest_line(line1, line2)
<LINESTRING (1 1, 1.5 1.5)>