Shapely

from shapely.errors import ShapelyDeprecationWarning

warnings.filterwarnings("ignore", category=ShapelyDeprecationWarning) 

from shapely.geometry import LineString, Polygon

from shapely.ops import nearest_points, substring


line = LineString([(0, 0), (1, 1)]) # x, y

line = LineString([(0, 2), (1, 3)])

line = LineString([(-1, 0), (1, 0)])

line = LineString([(179, 0), (-179, 0)])


reversed_line = substring(line, 1, 0, normalized=True)


line.interpolate(1) # Interpolate at given distance along the line


pt = Point([0, 1]) # x, y


pt.wkt


polygon = Polygon(((0., 0.), (0., 1.), (1., 1.), (1., 0.), (0., 0.)))

polygon = Polygon(((0., 0.), (0., 30.), (30., 30.), (30., 0.), (0., 0.)))