You are here:
Geoprocessing tool reference
>
Data Management toolbox
>
Generalization toolset
>
Tools
Simplifies a line by removing small fluctuations or extraneous bends from it while preserving its essential shape.
Learn more about how Simplify Line works
Illustration
Usage tips
-
The tool will produce two output feature classes, a line feature class and a point feature class. The line output will store all the simplified lines; and the point output will store points, if any, representing closed lines that are collapsed to zero-length as the result of simplification and cannot be written to the line output. Once the line output is specified, the point output will be automatically derived taking the same output location and the line output name plus a suffix, _Pnt.
-
The line output will carry all the input fields. The point output will not.
-
Significant differences between the two algorithms:
- POINT_REMOVE is a fast, simple algorithm that reduces a line quite effectively by removing redundant points, such as overdigitized vertices; however, the angularity of the resulting line will increase significantly as the tolerance increases so the line may become aesthetically unpleasing. Use POINT_REMOVE for data compression or a relatively low degree of simplification.
- BEND_SIMPLIFY applies advanced techniques to detect bends along a line, analyze their characteristics, and eliminate insignificant ones. It takes longer to process than POINT_REMOVE, but the resulting line is more faithful to the original and shows better aesthetic quality.
-
Handling topological errors - three levels of processes by the combinations of the two parameters or the two checkbox options as described below:
- NO_CHECK (or having the checkbox for "Check for topological errors" unchecked): Both algorithms may introduce topological errors to the simplified results. If you are not concerned about the topological errors or if you know your data has little chance to result in topological errors, then use this option.
- FLAG_ERRORS option along with the CHECK option (or having the checkbox for "Resolve topological errors" unchecked and the checkbox for "Check for topological errors" checked): This combinatino of options detects topological errors possibly introduced by simplification. The line output will contain two new fields, InLine_FID and SimLnFlag. The InLine_FID field carries the feature IDs of the input lines; the SimLnFlag flags lines with a value of 1 indicating topological errors or a value of 0 indicating no errors.
- RESOLVE_ERRORS along with the CHECK option (or having the checkbox for "Resolve topological errors" checked and the checkbox for "Check for topological errors" checked): Use this combination of options if the input lines are congested in some areas, such as narrow, double-line rivers, winding roads, and so on, and you want to avoid topological errors in the result of simplification. The processing time will be longer than the above options, but you will receive a "clean" output with information about the simplified lines. The tolerance you specified may be good for majority lines but not for the ones in the congested areas. When a topological error is detected after the first round of simplification, the involved line segments (not the entire lines) will be located, and a reduced tolerance, 50 percent of that previously used, will be applied to re-simplify these segments. This iteration will repeat as many times as needed until no more topological errors are found. The line output feature class will contain the same number of lines as in the input, and it will have two new fields, MaxSimpTol and MinSimpTol, which store the maximum and minimum tolerances actually used in simplifying each line through the iterations. If no errors are introduced, the values of MaxSimpTol and MinSimpTol will be the same as the specified simplification tolerance.
Both FLAG_ERRORS and RESOLVE_ERRORS options preserve shared geometry, including shared lines and connections.
A small feature on one side of a line can end up to the other side due to a relatively large simplification_tolerance. This spatial relationship error will not be detected by the program.
-
The "Keep collapsed points" checkbox or the collapsed_point parameter only applies to the NO_CHECK and FLAG_ERRORS options for handling topological errors.
- With NO_CHECK option, if this checkbox is checked or if KEEP_COLLAPSED_POINT is specified, any collapsed points will be stored in the point output.
- With FLAG_ERRORS option, if this checkbox is checked or if KEEP_COLLAPSED_POINT is specified, the point output will contain a new field InLine_FID to link the collapsed points to their input lines.
- If an input line contains multiparts and one of the parts becomes a collapsed point, the point representing that part will also be included in the point output.
-
The point output will be empty in the following cases:
- The "Keep collapsed points" checkbox is unchecked on the tool dialog or the NO_KEEP option is specified.
- The "Keep collapsed points" checkbox is checked on the tool dialog or the KEEP_COLLAPSED_POINT option is specified, but no lines are collapsed to points during simplification.
- RESOLVE_ERRORS is specified for handling topological errors; therefore, no lines will be collapsed (any collapsed lines will be restored).
-
Learn more about spatial reference and geoprocessing
-
The following environment settings affect this tool: XY tolerance, Extent, M domain, Coordinate system, Output has M values, Output has Z values, Default Z value, Output XY domain, workspace, and scratch workspace.
Command line syntax
An overview of the Command Line window
SimplifyLine_management <in_features> <out_feature_class> <POINT_REMOVE | BEND_SIMPLIFY> <tolerance> {FLAG_ERRORS | RESOLVE_ERRORS} {KEEP_COLLAPSED_POINTS | NO_KEEP} {CHECK | NO_CHECK}
<in_features> |
The line features to be simplified.
|
Feature Layer |
<out_feature_class> |
The output line feature class to be created.
|
Feature Class |
<POINT_REMOVE | BEND_SIMPLIFY> |
Specifies the line simplification algorithm.
- POINT_REMOVE —
Keeps the so-called critical points that depict the essential shape of a line and removes all other points. This is the default.
- BEND_SIMPLIFY —
Keeps the main shape of a line and removes extraneous bends.
|
String |
<tolerance> |
The tolerance that determines the degree of simplification. A tolerance must be specified, and it must be greater than zero. You can specify a preferred unit; the default is the feature unit.
- For POINT_REMOVE algorithm, the tolerance you specify is the maximum allowable offset.
- For BEND_SIMPLIFY algorithm, the tolerance you specify is the length of the reference bend baseline.
|
Linear unit |
{FLAG_ERRORS | RESOLVE_ERRORS} |
Specifies how the topological errors (possibly introduced in the process, including line crossing, line overlapping, and collapsed zero-length lines) will be handled. This parameter will be in effect when the error_checking_option is CHECK (the default).
- FLAG_ERRORS —
Specifies to flag topological errors, if any are found. This is the default.
- RESOLVE_ERRORS —
Specifies to resolve topological errors, if any are found.
|
String |
{KEEP_COLLAPSED_POINTS | NO_KEEP} |
Specifies whether to keep collapsed zero-length lines as points if any are found in the process. This option applies only when NO_CHECK is specified or when both FLAG_ERRORS and CHECK options are specified.
- KEEP_COLLAPSED_POINTS —
Specifies to keep the collapsed zero-length lines as points. The endpoints of the collapsed lines will be stored in a point feature class at the output feature class location, taking the name of the output feature class plus a suffix _Pnt. This is the default.
- NO_KEEP —
Specifies not to keep the collapsed zero-length lines as points even if they are found in the process; therefore, the point feature class will be empty.
|
Boolean |
{CHECK | NO_CHECK} |
Specifies how the topological errors (possibly introduced in the process, including line crossing, line overlapping, and collapsed zero-length lines) will be handled.
- CHECK —
Specifies to check for topological errors and puts the error_resolving_option parameter in effect. This is the default.
- NO_CHECK —
Specifies not to check for topological errors and disables the error_resolving_option parameter.
|
String |
Data types for geoprocessing tool parameters
Command line example
simplifyline c:\workspace.mdb\roads c:\workspace.mdb\newroads POINT_REMOVE 5
Scripting syntax
About getting started with writing geoprocessing scripts
SimplifyLine_management (in_features, out_feature_class, algorithm, tolerance, error_resolving_option, collapsed_point_option, error_checking_option)
in_features (Required) |
The line features to be simplified.
|
Feature Layer |
out_feature_class (Required) |
The output line feature class to be created.
|
Feature Class |
algorithm (Required) |
Specifies the line simplification algorithm.
- POINT_REMOVE —
Keeps the so-called critical points that depict the essential shape of a line and removes all other points. This is the default.
- BEND_SIMPLIFY —
Keeps the main shape of a line and removes extraneous bends.
|
String |
tolerance (Required) |
The tolerance that determines the degree of simplification. A tolerance must be specified, and it must be greater than zero. You can specify a preferred unit; the default is the feature unit.
- For POINT_REMOVE algorithm, the tolerance you specify is the maximum allowable offset.
- For BEND_SIMPLIFY algorithm, the tolerance you specify is the length of the reference bend baseline.
|
Linear unit |
error_resolving_option (Optional) |
Specifies how the topological errors (possibly introduced in the process, including line crossing, line overlapping, and collapsed zero-length lines) will be handled. This parameter will be in effect when the error_checking_option is CHECK (the default).
- FLAG_ERRORS —
Specifies to flag topological errors, if any are found. This is the default.
- RESOLVE_ERRORS —
Specifies to resolve topological errors, if any are found.
|
String |
collapsed_point_option (Optional) |
Specifies whether to keep collapsed zero-length lines as points if any are found in the process. This option applies only when NO_CHECK is specified or when both FLAG_ERRORS and CHECK options are specified.
- KEEP_COLLAPSED_POINTS —
Specifies to keep the collapsed zero-length lines as points. The endpoints of the collapsed lines will be stored in a point feature class at the output feature class location, taking the name of the output feature class plus a suffix _Pnt. This is the default.
- NO_KEEP —
Specifies not to keep the collapsed zero-length lines as points even if they are found in the process; therefore, the point feature class will be empty.
|
Boolean |
error_checking_option (Optional) |
Specifies how the topological errors (possibly introduced in the process, including line crossing, line overlapping, and collapsed zero-length lines) will be handled.
- CHECK —
Specifies to check for topological errors and puts the error_resolving_option parameter in effect. This is the default.
- NO_CHECK —
Specifies not to check for topological errors and disables the error_resolving_option parameter.
|
String |
Data types for geoprocessing tool parameters
Script example
# Simplifying rivers followed by smoothing rivers
import arcgisscripting
gp = arcgisscripting.create()
# Set the workspace
gp.workspace = "d:/data/mapDB.mdb/hydrography"
# Simplifying rivers followed by smoothing rivers
gp.simplifyline("rivers", "rivers_simplified", "BEND_SIMPLIFY", "80", "RESOLVE_ERRORS")
gp.smoothline("rivers_simplified", "rivers_smoothed", "PAEK", "150")
Please visit the
Feedback page to comment or give suggestions on ArcGIS Desktop Help.
Copyright © Environmental Systems Research Institute, Inc.