美文网首页GISPostgreSQL开源GIS+空间数据应用
PostGIS数据库中栅格影像的分类提取方法

PostGIS数据库中栅格影像的分类提取方法

作者: 忘我怎么解 | 来源:发表于2019-01-08 09:54 被阅读5次

    1.内容介绍

    基于已经分类的影像数据,利用postgis提取不同类别的像素值个数,并通过albers等面积投影,计算像素值面积。实现影像数据不同类别要素的面积统计分析。

    2.ST_ValueCount提取函数

    该函数返回一个记录集,包括像素值和指定栅格(或栅格覆盖)的指定波段的像素值在一个值集合内的像素个数。如果没有指定波段,那么默认是波段1。默认也不统计值为NODATA的像素。像素值如果不是整数,那么像素值会进行round四舍五入处理得到一个最接近的整数值。
    具体应用如下:

    -- 查询指定范围内栅格,指定波段,指定像素值的数量
    
    SELECT rid, ST_ValueCount(rast,2,100) As count
    FROM test
    WHERE ST_Intersects(rast,
    ST_GeomFromText(’POLYGON((224486 892151,224486 892200,224706 892200,224706
    892151,224486 892151))’,26986)
    );
    

    3.PostGIS存储过程

    具体存储过程如下所示:

    --提取存储过程
    CREATE OR REPLACE FUNCTION sjycount2(band int, pixValue int, region varchar)  
    returns setof record as  
    $BODY$  
    DECLARE  
    rd RECORD;
    asql varchar;  
    BEGIN  
    asql = 'SELECT sum(ST_ValueCount(rast,'''|| band ||''','''|| pixValue ||''')) As count FROM test WHERE ST_Intersects(rast,(select geom from xingzheng where name = '''|| region ||'''));'; 
    EXECUTE asql;
    return;
    END;  
    $BODY$ LANGUAGE plpgsql VOLATILE
    

    相关文章

      网友评论

        本文标题:PostGIS数据库中栅格影像的分类提取方法

        本文链接:https://www.haomeiwen.com/subject/dhtvrqtx.html