sql 从点中提取线串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 从点中提取线串相关的知识,希望对你有一定的参考价值。

CREATE OR REPLACE FUNCTION LineStringFromPoints(linejsonb JSONB)
  RETURNS geometry AS
$BODY$
DECLARE
  p      geometry;
  i      RECORD;
  srid   INTEGER = 4326;
  points GEOMETRY [];
  str    TEXT;
BEGIN

  FOR i IN SELECT
             cast(t ->> 'lng' AS FLOAT) AS lng,
             cast(t ->> 'lat' AS FLOAT) AS lat
           FROM jsonb_array_elements(linejsonb) t
  LOOP
    points = points || st_makepoint(i.lng, i.lat);
  END LOOP;
  RETURN st_makeline(points);
END;
$BODY$
LANGUAGE PLPGSQL;

以上是关于sql 从点中提取线串的主要内容,如果未能解决你的问题,请参考以下文章

sql 来自jsonb点的PG线串

SQL Server - 地理

从相交的线串计算有界多边形

如何从 BigQuery 中存储的大型线串数据集中查找所有道路交叉口

如何计算 PostGIS 中离线串最近的点?

r - 从数据框中同一行中的两个点创建线串