Estou trabalhando em um projeto espacial de banco de dados no Mysql e estava tentando realizar uma operação de união para um grupo de formas. Estou procurando algo semelhante à função SQL Server UnionAggregate
ou a função PostGIS Spatial AggregateST_Union
por exemplo (no SQL SERVER):
SELECT
geometry::STGeomFromWKB(Shape,27582),
area_code
FROM area_table
WHERE area_code='xxxxxxx';
ST_GeomFromWKB faz o mesmo trabalho no Mysql.
na segunda parte e com a UnionAggregate
função + group by :
select
dbo.UnionAggregate((geometry::STGeomFromWKB(Shape,27582)).MakeValid()),
area_code
FROM area_table
WHERE area_code='xxxxxxx'
GROUP BY area_code;
Como executar uma operação semelhante (agregar + agrupar por) no MySQL?
Encontrei outra alternativa para realizar a agregação de união usando ST_Union . Eu tive alguns problemas porque essa função do Mysql obtém apenas 2 parâmetros como entradas.
Como solução, crio minha própria função da seguinte forma:
Esta função permite uma união agregada sobre formas para cada "código de área", que é o que o UnionAggregate faz e o que eu preciso.