沿PostGIS中的折线提取栅格像素值

时间:2018-12-20 10:27:59

标签: sql postgis raster polyline

我有一个PostGIS数据库,其中的表包含栅格,我想在特定时间沿多段线(任意数量的坐标点)提取像素值。所以目标是:

  1. 在给定折线和时间戳的情况下选择相关的图块
  2. 返回折线所交叉的所有像素的值

因此,每个输出行将包含一个坐标对和相应的像素值。

从我到目前为止的搜索中,我知道我还是

  1. 将线转换为栅格,然后进行相交,或者
  2. 将栅格转换为矢量,然后进行相交

但是,我无法将发现的一些例子应用于我的案子。有人可以提示吗?

栅格表称为air_temperature,相关列为rasttimestamp。我了解到我可以提供适当的几何形状,例如"st_transform(st_setsrid(st_geomfromtext('MULTILINESTRING ((7.294832 52.697831, 7.294074 52.698534))'), 4326), 3857)"

我认为我可以通过以下方式选择相关的图块和时间戳:

where st_intersects(st_transform(st_setsrid(st_geomfromtext('MULTILINESTRING ((7.294832 52.697831, 7.294074 52.698534))'), 4326), 3857), rast) and timestamp='2017-01-01 01:00:00'

但是select部分的外观如何?

1 个答案:

答案 0 :(得分:0)

我想,您应该upload your rasters进入数据库,而不是employ st_value()来提取像素带。这将比将栅格转换为几何并进行进一步处理要快,但是缺点是您很可能只能分析线顶点(而不是每个点)。