# Creating GIS NURB Curves for Analysis

I’m
still having some difficulty applying the nurbs library .net to our data. My
spline is defined as:

EDGE_821431:

Knot vector: 0, 0, 0, 0, 0.57351624087487, 0.57351624087487, 1, 1, 1, 1,

Start: 37.7678802732627 -122.405748663195 -27.1726756611392.

Internal Points:

37.7676243108484 -122.405549798135 -26.951927961973,

37.7674507412853 -122.405477146244 -26.494755251341,

37.7669002053626 -122.405412377091 -26.292554533398,

37.7666682800705 -122.405385499246 -25.9765675483037,

End: 37.7664396492698 -122.405323857491 -25.8969367061305.

Using some internal tools, I’ve
determined that the length of this curve should be around 166 meters.

My approach (naive) was to create
a polyline by “walking the curve” in 0.1 increments (parameter space) and
adding up each segment of the polyline. I get around 141m (off by about 15%).
Of course there will be a difference between the polyline approximation and the
“true” length of the curve, but I was hoping for a more accurate value. Do you
have any recommendations?

Assuming your curve is a third degree curve, you should not use the first and last knot in the list you wrote. In the openNURBS library, these so called superfluous knots are not used.

Maybe this can help?

Also, use 0.01 or 0.001 increment and see if the length converges to the “true” length…

Our database has 10 knots in this case, but open nurbs requires 7. I’m not sure which to drop (I get different curves based on which knots I drop.)

my test jig wasn’t wired correctly. Tried order = 3, knots = 8, discarded my (database) first and last and voila - all is well! Even at .1 t, the polyline gets very close. Thanks for your help!

that’s degee = 3.