このトピックでは、ST_IsRandomSampled関数について説明します。 この関数は、指定されたプロパティ値とサンプルレートに基づいてレコードがサンプリングされているかどうかをチェックし、BOOLEAN値を返します。 レコードがサンプリングされる確率は、sample_rateパラメーターの値です。
構文
BOOLEAN ST_IsRandomSampled(RECORD tuple, INTEGER sample_rate)
パラメーター
パラメーター | 説明 |
タプル | レコードのハッシュ値の生成に使用されるプロパティ。 システムは、ハッシュ値に基づいてレコードがサンプリングされるかどうかを判定する。 ROW() を使用して、レコードのさまざまなプロパティに基づいてハッシュ値を生成できます。 選択したプロパティまたはプロパティセットは一意で、均等に分散することを推奨します。 |
sample_rate | サンプルレート。 このパラメータは、レコードがサンプリングされる確率を指定します。 たとえば、sample_rateパラメーターを50に設定すると、レコードがサンプリングされる確率は50% になり、ST_IsRandomSampled関数は、サンプリングされる確率が50% レコードに対してtrueを返します。 |
説明
レコードがサンプリングされると、trueが返されます。 それ以外の場合は、falseが返されます。
レコードがサンプリングされる確率は、sample_rateパラメーターで指定します。
この関数の戻り値は、tupleパラメーターとsample_rateパラメーターの値に基づいて計算されます。
この関数がテーブル内のすべてのデータレコードに対して呼び出される場合、タプルパラメータの値は一意でなければなりません。 これにより、サンプリングされたデータレコードの数が、sample_rateパラメーター値とテーブル内のレコードの総数の積にできるだけ近いことが保証されます。
例
-- 結果を返します。 データレコードの半分に対してtrueが返され、データレコードの残りの半分に対してfalseが返されます。
SELECT ST_IsRandomSampled(ROW(id) 、50) FROMテーブル;
-サンプリングされる可能性が80% ジオメトリの領域を計算します。
SELECT ST_Area(geom) テーブルWHEREからST_IsRandomSampled(ROW(geom) 、80);
-ジオメトリの半分をランダムに選択し、MVTGeomオブジェクトに変換します。
SELECT ST_AsMVTGeom(geom, ST_Transform(ST_TileEnvelope(0,0,0),4326)) テーブルから
WHERE ST_IsRandomSampled(ROW(geom) 、50) およびgeom&&ST_Transform(ST_TileEnvelope(0,0、0) 、4326);