我看到有一種叫做STUnion()將一種地理型別的結果與另一種地理型別結合起來的東西。但是有可能像聚合函式一樣在整個資料集上做到這一點嗎?
或者如果沒有,是否有等效的性能?
uj5u.com熱心網友回復:
SQL Server 提供了一些關于幾何的聚合方法,包括對超過 2 個形狀進行操作的 UnionAggregate 和 CollectionAggregate。
從UnionAggregate示例:
-- Setup table variable for UnionAggregate example
DECLARE @Geom TABLE
(
shape geometry,
shapeType nvarchar(50)
);
INSERT INTO @Geom(shape,shapeType)
VALUES
('CURVEPOLYGON(CIRCULARSTRING(2 3, 4 1, 6 3, 4 5, 2 3))', 'Circle'),
('POLYGON((1 1, 4 1, 4 5, 1 5, 1 1))', 'Rectangle');
-- Perform UnionAggregate on @Geom.shape column
SELECT geometry::UnionAggregate(shape).ToString()
FROM @Geom;
這產生
CURVEPOLYGON (COMPOUNDCURVE (
(1 1, 4 1, 4.0000000000000071 1.0000000000000218),
CIRCULARSTRING (4.0000000000000071 1.0000000000000218,
5.4142135623730905 1.5857864376269268,
6 3,
5.4142135623730905 4.4142135623730905,
4.0000000000000071 4.9999999999999947),
(4.0000000000000071 4.9999999999999947, 1 5, 1 1))
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454752.html
上一篇:從SQL中洗掉空格和特殊字符
