Метод SqlGeometry.Reduce (Double)
Возвращает приближенное значение для указанного экземпляра SqlGeometry, полученное путем выполнения алгоритма Дугласа-Пекера (Douglas-Peucker) для экземпляра с заданным допуском.
Пространство имен: Microsoft.SqlServer.Types
Сборка: Microsoft.SqlServer.Types (в Microsoft.SqlServer.Types.dll)
Синтаксис
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
public SqlGeometry Reduce(
double tolerance
)
public:
[SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)]
SqlGeometry^ Reduce(
double tolerance
)
[<SqlMethodAttribute(IsDeterministic = true, IsPrecise = false)>]
member Reduce :
tolerance:float -> SqlGeometry
<SqlMethodAttribute(IsDeterministic := True, IsPrecise := False)>
Public Function Reduce (
tolerance As Double
) As SqlGeometry
Параметры
tolerance
Type: System.DoubleЗначение типа double, представляющее погрешность, передаваемую в алгоритм Дугласа-Пекера.
Возвращаемое значение
Type: Microsoft.SqlServer.Types.SqlGeometry
Объект SqlGeometry, представляющий приближение вызывающего объекта SqlGeometry с заданной погрешностью.
Комментарии
Для типов коллекции этот алгоритм работает независимо для каждого экземпляра SqlGeometry, содержащегося в экземпляре.
Этот алгоритм не изменяет экземпляры точки.
Для экземпляров LineString алгоритм Дугласа-Пекера сохраняет исходные начальную и конечную точки экземпляра и итеративно выполняет суммирование в обратном направлении — от точки, начиная с которой исходный экземпляр в наибольшей степени отклоняется от результата, до точки, в которой отклонение становится меньше заданного допуска.
Для экземпляров Polygon алгоритм Дугласа-Пекера применяется независимо к каждому кольцу. Метод получит FormatException Если возвращаемый экземпляр многоугольника не является допустимым; например, недопустимый MultiPolygon создается экземпляр, если Reduce применяется для упрощения каждого кольца в экземпляре, но результирующие кольца перекрываются.
См. также
Класс SqlGeometry
Пространство имен Microsoft.SqlServer.Types
Вернуться в начало