STLength (тип данных geometry)
Возвращает общую длину элементов в экземпляре geometry.
Синтаксис
.STLength ( )
Типы возвращаемых данных
Возвращаемый тип SQL Server: float
Возвращаемый тип CLR: SqlDouble
Замечания
Если экземпляр geometry закрыт, его длина вычисляется как общая длина пути обхода экземпляра; длина любого многоугольника есть его периметр, а длина точки — 0. Размер любого типа geometry collection находится путем вычисления суммы размеров всех содержащихся в нем экземпляров geometry.
STLength() работает и с допустимыми и с недопустимыми объектами LineString. Обычно LineString является недопустимым вследствие перекрывающихся сегментов, которые могут быть вызваны аномалиями, например неточными трассировками GPS. STLength() не удаляет перекрывающиеся или недопустимые сегменты. Он включает перекрывающиеся и недопустимые сегменты в возвращаемое значение длины. Метод MakeValid() может удалять перекрывающиеся сегменты из LineString.
Примеры
В следующем примере создается экземпляр LineString и метод STLength() получает его длину.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 0, 2 2, 1 0)', 0);
SELECT @g.STLength();