Most methods to spline sequences of numbers will spline polygons. The trick is to make the splines "close up" smoothly at the endpoints. To do this, "wrap" the vertices around the ends. Then spline the x- and y-coordinates separately.
Here is a working example in R. It uses the default cubic spline procedure available in the basic statistics package. ...
Yes, there are such algorithms (see for example here, there and here) but since you seem to have only one single road, would it not be easier to do it by hand? (!). Using for example QGIS, you could import your GPS traces, create a new layer, digitalise the centerline of the bundle, and then export it in whatever format.
This is 1 year too late, and my apologies for starting this with a question.
Do you happen to work on geographic coordinates (latitude-longitude) such as WGS84 ?
[This answer is assuming you are on Lat-Lon environment. Otherwise please wave this off...]
I suppose Spline Tool is a great tool, but it was probably designed for projected Xm-Ym coordinate ...
The answer of the GDAL developer Even Rouault really helped me giving the correct direction.
Knowing that this is numerical instability case, and knowing (from my CFD experience) that instability can be caused by very small values in data, I analyzed my control points. I constructed TIN, calculated distances between GCP and found that 2 points by mistake ...
In QGIS enable the CAD Tools Extension/Plugin and the are spline tools that can create 'pure' arcs and splines.
Description of each CAD Tool Function
ArcScene is great for displaying 3D data and 3D analyst has some good 3D geoprocessing capabilities but as far as 3D editing goes it is VERY limited. You can construct 3D lines programmatically with ArcObjects but since ArcScene is not a true 3D editing environment you will not be able to create a 3D object, cross sections, vertical slices or manually ...
The following model will achieve what you require:
Your screen shot shows fields SAMPLE 1 to 9 so set the For iterator to this.
Convert your lat/long into an event layer which feeds into the Spline tool. Note the use of in-line substitution to create the field name that will be the Z field. The same is used to create unique output raster names.
Evans, Jeffrey S.; Hudak, Andrew T. 2007. A multiscale curvature algorithm for classifying discrete return LiDAR in forested environments. IEEE Transactions on Geoscience and Remote Sensing. 45(4): 1029-1038.
Look on Table II (page 1034). The authors tested different interpolation methods to define the best way to classify ground returns with their ...
You have quite a bit of residual ground vegetation. I have found that with filters that have adjustable parameters (eg., MCC) often a second pass filter with a change in model parameters can remove much of this ground vegetation. Generally, the first pass has parameters more appropriate for identifying objects such as trees. As such, objects with different ...
Have you seen this Q&A? You should upload an image and explain your data a bit more, for example are the tracks:
Vertices that make up the track regularly sampled distances or do they vary with time?
Has the data been truncated to some area of interest or do they just randomly start/stop?
What GIS system and license level are you using?
I would imagine ...
I know this is an old post, but it showed up on Google for something I was looking for, so I thought I'd post my solution.
I don't see this as a 2D curve fitting exercise, but rather a 3D one. By considering the data as 3D we can ensure that the curves never cross one another, and can use information from other contours to improve our estimate for the ...
What you need to do is to separate a part of your input points (at least 10% of your data), then with the 90% data interpolate your variable (in your case spline with barriers).
After that you must validate your results using RMSE for example, save the 10% of your data in a new shapefile and use extract values to points in the toolbox (spatial analyst->...
You can easily calculate root mean square error (RMSE) for any Spatial Analyst interpolation method. Here's how I would do it:
Add two extra fields to your point layer, and call them something like: interpolation and SqDeviation
Run the interpolator of your choice to create the new surface (IDW, Kriging, Nearest Neighbor, etc.).
Run the tool "Extract ...
Depending on the type of spline, it is most likely a special case of Radial Basis function interpolation but RDF is theoretically equivalent to one of the forms of kriging. With RBF you get an interpolating function, with kriging the interpolating function is implied but not explicitly given.
With kriging you can use a moving search neighborhood but not ...
As commented by @ziggy:
check this function out
https://postgis.net/docs/ST_ApproximateMedialAxis.html you will have
to enable or create the SFCGAL extension to use it
i think the function comes from this library http://sfcgal.org/
One of the more robust approaches to generating curved polygons for large datasets is to use PostGIS with some sort of smoothing function. PostGIS 2.5 has Chaikin smoothing but I have not tried this out yet.
What has worked for me is using the custom function CreateCurve documented here and then creating a VIEW in PostGIS based on the virtual layer (SQL) ...
You can try LiDAR360 software.
As the picture shown below, the density of ground points is 0.4 per square meter:
Generate DEM, there are three interpolation methods, IDW, TIN and Kriging.
Convert DEM to LiModel for 3D visualization and editing.
You can select area of interest using polygon selection, lasso selection, screen selection, or shp selection, ...
See ?raster::interpolate (the examples show the use of thin plate splines).
There are additional interpolation examples at rspatial.org, including a thin plate spline example towards the end of this page: http://www.rspatial.org/analysis/rst/4-interpolation.html
Based on those examples you can perhaps rephrase your question.
You don't seem to have any layers loaded, that's why it's greyed out.
I've not used this tool myself, but it seems you need to
select a vector layer,
set it to edit mode.
Once you've done that, then the plugin's toolbar icon will activate, and you can use it to edit your lines. If you need to change the settings, it's under Vector > Digitize Spline > ...
If I understand your question correctly, the gulf is part of an island and you want to contain interpolation to that region. It appears you're using a polygon of the island as the bounding feature, which is why interpolation continues out of the gulf and around the island. You could just clip your output raster to the desired area around the gulf and be done ...
To convert raster to vector with preselected pixel values follow this steps (Spatial Analyst license required):
1) Use Raster Calculator with expression (replace raster_layer, 10500 and 10000 to your values):
Con(( "raster_layer" <= 10500 ) & ( "raster_layer" >= 10000), 1, SetNull( "raster_layer", "raster_layer", "NOT VALUE IS NULL" ))
Spline interpolation requires point feature class as an input to do interpolation. You can not use polygon or raster (as mentioned in you question) as an input to the spline tool. You need to have point data with z_field (numeric field).
You could always try to copy and paste the created spline/polyline onto another layer and save it that way.
The plugin ArcheoCAD could also help, that is supposed to be able to join up points with curved lines.
I normally use the freehand tool to do it freehand, if you are good with a mouse then it works well. The lines end up a bit untidy when you look at ...
I don't think that interpolation between points, unless you have really good coverage will work for minerals age. It seems that proximity polygons inside individual areas will do better job. With spare coverage it is worth to consider methods developed by Hutchinson (Australian university), where cotinious raster of something helps interpolate values at XY ...
I wrote almost exactly the package you are looking for... but it was in Perl, and was over a decade ago: GD::Polyline. It used 2D cubic Bezier curves, and would "smooth" an arbitrary Polygon or "Polyline" (my name then for what is now commonly called a "LineString").
The algorithm was two steps: given the points in the Polygon, add two Bezier control ...