This tool is intended to aid the process of extracting Tops and Bottom of bank breakline strings from a triangulated surface that has been derived from a point cloud.
This tool will generate edge data from any configuration of triangles that satisfy the given criteria. So a user can expect a lot more linework to be generated that is necessary. The idea being that relevant information is then copied out into a clean model leaving the unnecessary data behind.
The first stage of the process is to derive a Gridded DTM from the point cloud. Please scroll down to the GRIDS section in this article for notes on how to do this if you are not familiar. https://help.appsincadd.co.uk/hc/en-us/articles/360024340412-3D-Viewer-Point-Cloud-I-O
Having derived the Gridded DTM from the point cloud view it in the 3d Viewer. You should see a surface similar to that below.
Click on the BreakLine Extraction tool under the Feature Extraction tab, the following tools will be added to the right hand side of the screen.
The first option lets the Model that contains the initial terrain data be selected. If the selected model is a gridded DTM generated from a point cloud the data first needs to be simplified down to a small percentage of the original face count. This is done to both speed up the process, but also to home in on the large gradient changes that denote a breakline. Otherwise the slopes can be to gradual and harder to define. Simplification essentially keeps the faces that have the largest change in direction, and combines the ones that don't. Suitable values usually start at around 5-10% of the original face count. Pressing the Simplify button hopefully leaves a surface behind where the main concentration of faces are where the tops and bottoms of batter occur, or any other significant edges that are worth keeping.
Having simplified the model, the rest of the settings can be looked at. The algorithm detects the breakline locations by looking for triangles with significant angle changes where they meet. These are split into the two situations outlined below. These are the Angle from the Normal of a Base Triangle down to the Slope of an adjacent face. The larger the number the less steep the slope can be and still be detected. Where as the Minimum Top of Bank angle from the Base, specifies the lowest angle at which a top edge can be assumed to be from the Normal of the Base. This must obviously be past 90 degrees, for it to be directed downwards from the Base face.
|Max Bank Angle From the Normal of the Base||Min Top Bank Angle from Normal of Base|
For a Triangle to be considered as a possible Base face, the angle between its Normal and true Vertical must first be inside the Vt Angle Tolerance. This defines in essence how level the triangle is.
Only faces that are inside this tolerance can be tested to see if they have triangles attached to them that could possibly contain a breakline edge. Values below 10° usually result in reliable breaklines being found on level'ish ground. But access roads and the like that access into a quarry, will need this value increased to around 20°.
n4ce will obviously find situations where the above settings result in linework being formed all over the model. So other settings try and help minimise the amount of noise that is generated, these are...
- Min Points On Line: Set the minimum number of points on a line that can be allowed. This helps to remove short lines that can occur though out the model if not filtered out.
- Max String Join Dist: Maximum distance between the ends of lines that allows them to be joined if the end line up. Once all the other filters have run.
- Max Dz String Join Dist: Maximum height difference between the ends of lines that allows them to be joined. Once all the other filters have run.
- ZigZag Angle: Sets the maximum angle that would be considered as a line returning back towards itself sharply.
- ZigZag Ratio: Sets the ratio of corners to ZigZag returns that should be allowed. Larger values let more detail though, but the lines can have more erroneous parts to them.
- Corner Angle: Sets the maximum angle that is considered to be a corner. Anything larger is considered straight. This combined with the ZigZag Angle tolerance helps the Ratio above weed out poor data.
Once the data has been simplified, the "Extract Break Lines" button becomes visible. Click on this to test the settings to see what the results are like.
If the results need improvement, the Reset button will clear the linework and allow the settings to be changed before trying again. Changing the Vertical Angle Tolerance, the ZigZag Ratio and the Overall simplification can have the largest effects. Once the settings are retrieving reliable results, press the "New Preset" button and Name the settings, before possibly Exporting them, just to have a copy on file.
To complete the exercise, enter an appropriate code in the "Line Code" field and press "Commit All".