1
Postgis数据库查询优化
我有一组DTED格式的栅格,可以使用raster2pgsql命令行工具将其加载到PostGIS数据库中。 每个栅格都简单地存储在一行中,并由rid和一个栅格格式的值来描述。 现在,我想创建一个数据库函数,该函数接受点的经度和纬度,并返回与该点相对应的像素值。 我的问题是,由于数据库在Odroid板上工作,因此需要花费很多时间(3-4秒)。 我知道我处理的数据集很大(栅格覆盖了整个英国地区),但是由于我对PostgreSQL和PostGIS不太熟悉,我怀疑它可以更快地完成。 到目前为止,这是我所做的: SELECT ST_Value(rast, ST_GeomFromText(CONCAT('POINT(', $1, ' ', $2, ')'), 4326)) FROM ( SELECT * FROM rasters WHERE rast && ST_GeomFromText(CONCAT('POINT(', $1, ' ', $2, ')'), 4326) ) x; $1和$2分别为long和lat。