我正在 Mysql 中开发一个 DB-spacial 项目,我试图对一组形状执行联合操作。我正在寻找类似于 SQL Server 函数UnionAggregate
或 PostGIS 空间聚合函数的东西ST_Union
例如(在 SQL SERVER 中):
SELECT
geometry::STGeomFromWKB(Shape,27582),
area_code
FROM area_table
WHERE area_code='xxxxxxx';
ST_GeomFromWKB 在 Mysql 中做同样的工作。
在第二部分和UnionAggregate
函数 + group by 中:
select
dbo.UnionAggregate((geometry::STGeomFromWKB(Shape,27582)).MakeValid()),
area_code
FROM area_table
WHERE area_code='xxxxxxx'
GROUP BY area_code;
如何在 MySQL 中执行类似的操作(聚合+分组)?
我找到了另一种使用ST_Union执行联合聚合的方法。我有一些问题导致这个 Mysql 函数只获得 2 个参数作为输入。
作为解决方案,我创建了自己的函数,如下所示:
此函数为每个“区号”启用形状的聚合联合,这是 UnionAggregate 所做的,也是我需要的。