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