ST_NurbsCurveIsRational — NURBS曲線が有理である (重みをもつ)かを調べます。
boolean ST_NurbsCurveIsRational(geometry nurbscurve);
NURBS曲線がその制御点に重みが割り当てられている場合にはTRUEを返します。一様の重みが使われている場合 (非有理Bスプラインの場合)にはFALSEを返します。
有理NURBS曲線は、曲線形状で可変の重み付けによって、より柔軟になります。非有理Bスプラインでは一様の重みを使うもので、NURBS曲線の特別な場合です。
入力がNURBS曲線でない場合にはエラーが発生します。入力がNULLの場合にはNULLを返します。
Availability: 3.7.0
この例では曲線が有理であるかどうかを調べます。
SELECT ST_NurbsCurveIsRational(ST_MakeNurbsCurve(
2,
'LINESTRING(0 0, 5 10, 10 0)'::geometry,
ARRAY[1.0, 2.0, 1.0]));
t
この例では非有利な曲線を調べます。
SELECT ST_NurbsCurveIsRational('NURBSCURVE(2, (0 0, 5 10, 10 0))'::geometry);
f