我有一个shapefile,其中包含多面体和一个光栅文件。我想要的是提取与相应多边形相交的像素的计数,中位数,均值,最小值和最大值并逐行汇总值
为此,我正在使用以下代码:
CREATE TABLE <some_table_name> AS
SELECT ply.*,
(St_SummaryStats(St_Union(ST_Clip(rast,1,geom, true)))).*
FROM <shapefile_name> AS ply
,<raster_filename>
WHERE st_intersects(rast,geom)
GROUP BY gid;
但是在执行此操作时,出现此错误:
ERROR: column "count" specified more than once
SQL state: 42701
此外,如果我删除了创建表的初始查询,则会得到如下输出:
重复计数,最小值,最大值和其他统计信息列。
我想摆脱这些重复的列,我也想创建表。
答案 0 :(得分:1)
问题在于ply
和函数st_summarystats
都有一个名为count
的列,因此新表将有两个具有相同名称的列,这是不可能的。 / p>
您必须使用不同的列名称。最简单的方法是显式指定列名称:
CREATE TABLE some_table (colname1, colname2, ...)
AS SELECT ...
要摆脱不需要的列,请指定所需的列而不是*
。