ST_Aggr_Union

ПримечаниеПримечание:

ST_Geometry только для Oracle

Определение

Функция ST_Aggr_Union возвращает один объект ST_Geometry, который представляет объединение всех входных геометрий.

Синтаксис

sde.st_aggr_union(g1 sde.st_geometry)

Тип возврата

ST_Geometry

Пример

Аналитик рынка должен создать одну геометрию всех областей обслуживания, для которых продажи превысили 1000 штук.

CREATE TABLE service_territories 
(ID integer, UNITS number, SHAPE sde.st_geometry);

INSERT INTO service_territories VALUES (
1, 
1250,
sde.st_polygon ('polygon ((20 30, 30 30, 30 40, 20 40, 20 30))', 0)
);
 
INSERT INTO service_territories VALUES (
2, 
875,
sde.st_polygon ('polygon ((30 30, 30 50, 50 50, 50 30, 30 30))', 0)
);
 
INSERT INTO service_territories VALUES (
3, 
1700,
sde.st_polygon ('polygon ((40 40, 40 60, 60 60, 60 40, 40 40))', 0)
);

Инструкция SELECT возвращает мультиполигон, который является объединением всех фигур, для которых объем продаж больше или равен 1000 штук.

SELECT sde.st_astext(sde.st_aggr_union(shape)) UNION_SHAPE
FROM service_territories WHERE units >= 1000;

UNION_SHAPE

MULTIPOLYGON  ((( 20.00000000 30.00000000, 30.00000000 30.00000000, 30.00000000
40.00000000, 20.00000000 40.00000000, 20.00000000 30.00000000)),(( 40.00000000 40.00000000, 
60.00000000 40.00000000, 60.00000000 60.00000000, 40.00000000 60.00000000, 
40.00000000 40.00000000)))
12/10/2012