MapplMath.GetLengthToNearestPointOnPolyline

Модуль: MapplMath

Найти расстояние до ближайшей точки на полилинии

Объявление

function GetLengthToNearestPointOnPolyline(pBuf: PDoublePoint;
	 n0,Count,oType: integer; x,y,Delta: double; var LastPointNumber: integer;
	 var aResultX,aResultY,aDistance,aLength: double;
	 aConstrainMode: TConstrainMode;
	 aCheckVertexMode: TCheckVertexMode = cvmVertexSnap;
	 MaxSearchRadius: double = -1): integer;

Параметры

pBuf
указатель на буфер точек полилинии
n0
номер начальной точки полилинии в буфере
Count
количество точек полилинии в буфере
oType
тип полилинии (0 - полигон, 1 - полилиния)
x
координата исходной точки по горизонтали
y
координата исходной точки по вертикали
Delta
погрешность поиска
LastPointNumber
номер начальной узловой точки отрезка, на котором найдена ближайшая точка на полилинии (возвращаемый параметр)
aResultX
координата ближайшей точки на полилинии по горизонтали (возвращаемый параметр)
aResultY
координата ближайшей точки на полилинии по вертикали (возвращаемый параметр)
aDistance
расстояние до ближайшей точки на полилинии (возвращаемый параметр)
aLength
расстояние вдоль полилинии от точки с номером n0 в буфере до ближайшей точки на полилинии (возвращаемый параметр)
aConstrainMode
режим ограничения начальной точки на нормали границами отрезка линии
aCheckVertexMode
вариант поиска узловых точек, по умолчанию cvmVertexSnap

Возвращает

<0
ближайшая точка на полилинии не найдена
0
ближайшая точка на полилинии найдена и совпадает с узловой точкой
1
ближайшая точка на полилинии найдена и находится на отрезке между узловыми точками

Описание

Искомая точка может как совпадать с одной из узловых точек, так и находиться на отрезке между узловыми точками (номер начальной точки отрезка - LastPointNumber)

Смотри также

GetNearestPointOfLine
Найти ближайшую точку на линии
GetNearestPointOnPolyline
Найти ближайшую точку на полилинии
GetNearestPointOnPolylineInt
Найти ближайшую точку на полилинии, заданной целочисленными координатами
GetLengthToNearestPointOnPolyline
Найти расстояние до ближайшей точки на полилинии