如何在 BigQuery 中使用 ST_UNION
How to use ST_UNION in BigQuery
我在 BigQuery 中有一个 table,名为 project.dataset.table
。此 table 与其他一些列有一个 ourpolygons
列,数据类型为 GEOGRAPHY
.
我正在尝试将 ST_UNION
应用到 ourpolygons
列,以获得多多边形,即所有多边形的并集。 ST_UNION
是 Geography function in BigQuery.
使用 this answer,我试过:
SELECT ST_UNION(ourpolygons) FROM (SELECT ourpolygons FROM `project.dataset.table`) AS multipolig;
我收到错误:
No matching signature for function ST_UNION for argument types: GEOGRAPHY. Supported signatures: ST_UNION(GEOGRAPHY, GEOGRAPHY); ST_UNION(ARRAY<GEOGRAPHY>) at [1:8]
我也试过:
SELECT ST_UNION(ourpolygons) FROM `project.dataset.table` AS multipolig;
报错:
No matching signature for function ST_UNION for argument types: GEOGRAPHY. Supported signatures: ST_UNION(GEOGRAPHY, GEOGRAPHY); ST_UNION(ARRAY<GEOGRAPHY>) at [1:8]
最终,我会将结果放入一个新的 table 中,其中一行:并集。
如何 select 来自现有 table 的所有多边形并创建它们的联合?
您应该使用 ST_UNION_AGG
而不是 ST_UNION
ST_UNION
是在你的 table 中水平地 建立联合:当你有一个包含要转换的地理对象数组的列时成一个或两列要合并为两个的地理对象。
在操作结束时,您的 table 具有相同的行数。
ST_UNION_AGG
是做一个联合垂直:你有一列地理对象,你想聚合成一个(也许每组..)
在操作结束时,您的行已聚合为仅一行(或组数,如果您有 GROUP BY
)
我在 BigQuery 中有一个 table,名为 project.dataset.table
。此 table 与其他一些列有一个 ourpolygons
列,数据类型为 GEOGRAPHY
.
我正在尝试将 ST_UNION
应用到 ourpolygons
列,以获得多多边形,即所有多边形的并集。 ST_UNION
是 Geography function in BigQuery.
使用 this answer,我试过:
SELECT ST_UNION(ourpolygons) FROM (SELECT ourpolygons FROM `project.dataset.table`) AS multipolig;
我收到错误:
No matching signature for function ST_UNION for argument types: GEOGRAPHY. Supported signatures: ST_UNION(GEOGRAPHY, GEOGRAPHY); ST_UNION(ARRAY<GEOGRAPHY>) at [1:8]
我也试过:
SELECT ST_UNION(ourpolygons) FROM `project.dataset.table` AS multipolig;
报错:
No matching signature for function ST_UNION for argument types: GEOGRAPHY. Supported signatures: ST_UNION(GEOGRAPHY, GEOGRAPHY); ST_UNION(ARRAY<GEOGRAPHY>) at [1:8]
最终,我会将结果放入一个新的 table 中,其中一行:并集。
如何 select 来自现有 table 的所有多边形并创建它们的联合?
您应该使用 ST_UNION_AGG
而不是 ST_UNION
ST_UNION
是在你的 table 中水平地 建立联合:当你有一个包含要转换的地理对象数组的列时成一个或两列要合并为两个的地理对象。
在操作结束时,您的 table 具有相同的行数。
ST_UNION_AGG
是做一个联合垂直:你有一列地理对象,你想聚合成一个(也许每组..)
在操作结束时,您的行已聚合为仅一行(或组数,如果您有 GROUP BY
)