LIS Pro 3D Tutorials

Prepare Processing

< Previous section    Next section >

Create a New LIS Pro 3D Project

  • Open LIS Pro 3D with an empty project (close any previous project!)
  • Use: File > Data > Shapes in order to open the AOI shapefile we have created in the previous tutorial. This is the area that we want to process.
  • Set the Fill Style for AOI to Transparent (and the Outline > Color to red)
  • Add Google Satellite as a base map to the map

  • Use: File > Data > Shapes in order to open the “Proc_Tiling” shapefile we have created in the previous tutorial section. This dataset defines our processing chunks for area-wide processing.
  • Add Proc_Tiling to the current map
  • Change the Fill Style for Proc_Tiling to Transparent and Outline > Color to green

Now we have 16 tiles, which define the processing units of our dataset.

Select a Processing Unit from the Tiling Scheme

Let’s select a single unit from our tiling scheme for testing.

  • In the Data Tab select Proc_Tiling
  • Use the Interaction Tool (the interact cursor) in the top menu, and click onto one unit in order to select it

The selected unit is shown in red . Now copy this unit to a new layer:

Tool: Copy Selection to New Shapes Layer
GeoprocessingShapes → Selection   //    ToolsShapes → Tools

Parameter Setting
Data Objects
Shapes
>> Input Proc_Tiling
<< Output <create>
  • Provide the Proc_Tiling layer
  • Click Execute

In the Data Tab a new polygon layer appears. Add it to the map.

Load Prepared Building Footprints

Use: File > Data > Shapes in order to open the Building_Footprints_Selection shapefile we have created in the previous tutorial. Add it to the map.

Find Corresponding Buildings for Selected Unit

Processing the dataset in smaller subsets means we also need to chunk down the buildings into smaller subsets. In this process, we need to ensure that each building is processed exactly once. Additionally, we are not allowed to cut buildings that are located on the boarder of processing chunks. To do so, we associate each building polygon to a specific chunk by the location of its centroid. These centroids always fall into a single unit. Use the tool: Shapes > Tools > Select by Location …:

Tool: Select by Location…
GeoprocessingShapes → Selection   //    ToolsShapes → Tools

Parameter Setting
Data Objects
Shapes
>> Shapes to Select From Building_Footprints_Selection
>> Locations Proc_Tiling [Selection]
<< Copy <create>
Options
Condition have their centroid in
Method new selection
Post Job copy
  • Provide the building shape layer as Shapes to Select From
  • Provide the current processing unit (Proc_Tiling [Selection]) as Locations
  • Use the Condition: “have their centroids in”
  • Select Post Job: “copy”

Now we have some buildings that are intersecting with the processing unit, but are not processed, and some buildings that are intersecting with neighboring units but are still considered for the currently selected unit because of having their centroids in the currently selected unit.

In the Data Tab a new polygon layer with the selected buildings appears (Add it to the map).

Derive the Processing Extent

Some buildings associated with the current unit lie only partly within it (i.e., they extend into neighbouring units). If we process the point cloud with the exact bounding box of this processing chunk, we would capture only a part of those buildings. Therefore, we need to expand the unit’s processing extent to fully include the selected buildings! Let’s derive this expanded processing extent for the buildings within the unit:

Tool: Get Shapes Extents
GeoprocessingShapes → Tools   //    ToolsShapes → Tools

Parameter Setting
Data Objects
Shapes
>> Shapes Building_Footprints_Selection [Selection]
<< Extents <create>
Options
Get Extent for … all shapes
Add Buffer 0
  • Provide the layer Building_Footprints_Selection [Selection]
  • Choose all shapes in the Get Extent for… section
  • Click Execute

This will create a new layer Building_Footprints_Selection [Selection] [Extent], which is slightly larger than the previous extent of the selected processing unit:

Query and Inspect Point Cloud Subset

Now we can have a look into the available LiDAR data that we have downloaded in the previous section:

Tool: Get Subset from Virtual LAS/LAZ
GeoprocessingLIS Pro 3D → Virtual → LAS/LAZ   //    ToolsLIS Pro 3D → Virtual

Parameter Setting
Options
Filename C:\\…\lidar\pointclouds\tiles.lasvf
Optional Output Filepath
Copy existing Attributes 🗹
Classes
Last Returns
Constrain Query
File Compression 🗹
Fail on Empty Point Clouds
Point Cloud Thinning
AOI
   > Shape Building_Footprints_Selection [Selection] [Extent]
      Tilename <not set>
   Grid system <not set>
      > Grid <not set>
   X-Extent 0;0
   Y-Extent 0;0
   Add Overlap 🗹
      Overlap 5
      Skip Empty AOIs
      Optional Tile Info Filename
   One Point Cloud per Polygon
  • Use the browse button to provide the previously created lasvf file in the Filename section
  • Provide the extent of the selected building (Building_Footprints_Selection [Selection] [Extent]) in the Shape section
  • Check the Add Overlap checkbox and set the Overlap to 5m - just to be absolutely sure that we are not ignoring any relevant data
  • Click Execute
Note

This shows that we can create a point cloud for a randomly defined extent, independent from the physical tiling of the original laz-files (in our case 4 files). This point cloud is completely unaffected by the actual, physical tile boundaries and has no visible edge effects.

A new point cloud layer las_subset_tiles has been added to the Data Tab. Double-click on it in order to add it to the map.

View Point Cloud in 3D

Use the Point Cloud Editor to inspect the point cloud:

Tool: Point Cloud Editor
GeoprocessingLIS Pro 3D → Point Cloud Editor   //    ToolsLIS Pro 3D → Point Cloud Editor

