Optimize Linestrings Command

D_OptimizeLinestrings_64 Optimize Linestrings Command

COMMAND LICENSING AND DEFAULT MENU LOCATIONS
  • The Optimize Linestrings command is part of the RPS Modeling Toolbox.
  • The command is located on the Modeling macros menu ribbon.
  • The command is located in the Corridor menu group.
COMMAND DESCRIPTION

Converts chorded linework into optimized curvilinear linestrings in both horizontal and vertical components for use in stringless paving and to improve 3D models for corridors and site projects. The command can also be used with looser tolerances to optimize chorded linework extracted from PDF Vector files. The improved linework will be faster and easier / more accurate to work with for Takeoff computations and quantities.

COMMAND HISTORY

Update Information

COMMAND SHORTCUT

If you are utilizing the RPS Custom Menu Ribbon: CTRL+6 will open the command.

VIDEO DEMONSTRATION

The following video shows how to utilize the Optimize Linestrings command:

SETUP AND CONFIGURATION

Command Interface Description

The Optimize Linestrings command dialog looks as follows:

The Optimization Process

The optimization process allows you to optimize the selected lines either horizontally, vertically, or both. If both horizontal and vertical optimizations are selected, the horizontal optimization is run first and the vertical optimization second in all cases.

Optimize Horizontal:
In the horizontal optimization process, the command fits arc curve geometry to chorded line geometry. The processor looks at sequences of points to determine which points lie on curved sections of a line versus straight sections of a line, determines where the start and end points of the elements are likely to be, and then derives arcs of computed radii that best fit the source line within the defined Maximum Offset (Arc) or Maximum Offset (Line) tolerance.

The process will significantly reduce the number of nodes in the resulting lines and should replicate the designer’s intent.

The results will, however, depend heavily on the source data and how it was created, how well the chorded lines reflect the original CAD linework in terms of where tangent points, etc., are present / absent, and how many points exist on the chorded curve sections of the source lines to determine whether or not an arc can be computed.

Where the source lines were generated along a corridor model, the source alignment may have included arcs, straights, and spirals. Offset lines from a spiral cannot be a spiral, so the optimizer will fit a series of decreasing- or increasing-radius arcs to create a curvilinear line.

Note: There are three types of lines that we may want to optimize. Each of the three types will have quite different behaviors in terms of the tolerances that will be required to create the best results.

Surveyed Lines - These will have some error in position and elevation based on the survey method and equipment used. For example, GPS data will have more “noise” in the points than Total Station data, and whether or not the GPS had Tilt Sensor correction will determine how much positional error you will have in the linear features that were surveyed.

Where no tilt control is available, the verticality of the rod and the adjustment of the rod bubble will dictate the amount of error that will be encountered with the measured data. Handheld rod data can be in error by up to 0.2 to 0.3’ (0.06 to 0.09 m).

Another factor with surveyed lines is the distance between the measured points. Points that are of this type of accuracy and are close together, e.g., 6-8’ or 2-3 m, are harder to optimize because the +/- location errors at each point can create sequences of points that could be interpreted as arcs or straights.

We recommend that you measure at least 5 points on arc sections and points at least 5 to 10 m apart on straight sections unless there is a height / elevation that you need to pick up for a high, low, or grade break point. The arc optimization requires more than 3 points to compute the best arcs.

PDF Vector Lines - PDF files are not as accurate as CAD files. While straight lines and arcs are “well represented,” you will often find offsets between straight and arc sections of the same line. The errors can be in the realm of 0.2 to 0.3’ (0.06 to 0.09 m). Arcs in PDF are always represented as chorded lines; the chording, however, should be relatively consistent within each arc.

Design Lines - These may be chorded lines computed by a design system for linear features. The nodes on these lines should be very accurate and therefore can be processed with much tighter accuracies.

To help process survey data with the optimizer, we have added an Arc and Line tolerance for the horizontal optimization process. You can use these in combination with the Maximum Radius value to limit arcs with large radii from being formed along straight sections of the lines.

Optimize Vertical:
In the vertical optimization process, the command will fit small vertical curves to chorded profile geometry where the break angle between the inbound and outbound slopes of two adjacent segments exceeds a specified break angle.

The optimizer also looks at the shape of the horizontal geometry to find angular breaks greater than a specified angle and will not create a vertical curve at sharp breaks in the horizontal geometry. This process step is designed to prohibit the creation of vertical curves at corners of parking lot islands, e.g., at the rear of a parking bay where the parking bay slope meets the long slope of the parking lot, at which point you would expect a sharp transition in slope.

The optimizer will also strip out vertical controls on long sloping sections of lines where the additional vertical nodes do not alter the shape of the profile.

