sql 来自jsonb点的PG线串

Posted

tags:

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

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 来自jsonb点的PG线串的主要内容,如果未能解决你的问题,请参考以下文章

从结合 SQL 组的 JSONB 数组中聚合不同的值

sql 从点中提取线串

涉及通过 JSONB 传递的数据的查询

pg解析json

展平来自 JSONB 字段的聚合键/值对?

如何加入来自 jsonb 列的嵌套值?