線分と点の最短距離

points=[]
point = QgsPoint()
point.setX(10)
point.setY(10)
points.append(point)
point = QgsPoint()
point.setX(30)
point.setY(20)
points.append(point)
line = QgsLineString()
line.setPoints(points)

point = QgsPoint()
point.setX(15)
point.setY(10)

p = QgsGeometryUtils.closestPoint(line, point)

p
<QgsPoint: Point (14 12)>