The vertical optimization tolerance controls include a minimum angle (slope break) below which a vertical curve will not be inserted, a maximum offset to limit the deviation of the new vertical curve from the elevation of the VPI point at which it is being placed, and a maximum length to prohibit the creation of long vertical curves.

If you do find examples of lines that do not work, please email them to us at info@rockpilesolutions.com so we can further enhance this optimization process to cover more variants of data.

Optimize Horizontal checkbox:
Check this checkbox if you wish to optimize the horizontal geometry of the selected lines.

Maximum Offset (Line):
Enter the maximum offset that you will allow the optimized linestrings to deviate from the source line nodes in straight sections. The larger the value you enter here, the smoother the geometry will be, but the looser it will fit to the source line nodes. The tighter the tolerance, the greater the number of elements that may be required to fit the source line nodes, but the closer the optimized line will fit the source data.

Note: CAD or LandXML type linework can typically be fitted with a tight tolerance of, e.g., 0.01’ (0.003 m), whereas PDF-extracted linework may need a looser tolerance of, e.g., 0.05’ (0.015 m) or 0.1’ (0.030 m). Each data set will be different, so you may need to try a tight tolerance first and, if it produces undesirable results, try again with a slightly looser tolerance until you find the appropriate setting for the data that you are working with.

Maximum Offset (Arc):
Enter the maximum offset that you will allow the optimized linestrings to deviate from the source line nodes in arc sections. The larger the value you enter here, the smoother the geometry will be, but the looser it will fit to the source line nodes. The tighter the tolerance, the greater the number of elements that may be required to fit the source line nodes, but the closer the optimized line will fit the source data.

Note: CAD or LandXML type linework can typically be fitted with a tight tolerance of, e.g., 0.01’ (0.003 m), whereas PDF-extracted linework may need a looser tolerance of, e.g., 0.05’ (0.015 m) or 0.1’ (0.030 m). Each data set will be different, so you may need to try a tight tolerance first and, if it produces undesirable results, try again with a slightly looser tolerance until you find the appropriate setting for the data that you are working with.

Note: If you set a loose line tolerance and a tight arc tolerance, you will end up with straight segments around the arcs of the lines. If you set a loose arc tolerance and a tight line tolerance, you will end up with more arcs in the straight sections of the lines.

You may want to use the line vertices filtering process in the Convert to Linestring command prior to running the optimizer on surveyed lines to reduce the number of vertices you are processing and improve optimizer performance.

You may also want to run the optimization process twice on a line, first to fit the arcs and second to fit the straight sections. You can do that by setting one tolerance tight and the other tolerance loose, etc.

If you are not sure what settings to use, set them both the same and you will have the same performance as earlier versions of the optimizer.

Maximum Radius:
Sometimes, when you look at three points in a line, they may have slight deviations between them that can be determined to be on a very large radius versus on a straight segment of a line. In this case, you can assist the command in determining what you consider to be the largest radius that would be encountered in the selected linework to help it determine when nodes should be considered to be on a straight versus on an arc.

Enter the largest radius that you think should be created. This is a “gross error check,” so you do not have to be super precise on this. A value like 10,000’ should do the job to determine what is straight versus what is an arc.

Optimize Vertical checkbox:
Check this checkbox if you wish to optimize the vertical geometry of the selected lines.

Tolerances:
Minimum Angle:
Enter the minimum value for the break angle between two adjacent profile segments below which you do not wish to create a vertical curve to smooth out the grade break.

Note that corridor models will likely have been generated at regular intervals and may have been densified to create a smooth road surface with minimal grade breaks between chords. In these scenarios, adding vertical curves to the grade breaks will likely have little effect on the end result.

Typically, place vertical curves where the grade break is greater than 2 or 3 degrees. Some users will use Z0.5 as the input here.

Maximum Offset:
Enter the maximum offset that you will allow a vertical curve to deviate from the source profile node at which it is being placed. This value is used to determine the maximum length that a vertical curve can be at the defined location.

The length of the vertical curve can also be no longer than 2x half the length of the shortest segment on either side of the VPI at which the vertical curve is being placed.

For example, if the inbound segment is 8’ long and the outbound segment is 12’ long, then the maximum vertical curve length can only be 8’ (2*8/2) because the prior element may also create a vertical curve at the start of the 8’ segment, etc.

This Maximum Offset computes a second value for the maximum length that limits the offset of the curve to the point. The shorter of the two values is then used as the value to control the curve.

Maximum Length:
This is a third control that is used to control the length of the vertical curve created. If, as a user, you want to limit the length of the vertical curves to 5’, then you can enter it here. If 5’ is then less than the value computed by the earlier processes, the 5’ control will limit the vertical optimization process.

Ignore VPI On Sharp Corners checkbox:
When optimizing the vertical on, e.g., Curb and Gutter lines for parking lots, you will likely want to check this checkbox and enter an angle value like 45 degrees to prohibit the fitting of vertical curves through sharp angle breaks in the horizontal geometry, e.g., for corners at the back of parking bays on parking islands where a sharper change in slope would be expected.

