Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_LINELOCATEPOINT

📄字数 587
👁️阅读量 加载中...

功能描述

返回指定点在线串上的位置,即:点的位置与线长度的比率。

语法格式

sql
DOUBLE ST_LINELOCATEPOINT(GEOMETRY a_linestring, GEOMETRY a_point);
DOUBLE ST_LINELOCATEPOINT(GEOGRAPHY a_linestring, GEOGRAPHY a_point, BOOLEAN use_spheroid = true);

参数说明

  • a_linestring: 目标 LINESTRING 对象。
  • a_point:目标 POINT 对象。
  • use_spheroid:距离测量是否使用椭球体,可选,默认:TRUE。
    • TRUE:使用椭球体。
    • FALSE:在球面上进行测量,计算更快。

函数返回类型

DOUBLEY 类型

使用说明

  1. 可以使用返回的位置来提取点 (ST_LINEINTERPOLATEPOINT) 或子字符串 (ST_LINESUBSTRING)。
  2. 该函数在估算地址数量时很有用。

示例

查找 LINESTRING 到 POINT 的最近的点:

sql
SQL> SELECT TO_CHAR(ST_AsText(ST_LineInterpolatePoint(foo.the_line, ST_LineLocatePoint(foo.the_line, ST_GeomFromText('POINT(4 3)')))))
          FROM (SELECT ST_GeomFromText('LINESTRING(1 2, 4 5, 6 7)') As the_line) As foo;

+------------+
|   EXPR1    |
+------------+
| POINT(3 4) |
+------------+