Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
返回 ST_Curve 值的长度测量值。结果的测量单位通过 unit-name 参数指定。
curve-expression.ST_Length([ unit-name])
unit-name
VARCHAR(128)
长度计算单位。缺省值为空间参照系的单位。单位名称必须与 ST_UNITS_OF_MEASURE 视图中 UNIT_TYPE 为 'LINEAR' 的行的 UNIT_NAME 列匹配。
DOUBLE 如果曲线是空集,则返回 NULL。否则返回以指定单位表示的曲线长度。
ST_Length 方法返回以通过 unit-name 参数确定的单位表示的曲线长度。如果曲线为空,则返回 NULL。
如果曲线包含 Z 值,计算几何长度时不考虑这些值。
如果 curve-expression 是空几何 (ST_IsEmpty()=1),则此方法返回 NULL。
缺省情况下,如果几何的原始格式可用,ST_Length 将使用该格式。否则使用内部格式。有关内部和原始格式的详细信息,请参见STORAGE FORMAT 子句,CREATE SPATIAL REFERENCE SYSTEM 语句。
SQL/MM (ISO/IEC 13249-3: 2006) 2006) 7.1.2
以下示例返回结果 [2]。
2
SELECT NEW ST_LineString( 'LineString(1 0, 1 1, 2 1)' ).ST_Length()
以下示例创建表示半圆的圆弧线串,并使用 ST_Length 确定几何长度,返回值 PI。
SELECT NEW ST_CircularString( 'CircularString( 0 0, 1 1, 2 0 )' ).ST_Length()
以下示例创建表示从加拿大诺瓦斯克提亚省哈利法克斯到加拿大安大略省沃特卢的路径的线串,并使用 ST_Length 确定该路径以米表示的长度,返回结果 [1361967.76789]。
1361967.76789
SELECT NEW ST_LineString( 'LineString( -63.573566 44.646244, -80.522372 43.465187 )', 4326 ) .ST_Length()
以下示例创建空线串,并使用 ST_Length 确定几何长度。该示例返回 NULL。
begin declare @curve ST_Curve; set @curve = NEW ST_LineString('LineString EMPTY'); SELECT @curve.ST_Length('metre'); end
以下示例创建线串和示例测量单位 (example_unit_halfmetre)。ST_Length 方法确定以此测量单位表示的几何长度,返回值 4.0。
begin declare @curve ST_Curve; CREATE SPATIAL UNIT OF MEASURE IF NOT EXISTS "example_unit_halfmetre" TYPE LINEAR CONVERT USING .5; set @curve = NEW ST_LineString( 'LineString(1 0, 1 1, 2 1)' ) ; SELECT @curve.ST_Length('example_unit_halfmetre'); end