Enter the maximum angle above which you do not wish to fit vertical curves to the vertical geometry. The angle is the change in direction of the line at the node, i.e., in the example shown with the arrow, the inbound line is at orientation 0 and the outbound line is at orientation 90, so the angle deflection is 90 degrees.

Sharp Corner Angle:

Enter the horizontal angle change above which vertical curves will not be created. Use this to prevent vertical curves from being added at sharp corners in the selected linework.

Output options:
The process will generate either linestrings or alignments, or both, as output. The linestrings and alignments will be placed on layers with names derived from the names of the layers on which the source linework is placed by adding the extensions defined in the settings controls below. The linestrings and alignments can be given different colors so that they can easily be differentiated from the source lines once created as a visual check.

Create Linestring checkbox:
Check this checkbox if you wish to create linestrings as an output.

Layer Name Template:
If the linestring output option is checked, select the naming you require for the layer on which the optimized linestrings will be created, e.g., {L}-LS where {L} is the name of the source line layer.

Color:
Select the default (ByLayer) color for the new layer to be created. The linestrings created will be set to ByLayer color so that they automatically pick up the color property defined.

Create Alignment checkbox:
Check this checkbox if you wish to create alignments as an output.

Reporting:
The report area displays the results of the optimization on execution for each line that has been optimized. The report shows the maximum deviations of the optimized lines in arc or straight sections and for vertical curve insertions. For each node of the original line, an equivalent node is computed in the optimized line, and the offset and height deltas are listed.

Reporting Tolerance:

Enter the tolerance value used to control which deviations between the original and optimized linework are reported.

Report Mid Points checkbox:

Check this checkbox to include midpoint deviation checks in the optimization report.

EXECUTE

Select Lines:

Select the linestrings that you wish to optimize. Select Options if you wish to select lines using advanced selection methods like Select by Layer, Advanced Select, Select Similar, Select by Elevation, etc.

INPUTS

Select Lines:

Select the Linestrings that you wish to optimize. Use the Options button to access advanced selection methods such as Select by Layer, Advanced Select, Select Similar, or Select by Elevation.

Horizontal Optimization Settings:

When Optimize Horizontal is enabled, define the Maximum Offset for straight and arc sections and the Maximum Radius used to control how closely the optimized horizontal geometry matches the source linework.

Vertical Optimization Settings:

When Optimize Vertical is enabled, define the Minimum Angle, Maximum Offset, Maximum Length, and optional Sharp Corner Angle used to control the creation of vertical curves.

Output Options:

Choose whether the command creates optimized Linestrings, Alignments, or both, and define the layer naming and color settings for the resulting objects.

REPORTS

The Optimize Linestrings command generates a quality report showing the results of the optimization for each processed line.

The report compares the original line nodes to the optimized geometry and displays the horizontal offset and vertical elevation differences. It also reports the maximum deviations found in straight sections, arc sections, and vertical curve locations.

HOT KEYS

U = Unlock
Q = Rotate Screen 15 degrees clockwise
E = Rotate Screen 15 Degrees anti clockwise
SHIFT Q = Rotate Screen 30 Degrees clockwise
SHIFT E = Rotate Screen 30 Degrees Anti Clockwise
WASD = Pan Up, Pan Left, Pan Down, Pan Right
SHIFT M = Pop Up Menu
Shift X = Undo Last Click or Pop Up Elevation Entry
X = Start Over
Z = Decrement
C = Increment
Shift Z = Reverse Direction to Downwards / Decrease (and decrease 2x)
Shift C = Reverse Direction to Upwards / Increase (and Increase by 2x)

HEADER BAR COMMANDS

In the Header Bar of the command, you will find quick-access buttons to other commands that you may find useful while running this command.

Header Bar commands include:

  • Help - access this document
  • RPS Settings
  • Takeoff Lines
  • Smart Edit
  • Adjust Linestring Elevation
  • CAD Cleanup
  • Profile Viewer
  • Explode Linestring
  • Extend Lines
  • Affix Name
  • Export XML
COMMAND BUTTONS

OK
Executes the command, generates the quality report, and prepares for a second execution of the command.

Close
Closes the command without further execution.

HELP

In the Help area, you will find a shortcut link to this Help document and training video. You can also access this document by pressing F1 on your keyboard.

USE CASE VIDEOS

This data set was sent to us to look at to see what the Optimizer could do with it. While there is nothing new in this video, it does show another line optimization and how to find the optimal solution.

FEEDBACK AND ENHANCEMENT REQUESTS

If you would like to provide feedback on the use of the Optimize Linestrings command or to request enhancements or improvements to the command, please click Reply below.

5 Likes