I don’t have Heron on this machine but, from your picture, that creates the road outlines on the terrain. It doesn’t create a level road section that requires cuts and fills on the sides of the road - which is what the user is after, and something that I think Lands, and perhaps Jørgen’s script does.
-wim
That is true. Because the source file does not contain closed polygons it will also be difficult to generate these projected on the terrain. First the road outlines should be converted to flat surfaces. Than still it will be difficult to generate a road suface wich is somehow flat. For cuts and fills more information is needed i fear. Bison has also some tools for this.
Hello
do you mean “Lands Design”?
I have a trial version of this app, but I also don’t know how to use it to get horizontal roads on terrain. Please provide an example.
Thank you
I decided to use the “Split” command to cut the geometry around the roads. But the relief that I cut changes its geometry. Why does this happen and how to get around it?
Definitely try using Land Kit for this stuff (the Topo Kit module) to solve all of these problems. There are some fun tools for relative and absolute grading, patching in new grades, dealing with projected areas, trimming, etc.
No. It’s probably not enough for the free version to solve these particular problems. But if it can save you a bunch of time and change your workflow on this and other projects, maybe it’s worth it.
Hi @Erik_Beeren and @sambrari95 ,
Yes, the place to get Heron is currently through the Package Manager. Aside from MultiMoveToTopo, it also has MultiMeshPatch and GdalBuffer components that I’ve used in the attached definition.
As noted previously in this thread, there are a few ways to approach this question, but I’ve put together one that allows for inner boundaries of the road edges using Heron, @laurent_delrieu 's new Nautilus add-in, and Human (for visualization). Here are the general steps I used:
Find the medial axis of the road boundaries to create road centerlines. This can be done with the Voronoi component using the approach found here.
Get the road centerlines (pink) and project them to the topo mesh in order to determine the elevation for nearest road edge point. This should create a relatively flat cross slope for the road surface. Using Nautilus’s Smooth Network component is essential to simplify the medial axis line segments and help determine what is a centerline vs a branch/dead end.
Project side slopes from elevated road boundaries and intersect the rays with the topo mesh to find the new top/bottom of slope points to be used to in the new topo Delaunay triangulation. This step uses GdalBuffer to find the direction of the side slope rays.
Hi there
thank you for your help, I really want to try this script, but for some reason I have a problem with installing the application. The files are in the right folder and all are unlocked. is it possible to do without this plugin?
Hi @sambrari95 ,
I’m not sure what the issue is with your Nautilus install, but in theory, the two Nautilus components I’m using could be substituted.
I’m using PolylineDivide to get equally spaced points along the road edge curve, including points of discontinuity or segment end points which can be accomplished with OOTB components.
The SmoothNetworkOfLinesByDanielPiker component would be more difficult to replace. According to Laurent’s Nautilus release post, this component was built on top of one posted by Daniel Piker.
However the one posted by Daniel outputs simple line segments and not polylines of the line segments joined by branch. If you are familiar with C#, you could dig into Daniel’s code and find a way to output polylines.
The MultiMeshPatch component is particular about the order of the boundary curves. The outer boundary must be the first in the list supplied. Road on TerrainBW2 with inner boundaries.gh (76.9 KB)
Note, I added a C# component that orders the boundaries coming out of the GdalBuffer to ensure the outer boundary is first in the list. I also went with GdalBuffer instead of MultiMeshPatch for the top/bottom of slope boundary which can clean up intersecting slopes.