gpt4 book ai didi

postgresql - 如何处理 raster2pgsql 瓦片?

转载 作者:行者123 更新时间:2023-11-29 11:51:28 25 4
gpt4 key购买 nike

我使用 raster2pgsql 将栅格文件导入到 PostGIS 中,我设置了 -t 50x50,它生成了大约 500 行。我知道这些 -t 将光栅分成小块,并且 rid 可以为它们编制索引。我看到很多示例在 where 子句中使用 rid=2 来指定图 block 。但我的问题是如何处理整个栅格而不是特定的图 block 。例如,当我使用 ST_SummaryStats 时,它会为每个图 block 生成大约 500 行结果的统计信息。当我 ST_Clip 时,它还会为每个图 block 生成大约 500 行的裁剪结果。如何裁剪整个栅格?谢谢!!

最佳答案

我猜 ST_Union是你要找的。您首先需要合并所有图 block ,然后应用您的操作。

示例使用 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)

关于postgresql - 如何处理 raster2pgsql 瓦片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45045189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com