このトピックでは、ST_Contour関数について説明します。 この関数は、エリア内のデジタル標高モデル (DEM) データに基づいて輪郭を生成します。
構文
set of record ST_Contour(
raster rast,
integer band,
cstring contourOptions);パラメーター
パラメーター | 説明 |
rast | ラスタオブジェクト。バンドが1つしかないデジタル標高モデル (DEM) である必要があります。 |
band | 0から始まるバンド番号。 |
contourOptions | 輪郭の生成に使用されるフィールド。 |
次の表に、contourOptionsパラメーターのフィールドを示します。
フィールド | 説明 | データ型 | デフォルト | 補足 |
level_base | 輪郭値の開始。 | float | 0.0 | None |
fixed_level | 輪郭間の間隔を指定します。 値は浮動小数点数の配列です。 | float array | None | fixed_levelフィールドを指定した場合、intervalフィールドは無視できます。 |
interval | 輪郭の間隔。 | float | None | None |
polygonize | 出力コンターのタイプ。 | bool | false | 作成する輪郭のタイプ。
|
nodata | nodata値。 | float | -1.0 | None |
説明
この関数は、指定されたラスターオブジェクトとバンド番号に基づいて輪郭を生成します。
戻り値には、次のフィールドが含まれます。
id: 輪郭線または平面のシーケンス番号。
max_value: 輪郭線または平面の最大値。
min_value: 輪郭線または平面の最小値。
geom: 等高線または平面のジオメトリオブジェクト。
例
-- If the interval field is specified, a contour line is returned.
select (ST_Contour(rast,0,'{"interval":"2.0"}')).* from raster_table where id =1;
-- If the interval field is set to an array, a polygon is returned.
select (ST_Contour(rast,0,'{"fixed_level":[1,5,10,15,20,30],"polygonize":"true"}')).* from raster_table where id =1;
-- If the nodata field is specified, a polygon is returned.
select (ST_Contour(rast,0,'{"interval":"5","nodata":"0.0","level_base":"1.0","polygonize":"true"}')).* from raster_table where id =1;