Optimize Linestrings Command

D_OptimizeLinestrings_64 Optimize Linestrings Command


Command Licensing and Default Menu Location

  • 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 Training Video

The following video shows how to utilize the Optimize Linestrings command



Update Information


Command Shortcut

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


Command Interface Description

The Optimize Linestrings command dialog looks as follows

Linestrings:
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.

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 vs 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 designers intent.

The results will however depend heavily on the source data and how it was created, and how well the chorded lines reflect the original CAD linework in terms of where tangent points etc. are present / absent. It will also depend on how many points exist on the chorded curve sections of the source lines as to 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 i.e. GPS data will have more “noise” in the points than Total Station data and depending on whether or not the GPS had Tilt Sensor correction or not 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.09m). Another factor with surveyed lines is the distance between the measured points. Points that are of this type of accuracy that are close together e.g. 6-8’ or 2-3m 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 10m apart on straight sections unless there is a height / elevation that you need to pick up for a high or 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.09m). 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 exceed 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 from being created.

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.003m) whereas PDF extracted linework may need a looser tolerance of e.g. 0.05’ (0.015m) or 0.1’ (0.030m). 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.003m) whereas PDF extracted linework may need a looser tolerance of e.g. 0.05’ (0.015m) or 0.1’ (0.030m). 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 Convert to Linestring command prior to running the optimizer on surveyed lines to reduce the number of vertices you are processing to improve the 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 vs on a straight segment of a line. In this case you can assist the command to determine 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 a straight vs on an arc. Enter the largest radius that you think should be created - this is a “gross error check” so you don’t have to be super precise on this - a value like 10,000’ should do the job to determine what is straight vs what is 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 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 max 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 max 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 then 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.

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 name 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.

Name template:
If the alignment output option is checked, select the naming you require for the layer on which the optimized alignments will be created e.g. {L}-AL where {L} is the name of the source line layer.

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

Report:
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 listed.

Command Tips


Header Commands

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

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

Close
Closes the command without further execution.


Use Case Videos

This data set was sent to us to look at to see what 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