Generating a DTM from Dense-Matching Photogrammetry

Point clouds from dense-matching photogrammetry are popular. Stored in the LAS format – or its compressed LAZ twin – these „near-LiDAR“ points are easily ingested into LiDAR processing software to, for example, generate a Digital Surface Model (DSM). „Can LAStools also create a Digital Terrain Model (DTM) from such data?“ is a question we often get asked by private email or via the LAStools user forum. At INTERGEO Euroasia 2014 we gave a demo of this at the UltraCam booth. We repeated this demo with different data at the Pix4D booth during the Geospatial World Forum 2014. Now the folks from Visionmap have also become curious …

pix4d_raw

Above the „topography_cadastre_switzerland_densified.las“ point cloud we got at the Pix4D booth. You may have already seen this colorized point cloud at some other Pix4D event. The original points were in a highly incoherent spatial order that negativly affected all subsequent processing. Therefore we first use lassort to reorder the points into a space-filling Hilbert curve. At the same time we rescale the coordinate resolution to centimeters and compress the file into the LAZ format.

lassort -i topography_cadastre_switzerland_densified.las ^
        -rescale 0.01 0.01 0.01 -olaz
Next we use lasground to classify the ground points with options ‚-city‘ and ‚-ultra_fine‘. The option ‚-city‘ is a convenient short-hand for ‚-step 25‘ that will remove all objects on the terrain that have an extend of 25 meters or less. The option ‚-ultra_fine‘ instructs lasground to spend more time on finding a good initial ground estimate. The option ‚-odix _g‘ add the appendix ‚_g‘ to the output file name.
lasground -i topography_cadastre_switzerland_densified.laz ^
          -city -ultra_fine ^
          -odix _g -olaz
pix4d_ground
Above you see only the points that were classified as ground (classification 2) and below you see how triangulating these points interpolates the voids where buildings and vegetation used to be.
pix4d_triangulated
Now we use las2dem to raster a DTM from only those points that were classified as ground. The option ‚-step 0.5‘ sets the output grid resolution to 0.5 meters, ‚-ocut 2‘ removes the ‚_g‘ from the file name, ‚-odix _dtm‘ adds the appendix ‚_dtm‘ to the file name, and ‚-obil‘ chooses BIL as the output raster format.
las2dem -i topography_cadastre_switzerland_densified_g.laz ^
        -keep_class 2 -thin_with_grid 0.125 -extra_pass ^
        -step 0.5 ^
        -ocut 2 -odix _dtm -obil
For comparison we also use las2dem to create the corresponding DSM. The option ‚-thin_with_grid 0.125‘ makes the density of the points that are triangulated into a TIN more „compatible“ with the 0.5 by 0.5 grid that the TIN is rastered with by keeping only the first point that falls within each 0.125 by 0.125 area or a maximum of 16 points per 0.5 by 0.5 raster cell. The option ‚-extra_pass‘ counts all surviving points in a first pass to minimize the memory footprint needed for Delaunay TIN construction.
las2dem -i topography_cadastre_switzerland_densified_g.laz ^
        -thin_with_grid 0.125 -extra_pass ^
        -step 0.5 ^
        -ocut 2 -odix _dsm -obil

pix4d_dtm

Did you know that lasview can visualize BIL files via on-the-fly conversion from grids to points? Above you see the generated DTM and below the corresponding DSM. So yes, LAStools can create DTMs from points that are result of dense-matching photogrammetry … under one assumption: there is not too much vegetation.

pix4d_dsm

Nach oben scrollen