Terrain from point cloud

Hi
Anyone with scan essentials that could provide me with a terrain of a small site? I am a Mac user and can´t get to it. Geolocation doesn´t give me the correct terrain, but maybe a point cloud would?
I have tried all kinds of things like Qgis etc, but can+t get it to work for some reason?
The point cloud of terrain has to come from hoydedata.no (free).
Just a long shot, but maybe someone would bother to give it a try? :slight_smile:

What error is it giving you? What steps did you follow and where do you get stuck?

really got stuck in Qgis… gets errors when trying to generate 3D. I´m not good at this. :frowning:

Try using CloudCompare to convert your point cloud to mesh or Blender. If you work with Mac you will only able to import a mesh file, like “dae”

Thanks… downloading an will try that

I tried many methods to create a terrain from a pointcloud (In the Netherlands they are provided for free). The best method imho for now is;

  1. import the pointcloud into CloudCompare
  2. crop the pointcloud so you only have the area you actually need
  3. export to dxf
  4. import into SketchUp
  5. use Fredo’s toposhaper to create the terrain

In the past I tried using Meshlab (useless result) and RealityCapture (fails with the free LAZ data I get for free).

wow… must try…

thanks alot

Didn´t understand cloud compare that much… I can get either a geotiff or a DEM file from hoydedata.
Tried geotiff and ended up here and that’s where it stopped :slight_smile:

No good at these geo software it seems… never used them

I received the laz files from the site you indicated and tested the import of the terrain geometry via CloudCompare.

img-03

1 Like

NIce - looks good. The PoissonRecon normally makes blobby shapes for me so thatswhy I never use them. Seems like I have to give it another try

1 Like

Use them DEM if it contains vector data (not pixel data) OR better use the LAZ that @mihai.s is using and start step 1 a few posts higher.

Wow…
Thanks a lot… This should do the trick.
So much effort just to help a fellow sketchuper :slight_smile: That’s amazing.

It created the same shapes for me, but in SketchUp, with Lasso Select can be removed quite quickly. I suspect that depending on the Point Cloud, some may not be easy to clean up.

I am now also testing the option of exporting as a DXF file, but it created a 1.3 GB file, given that the mesh OBJ file is only 6 MB.

You’re welcome, Multitjenester!

CloudCompare is really a great tool, I use it often. It’s great for managing point cloud datasets, but I haven’t had very much luck in creating surfaces. At least not the surfaces I’m looking for. My usual workflow is to generate elevation contours in CC and save them in .dxf format, which I then bring into SketchUp and use to create the surface.

That being said, you’re probably going to have a hard time finding the exact workflow for what you’re looking for, so let me help:

With your point cloud loaded in CC, select the “Rasterize” tool (red circle) and enter a “step” (green circle) that is at the detail you want:

Then select “Update Grid”

At the lower tab section of the Rasterize tool, enable the “Contour Plot” tab and enter the Start Value & Step you want. I usually round the Start value down to the nearest whole number, and then the step I base on the total elevation changes. If it’s a steep area, you can use values of 1, 3, or 5, if it’s relatively flat I go with 0.25 or 0.5.

Min. Vertex Count will effect the number of elevation contour lines that are generated. The lower the vertex count, the more lines, but those additional lines will be really small. Test it with the default “10”, and adjust as needed.

Click “Generate”:

Once you’re happy with the elevation contours generated, click “export”, which created the features/drawing entities in the CC project:

You can click on the lines in the main window and simply delete the ones you want, but if there are a LOT of little ones it may make sense to adjust the Min. Vertex variable, generate, and re-export (re-exporting will create another folder with all the lines exported).

The last step is to highlight all the contour lines, and then export them as .dxf: select the top line entity, then scroll all the way to the bottom and - while holding the “shift” key, select the bottom line entity. This will highlight all of them. Then go to “File → Save”, enter the name and select “DXF geometry”.

The elevation contours will import as a single “group” item in SketchUp, that you can then create a TIN surface from using the “From Contours” surface tool:

It’s a pretty good workflow that has suited my needs. You could probably create the elevation contours similarly using a DEM in QGIS so you’re not having to deal with the 3D elements.

2 Likes

First - thanks again for this workflow. I didn’t know about the contours-step in CC. Using the contours is great because now you can use these in SketchUp to create a quad mesh of the terrain if you bought Fredo’s TopoShaper.
Having a quad mesh works - for me- way better than the irregular mesh that the FromContours tool creates because the quad mesh is great to use in UnrealEngine to assign vertex colors to the terrain to create some variations in shading etc.

Tried a few tests
Point cloud gives me to many unwanted 3D elements… I usually draw extensions etc on older houses and need just the terrain. Maybe I have to go back to Qgis and try the DEM? Anyone have that workflow in their head?

With CloudCompare, you should be able to get good results. In CloudCompare, just filter out everything you don’t need. See pic:

  1. select the pointcloud
  2. change the scalar field to ‘classification’
  3. try to move the ranges slider so everything you don’t need turns grey
  4. click the icon that has the tooltip ‘filter by value’ and choose ‘split’

Hide the ‘layer’ you don’t need that appears in the area with number 1. Next, follow the steps like @SailingSketcher described above.

1 Like

I tested a simpler method, which requires less editing (compared to the one I used previously) and the result is good.

  • in CloudCompare I generated 3d mesh with CSF Filter (two areas appear where the geometry requires editing, but this can be eliminated using ‘ranges slider’ and ‘split’). Save as OBJ.

  • in SketchUp, with Skimp.

  • the two problem areas edited with Vertex Tools;

  • Sandbox > From Scratch, then AlignEdges to get the quads terrain

Wait…how did you generate a mesh using CSF Filter? I use it to classify ground points and calculate normals, but I don’t’ get a mesh out of it.

I like the idea of simplifying with Skimp and then draping the sandbox, that makes things look great!

It’s in the “Raster Functions” toolbox in QGIS, I used to have the workflow but can’t seem to find it at the moment. A couple tips for QGIS in case you find it before I get to writing it out:

  • You’ll want to make sure your QGIS coordinate system is a projected flat plane if you really want things accurate, since you’ll be modeling on a flat plane in SU.

  • The DEM approach does have a slightly manual step: each elevation contour in QGIS will be exported at the same elevation, even though they represent different values. SO, you’ll have to manually move each of the lines up the Z-/blue axis in SketchUp by whatever value you used to create it (ie if each contour represents a change of 5m in height, each one will have to be manually placed 5m above the previous one manually). It’s not a huge lift, but something to keep in mind when you’re generating them in QGIS.