Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PostGIS功能将几何图形线连接在一起?_Php_Function_Postgresql_Postgis - Fatal编程技术网

Php PostGIS功能将几何图形线连接在一起?

Php PostGIS功能将几何图形线连接在一起?,php,function,postgresql,postgis,Php,Function,Postgresql,Postgis,(注意:_geom是一个几何值(类型:LINESTRING),在本例中,为了可读性,我对它们进行了随机设置) [真实练习描述]对于那些不介意目的的人,请跳过这个 我想这样做(一组来自我过去问题的查询,链接 位于这篇文章的末尾),用于表B(aka)中的每一行。 土地(库存)。这两个表通过“ctrl_sec_no”关联 (又名道路控制段编号)这意味着::在一条道路上 ctrl_sec_no--120802(事实上,这是一条相当于3 从kstart 238(从238公里处开始)到kend 250,连接

(注意:_geom是一个几何值(类型:LINESTRING),在本例中,为了可读性,我对它们进行了随机设置)

[真实练习描述]对于那些不介意目的的人,请跳过这个

我想这样做(一组来自我过去问题的查询,链接 位于这篇文章的末尾),用于表B(aka)中的每一行。 土地(库存)。这两个表通过“ctrl_sec_no”关联 (又名道路控制段编号)这意味着::在一条道路上 ctrl_sec_no--120802(事实上,这是一条相当于3 从kstart 238(从238公里处开始)到kend 250,连接在一起的几何线串(_geom)

[问题]

问题是如何使用PostGIS函数(无论什么)将这3行{aka gid(6266384037)从表}连接在一起,并产生“theu sum_geom”(最初为NULL)。之后,我们将使用这个“求和”来找到这个几何线串上的点


()

您要查找的函数是,您需要将其与聚合表单一起使用:

update mytable set the_sum_geom = 
ST_LineMerge( ( select ST_Union(the_geom) from mytable where ctrl_sec_no  = 120802 ) )
where ctrl_sec_no = 120802;

使用,您可以将多行转换为线字符串,但需要注意的是,如果无法合并多行,它将返回多行而不进行任何修改。查看文档以了解ST_LineMerge可以做什么或不能做什么。

如果我们使用ST_UNION,返回的值将是一个LINESTRING,我希望结果是一个LINESTRING。
update mytable set the_sum_geom = 
ST_LineMerge( ( select ST_Union(the_geom) from mytable where ctrl_sec_no  = 120802 ) )
where ctrl_sec_no = 120802;