Smooth Polylines

Running programmatically

Smooth the features of a polyline layer using three different smoothing algorithms

Inputs:

Outputs:

Notes :

Examples:

Smooth results: Dashed - Original; Red - Bezier; Green - B-Spline; Blue- T-Spline (Default parameters)

smooth1.jpg (23756 bytes)

Bezier

smooth-bezier.jpg (12123 bytes)

B-Spline

smooth-b.jpg (14957 bytes)

T-Spline

smooth-t.jpg (15435 bytes)

Running Programmatically

(Go to TOP)

Parameters

Expression Explanation
Function Name SmoothBezier
Function Name SmoothBSpline
Function Name SmoothTSpline
<input dataset> A String representing the input layer. Must be of Polyline type.
<output dataset> A String - the full name of the output layer.
<Smoothness> An Integer that defines the number of points in the output curve. The allowed values ( 2 to 20 ) in fact are point multiplier. The number of vertices of the original polyline multiplied by this value will give the number of vertices of the smoothed polyline. The larger the value of the parameter, the slower the process will be.
<Freedom> Only for B-Spline. An Integer that defines how close to the original polyline the curve will be. The allowed values are from 3 to 10. Smaller values give better approximation. With large values the curve will become very similar to Bezier curve
<Tension> Only for T-Spline. An Integer that defines how close to the original polyline the curve will be. Increasing the tension is similar to pulling on the ends of a string constrained to pass through the polyline vertices. allowed values are from 1 to 100.
{Densify Before} A Double representing the Densification tolerance. In some cases the smooth parameters cannot restrict the smoothing enough. The user can restrict the effect of the smoothing by introducing new vertices in the shapes. See Densify function for details
{Generalize After} A Double representing the Generalization tolerance. The smoothing introduces in the shapes many new vertices. The user can decrease the number of vertices by using this option. See Generalize function for details.

Running the function

ETGWPath used in the table below is the full path to ETGWRun.exe (E.G. "C:\Program Files\ETSpatial Techniques\ETGeo Wizards\ETGWRun.exe")

SmoothBezier

Language Syntax
Python subprocess.call([ETGWPath, "SmoothBezier", "input dataset", "output dataset", "Smoothness", "Densify Before", "Generalize After"])
.NET using ETGWRun.exe StartInfo.FileName = ETGWPath
StartInfo.Arguments = "SmoothBezier" "input dataset" "output dataset" "Smoothness" "Densify Before" "Generalize After"
.NET using ETGWOutX.dll SmoothBezier(input dataset, output dataset, Smoothness, Densify Before, Generalize After)
ArcPy arcpy.SmoothBezier(input dataset, output dataset, "Smoothness" , "Densify Before", "Generalize After")

SmoothBSpline

Language Syntax
Python subprocess.call([ETGWPath, "SmoothBSpline", "input dataset", "output dataset", "Smoothness", "Freedom", "Densify Before", "Generalize After"])
.NET using ETGWRun.exe StartInfo.FileName = ETGWPath
StartInfo.Arguments = "SmoothBSpline" "input dataset" "output dataset" "Smoothness" "Freedom" "Densify Before" "Generalize After"
.NET using ETGWOutX.dll SmoothBSpline(input dataset, output dataset, Smoothness, Freedom, Densify Before, Generalize After)
ArcPy arcpy.SmoothBSpline(input dataset, output dataset, "Smoothness" , "Freedom", "Densify Before", "Generalize After")

SmoothTSpline

Language Syntax
Python subprocess.call([ETGWPath, "SmoothTSpline", "input dataset", "output dataset", "Smoothness", "Tension", "Densify Before", "Generalize After"])
.NET using ETGWRun.exe StartInfo.FileName = ETGWPath
StartInfo.Arguments = "SmoothTSpline" "input dataset" "output dataset" "Smoothness" "Tension" "Densify Before" "Generalize After"
.NET using ETGWOutX.dll SmoothTSpline(input dataset, output dataset, Smoothness, Tension, Densify Before, Generalize After)
ArcPy arcpy.SmoothTSpline(input dataset, output dataset, "Smoothness" , "Tension", "Densify Before", "Generalize After")

Notes:

(Go to TOP)