【问题标题】:how to deal with raster2pgsql tiles?如何处理 raster2pgsql 瓷砖?
【发布时间】:2017-12-16 03:27:52
【问题描述】:

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

【问题讨论】:

    标签: postgresql postgis postgis-raster


    【解决方案1】:

    我猜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)
    

    【讨论】:

      猜你喜欢
      • 2012-06-30
      • 2013-01-07
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多