我使用raster2pgsql将栅格文件导入到PostGIS中,我设置了-t 50x50,它生成了大约500行。我知道这些-t将栅格分成小块,rid可以对它们进行索引。我见过许多在where子句中使用rid=2来指定磁贴的示例。但我的问题是如何处理整个栅格,而不是特定的瓦片。例如,当我使用ST_SummaryStats时,它为每个平铺生成大约500行结果的统计数据。当I ST_Clip时,它还会为每个平铺生成大约500行的裁剪结果。如何剪裁整个栅格?谢谢!!
发布于 2018-05-03 17:49:17
我猜ST_Union就是你要找的人。您首先需要合并所有的瓦片,然后应用您的操作。
使用ST_SummaryStats的示例。
db=# SELECT ST_SummaryStats(rast) FROM t;
st_summarystats
---------------------------------------------
(100,24638,246.38,14.0176888251951,216,255)
(100,23866,238.66,16.7488626479531,216,255)
(100,22052,220.52,3.85092196752934,218,235)
(100,22495,224.95,10.0173599316387,216,255)
(100,22508,225.08,8.46720733181846,216,255)
(100,22034,220.34,2.08911464501113,218,228)
(100,22113,221.13,2.26121648676105,219,228)
(100,22172,221.72,2.24089267926869,218,228)
(100,22163,221.63,2.11969337405201,219,228)
(100,22332,223.32,2.42024792118494,219,227)
(10 Zeilen)现在使用ST_Union执行相同的操作
db=# SELECT ST_SummaryStats(ST_Union(rast)) FROM t;
st_summarystats
------------------------------------------------
(1000,226373,226.373,11.8122762835958,216,255)
(1 Zeile)对于汇总统计信息,您也可以使用ST_SummaryStatsAgg
db=# SELECT ST_SummaryStatsAgg(rast,1,false) FROM t;
st_summarystatsagg
------------------------------------------------
(1000,226373,226.373,11.8122762835958,216,255)
(1 Zeile)https://stackoverflow.com/questions/45045189
复制相似问题