Parameter Setting
Data Objects
Point Clouds
>> Point Cloud las_subset_tiles
   Intensity intensity
   RGB <not set>
   Shading <not set>
   Classification classification
   Random <not set>
   Normal Vector (X) <not set>
   Report Attribute 1 <not set>
   Report Attribute 2 <not set>
Grids
> Elevation Grids No objects
> Color Grids No objects
Shapes
> Shapes <not set>
Options
Work on Copy of Point Cloud
Background Color Black
Classification LUT ASPRS LAS (Formats 6-10)
  • Provide the las_subset_tiles in the Point Cloud section
  • Provide the intensity attribute in the Intensity section
  • Provide the classification attribute in the Classification section
  • Click Execute

Type 5 in order to switch to classification coloring

Note

In our case the point cloud is allready classified into, ground, low vegetation, mid vegetation, high vegetation, buildings

Delete Point Cloud Subset

For the reconstruction of building models we don’t need all LiDAR points. We only need to consider building points. Therefore, we can delete the current point cloud subset and query a new subset that only contains building points.

In the Data tab Right-click onto las_subset_tiles and close it.

Query Building Subset from Available Point Cloud Data

Tool: Get Subset from Virtual LAS/LAZ
GeoprocessingLIS Pro 3D → Virtual → LAS/LAZ   //    ToolsLIS Pro 3D → Virtual

Parameter Setting
Options
Filename C:\\…\lidar\pointclouds\tiles.lasvf
Optional Output Filepath
Copy existing Attributes 🗹
Classes
Last Returns
Constrain Query 🗹
   Attribute Field classification
   Value Range 6;6
   Value List
File Compression 🗹
Fail on Empty Point Clouds
Point Cloud Thinning
AOI
   > Shape Building_Footprints_Selection [Selection] [Extent]
   Tilename <not set>
   Grid system <not set>
   > Grid <not set>
   X-Extent 0;0
   Y-Extent 0;0
   Add Overlap 🗹
   Overlap 5
   Skip Empty AOIs
   Optional Tile Info Filename
   One Point Cloud per Polygon
  • Check the Constrain Query checkbox
  • Set the Attribute Field to classification
  • Set the Value Range to 6;6 (6 is class building)
  • Click Execute

Query DTM from Raster Catalog

In the previous tutorial section, we have downloaded official DTMs provided by the Canton of Zurich and created a virtual raster catalog for seamless querying. We will use this DTM in the process of creating building models.

Tip

In case you do not have a DTM readily available for your specific use-case, here we provide a step-by-step guide on how to derive a DTM, DSM and nDSM from a point cloud.

Similar to querying the point cloud from the lasvf file (with seamless access independent of the physical tiling), we can query the required extent in the same way from the vrt file (the raster catalog) created in the previous tutorial:

Tool: Import Raster
GeoprocessingFile → Grid   //    ToolsImport/Export → GDAL/OGR

Parameter Setting
Options
Input Files
   Files “C:\\…\lidar\DTMs\tiles.vrt”
Multiple Bands Output automatic
Select from Multiple Bands
Transformation 🗹
   Resampling Nearest Neighbour
Extent shapes extent
   >> Shapes Extent Building_Footprints_Selection [Selection] [Extent]
   Buffer 5
  • Provide the previously created vrt file in the Files section
  • Choose single grids in the Multiple Bands Output section
  • Choose shapes extent in the Extent section
  • Provide the extent of the selected building (Building_Footprints_Selection [Selection] [Extent]) in the Shapes Extent section
  • Set the Buffer to 5m
  • Click Execute

A new grid has been created in the Data Tab. Add it to the map by double clicking:

This is the grid that we are going to use in order to create our building models.

Visualization

Create a Hillshade from DTM

Tool: Analytical Hillshading
GeoprocessingTerrain Analysis → Lighting and Visibility   //    ToolsTerrain Analysis → Lighting & Visibility

Parameter Setting
Data Objects
Grids
Grid System 0.25; 1092x, 1103y; 2684489…x 1246488…y
   >> Elevation tiles
   << Analytical Hillshading <create>
Options
Shading Method Standard
Sun’s Position azimuth and height
   Azimuth 315
   Height 45
Exaggeration 1
Unit radians
  • Provide the only available Grid System
  • Provide the dataset tiles in the Elevation section
  • Click Execute

In the Data Tab this creates a new dataset tiles.Hillshade. Add it to the map.

Select the tiles.Hillshade in the Data Tab and in the Object Properties > Settings Tab set the Transparency to 40%:

Visualize DTM and Point Cloud in 3D

Tool: Point Cloud Editor
GeoprocessingLIS Pro 3D → Point Cloud Editor   //    ToolsLIS Pro 3D → Point Cloud Editor

Parameter Setting
Data Objects
Point Clouds
>> Point Cloud las_subset_tiles
   Intensity intensity
   RGB <not set>
   Shading <not set>
   Classification classification
   Random <not set>
   Normal Vector (X) <not set>
   Report Attribute 1 <not set>
   Report Attribute 2 <not set>
Grids
> Elevation Grids 1 object (tiles)
> Color Grids 1 object (tiles.Hillshade)
Shapes
> Shapes <not set>
Options
Work on Copy of Point Cloud
Background Color Black
Classification LUT ASPRS LAS (Formats 6-10)
  • Provide the building point cloud in the Point Cloud section
  • Provide the intensity attribute in the Intensity section
  • Provide the classification attribute in the Classification section
  • Provide the tiles layer in Elevation Grids section
  • Provide the tiles.hillshade layer in Color Grids section
  • Click Execute

This allows to have a detailed look into the input datasets before processing.

Finally, close the Point Cloud Editor. Save all loaded datasets and save the current project!

< Previous section    Next section >