Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
将几何转换为线串。
geometry-expression.ST_ToLineString()
ST_LineString 如果 geometry-expression 的类型为 ST_LineString,则返回 geometry-expression。如果 geometry-expression 的类型为 ST_CircularString 或 ST_CompoundCurve,则返回 geometry-expression.ST_CurveToLine()。如果 geometry-expression 为几何集合,且其中单个元素的类型为 ST_Curve,则返回转换为 ST_LineString 类型的该元素。如果 geometry-expression 为空集,则返回类型为 ST_LineString 的空集。否则,将抛出一个异常条件。
结果的空间参照系标识符与 geometry-expression 的空间参照系标识符相同。
将几何转换为线串。逻辑等效于 CAST( geometry-expression AS ST_LineString ) 所使用的逻辑。如果 geometry-expression 为圆弧线串或复合曲线,则使用 ST_CurveToLine() 将其内插到线串。
如果已知 geometry-expression 为一个 ST_LineString 值,则使用 TREAT( geometry-expression AS ST_LineString ) 方法要比使用 ST_ToLineString 方法更为有效。
缺省情况下,如果几何的原始格式可用,ST_ToLineString 将使用该格式。否则使用内部格式。有关内部和原始格式的详细信息,请参见STORAGE FORMAT 子句,CREATE SPATIAL REFERENCE SYSTEM 语句。
SQL/MM (ISO/IEC 13249-3: 2006) 5.1.33
以下示例将返回错误,因为 Shape 列的类型为 ST_Geometry,而 ST_Geometry 不支持 ST_Length 方法。
SELECT Shape.ST_Length() FROM SpatialShapes WHERE ShapeID = 5
以下示例使用 ST_ToLineString 将 Shape 列表达式的类型更改为 ST_LineString。ST_Length 返回结果 [7]。
7
SELECT Shape.ST_ToLineString().ST_Length() FROM SpatialShapes WHERE ShapeID = 5
在此情况下,已知 Shape 列值的类型为 ST_LineString,因此可以使用 TREAT 有效地更改表达式的类型。ST_Length 返回结果 [7]。
SELECT TREAT( Shape AS ST_LineString ).ST_Length() FROM SpatialShapes WHERE ShapeID = 5