1.栅格数据
WorldClim是一个高空间分辨率的全球天气和气候数据的数据库。可以从该网站下载天气数据。网址如下:。
下面是12个月份温度统计数据。
2.使用工具raster2pgsql 将栅格数据导入到postgis
首先,生成sql文件。
raster2pgsql -d -I -C -M -F -t 100x100 -s 4326 tmax*.bil public.tmax > tmax.sql
其中,命令参数如下:
然后,执行sql文件。
psql -d postgis_32_sample -U postgres -f tmax.sql
命令中的参数如下:
3.查看表raster_columns信息
SELECT * FROM raster_columns where r_table_name = 'tmax';
在pgAdmin中显示查询结果:
4.查看栅格块元信息
SELECT rid, (foo.md).* FROM (SELECT rid, ST_MetaData(rast) As md FROM public.tmax ) As foo;
在pgAdmin中显示查询结果:
5.统计栅格块数目
SELECT MIN(filename), COUNT(*) AS num_raster FROM public.tmaxGROUP BY filename ORDER BY filename;
在pgAdmin中显示查询结果:
6.统计经度12.49,纬度41.88的地方每个月的平均温度
SELECT REPLACE(REPLACE(filename, 'tmax', ''), '.bil', '') As month,(ST_VALUE(rast, ST_SetSRID(ST_Point(12.49, 41.88),4326))/10) As tmaxtemp From tmax where rid IN (SELECT rid FROM tmax WHERE ST_Intersects(ST_Envelope(rast), ST_SetSRID(ST_Point(12.49, 41.88),4326)))ORDER BY tmaxtemp;
命令中用到的函数如下:
在pgAdmin中显示查询结果: