根据提供的属性值和采样率,返回布尔值表示该条记录是否被采样。该条记录被采样的概率为参数采样率的值。
语法
BOOLEAN ST_IsRandomSampled(RECORD tuple, INTEGER sample_rate)
参数
参数名称 | 描述 |
tuple | 用来生成哈希值,并根据其值决定该条记录是否被采样。可使用ROW()将一条记录的不同属性值放到一起用来生成哈希值。属性的选取应尽量采用不重复且分布均匀的属性或属性集合。 |
sample_rate | 采样率,决定一条记录被采样的概率。举例:如果sample_rate=50,一条记录有百分之五十的几率被选中采样,即ST_IsRandomSampled对百分之五十的数据会返回true。 |
描述
若该条记录被采样返回true,否则返回false。
被采样的概率由参数sample_rate决定。
函数的返回值是基于参数tuple计算的哈希值和sample_rate计算得到。
对一张表的所有数据调用该函数时,为使被采样的记录条数尽量接近sample_rate和表格记录总数的乘积,参数tuple的值应不重复。
示例
-- 一半的结果是true,另一半是false
SELECT ST_IsRandomSampled(ROW(id), 50) FROM table;
-- 对百分之八十的Geom,计算其面积
SELECT ST_Area(geom) FROM table WHERE ST_IsRandomSampled(ROW(geom), 80);
-- 随机选取一半的Geom,将其转换成MVTGeom
SELECT ST_AsMVTGeom(geom, ST_Transform(ST_TileEnvelope(0,0,0),4326)) FROM table
WHERE ST_IsRandomSampled(ROW(geom), 50) AND geom&&ST_Transform(ST_TileEnvelope(0,0,0),4326));
文档内容是否对您有帮助?