STLength (geometry Data Type)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric

Returns the total length of the elements in a geometry instance.

Syntax

  
.STLength ( )  

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Return Types

SQL Server return type: float

CLR return type: SqlDouble

Remarks

If a geometry instance is closed, its length is calculated as the total length around the instance; the length of any polygon is its perimeter and the length of a point is 0. The length of any geometrycollection type is the sum of the lengths of its contained geometry instances.

STLength() works on both valid and invalid LineStrings. Typically a LineString is invalid due to overlapping segments, which may be caused by anomalies such as inaccurate GPS traces. STLength() does not remove overlapping or invalid segments. It includes overlapping and invalid segments in the length value that it returns. The MakeValid() method can remove overlapping segments from a LineString.

Examples

The following example creates a LineString instance and uses STLength() to find the length of the instance.

DECLARE @g geometry;  
SET @g = geometry::STGeomFromText('LINESTRING(0 0, 2 2, 1 0)', 0);  
SELECT @g.STLength();  

See Also

OGC Methods on Geometry Instances