MapplMath.GetNearestPointOnPolylineExt
Модуль: MapplMath
Найти ближайшую точку на полилинии с учетом положения исходной точки относительно полилинии, размера строба полилинии и расстояния от ее начала
Объявление
function GetNearestPointOnPolylineExt(pBuf: PDoublePoint;
n0,Count,oType,aSide: integer; aSideDelta: double; x,y: double;
aStrobeWidth,aMinLength: double; flOutOfStrobeBreak: boolean;
var LastPointNumber: integer;
var aResultX,aResultY,aDistance,aLength: double; flCheckRealSide: boolean;
flYDirection: boolean = true): integer;
Параметры
pBuf
- указатель на буфер точек полигона
n0
- номер начальной точки полилинии в буфере
- Count
- количество точек полилинии в буфере
oType
- тип полилинии (0 - полигон, 1 - полилиния)
aSide
- положение исходной точки относительно линии (0 - не анализировать, -1 - слева по ходу движения вдоль линии,
aSideDelta
- максимальное расстояние, на котором исходная точка считается принадлежащей линии
x
- координата исходной точки по горизонтали
y
- координата исходной точки по вертикали
aStrobeWidth
- ширина строба, в котором должна находиться исходная точка
aMinLength
- минимальная длина от начала линии, на которой должна находиться найденная ближайшая точка на линии
flOutOfStrobeBreak
- флаг прекращения работы, если исходная точка находится вне строба очередного отрезка полилинии
LastPointNumber
- номер начальной узловой точки отрезка, на котором найдена ближайшая точка на полилинии (возвращаемый параметр)
aResultX
- координата ближайшей точки на полилинии по горизонтали (возвращаемый параметр)
aResultY
- координата ближайшей точки на полилинии по вертикали (возвращаемый параметр)
aDistance
- расстояние до ближайшей точки на полилинии (возвращаемый параметр)
aLength
- расстояние вдоль полилинии от точки с номером n0 в буфере до ближайшей точки на полилинии (возвращаемый параметр)
flCheckRealSide
- флаг учета совпадения реального положения точки относительно полилинии заданному
- flYDirection
- направление увеличения Y координаты (true - вверх, false - вниз), для карты и по умолчанию true
Возвращает
- -2
- ближайшая точка на полилинии, удовлетворяющая всем условиям, не найдена
- -1
- ближайшая точка на полилинии, удовлетворяющая условиям, не найдена, но существует точка в стробе, но
- 0
- ближайшая точка на полилинии найдена
Описание
1 - справа по ходу движения вдоль линии) (для слоя предельно минимальное расстояние определяется свойством компонента LayerCoordAccuracy, а для карты - MapCoordAccuracy минимальная длина от начала линии меньше заданной
Смотри также
- GetNearestPointOfLine
- Найти ближайшую точку на линии
- GetNearestPointOnPolyline
- Найти ближайшую точку на полилинии
- GetNearestPointOnPolylineInt
- Найти ближайшую точку на полилинии, заданной целочисленными координатами
- GetLengthToNearestPointOnPolyline
- Найти расстояние до ближайшей точки на полилинии