How to create a point cloud from DEM?

Please forgive my ignorance if I am asking a totally irrelevant question, I am still a GIS newbie. I looked in Google and found a lot of links as of how to convert point clouds to DEMs.

I am trying to achieve exactly an opposite: to create a point cloud from a DEM of the specific location and then to create a 3D model of this location from this point cloud.

I didn't find one single link about it.

So is all my thinking wrong? Is there other way to achieve what I am trying to achieve?

4 Answers

FME can do a raster to point cloud transformation. It's certainly not a typical operation but as the link points out, there are some potential applications.

You might not find good solutions, because a Point Cloud and DEM are used for two different things.

A Point Cloud represents the point of returns from usually a LIDAR survey. At a given (X,Y) point, there can be multiple points at different heights. Imagine a Single Tree. You will get the return points from both the Canopy, as well as the ground underneath it. Or Alternatively, image the points representing the Side of a building. You will have multiple points at the same (X,Y) location.

Compared to this, DEM raster is much simpler. It will have only one elevation value for a given cell. A Cell does not exactly represent a (X,Y) point either, since it has a cell width and cell height. Hence a Cell is not the exact equivalent of a point.

So if in some way you create a point cloud from a DEM, it really won't be an accurate representation of reality; Additionally it won't be equal to what a real point cloud of that location will be like.

which GIS do you use? For ESRI Arc solutions, there is a simple tutorial for creating a 3d model: TUTORIAL(PDF)

Before the first step (Shape to TIN) you need to generate either contour lines from your raster (spatial analysis > contour) or a TIN directly from your raster (3d analyst > raster to TIN)

EDIT: If you necessarely need points, try the Raster to Points tool in the ArcGIS toolbox

• I was planning to use QGIS/GRASS. Is it possible with these tools? – Flot2011 Jun 13 '13 at 9:21

I don't really use QGIS or Grass, but the process would simply be a matter of creating a point at the centroid of each pixel in the raster. I just don't know what the tool is, or if there is one. This may help http://www.slideshare.net/shencoop/qgis-raster-to-pointCreating, it makes sense creating an ascii file from the raster and then using those values as the coordinates and then whatever the pixel value is. a TIN from a raster would would be creating a node for each of the triangles at the center of each pixel, in principle doing the same thing but adding a lot of extra data.