Name

ST_NurbsCurveIsRational — Checks if a NURBS curve is rational (has weights).

Synopsis

boolean ST_NurbsCurveIsRational(geometry nurbscurve);

描述

Returns TRUE if the NURBS curve has weights assigned to its control points (rational NURBS), FALSE if it uses uniform weights (non-rational B-spline).

Rational NURBS curves provide more flexibility in curve shape control through variable weights. Non-rational B-splines use uniform weights and are a special case of NURBS curves.

Raises an error if the input is not a NURBS curve. Returns NULL if the input is NULL.

Availability: 3.7.0

示例

This example checks whether a curve is rational.

SELECT ST_NurbsCurveIsRational(ST_MakeNurbsCurve(
                2,
                'LINESTRING(0 0, 5 10, 10 0)'::geometry,
                ARRAY[1.0, 2.0, 1.0]));
t

This example checks a non-rational curve.

SELECT ST_NurbsCurveIsRational('NURBSCURVE(2, (0 0, 5 10, 10 0))'::geometry);
f