Select to view content in your preferred language

Preparing to Generate Floor Plans from Point Clouds

337
2
3 weeks ago
JasonHine
Esri Contributor
4 2 337

At ArcGIS Pro 3.4, ArcGIS Indoors is expanding its toolbox for data import. In addition to CAD and BIM data sources, users can now use point cloud data as a source when populating and maintaining an indoor GIS. Point clouds can vary in quality, and different indoor environments can present different challenges when generating floor plans. This article discusses requirements and best practices when preparing to collect and process point cloud data for use as a data source for ArcGIS Indoors.  

Information in this article is organized in two sections. If you’re just getting started scanning, please continue to the Data collection and Data processing sections below. If you’re already past the scanning and processing stages, or you’ve been given data that was collected and processed by others, you can skip to the Working with unfamiliar data section. 

Data collection 

There are a growing number of LiDAR scanning devices on the market that are capable of collecting point cloud data in indoor environments. Esri Business Partners who offer devices include Trimble, Leica Geosystems, and NavVis. (The viability of using consumer-grade mobile devices with LiDAR sensors, such as the iPhone 15 Pro, will be the topic of a future blog post.) Contact your LiDAR scanning device’s vendor for guidance on efficient and effective data collection practices using their particular device.

Data collection requirements 

Strictly speaking, the only information that must be collected and stored is a 3D (XYZ) coordinate for each point in the point cloud. RGB information can help when visualizing the point cloud in ArcGIS Pro, but is not required. 

Regarding the architecture being scanned, walls must be vertical. The ArcGIS Pro tool that generates the floor plan will not work for walls that lack a vertical cross-section, such as slanted or arched walls. 

PrepToGFPFPC_Fig01_VertCrossSection.png

Figure 1. Cross-section profiles of walls that are vertical, slanted, or arched. Walls must be vertical
for the scanned data to work with the ArcGIS Pro tools mentioned later in this article.

Data collection best practices

Indoor LiDAR scanning presents several challenges, including transparent and reflective surfaces, moving people, lack of GPS signal, and narrow spaces. A quick internet search will turn up general best practices (as well as device-specific recommendations) like this, this, and this.

In addition to the device vendor’s guidance for data collection, consider the following:

1. Accuracy—The device should be capable of and configured to achieve a positional accuracy of ±0.4 inches (10 millimeters) or better. Understand the device’s best practices for optimal accuracy, including the effects that distance and different surface materials can have on the accuracy of the points in the cloud. Lower accuracy can increase the “fuzziness” of the data and lead to noisy, misplaced, or missing floor plan polylines.

2. Point spacing—The points collected by the device should have an average point spacing of 0.2 inches (5 millimeters) or smaller. Point clouds with larger average point spacings can still be used but the generated floor plans may have more gaps and artifacts. Point spacing is determined by multiple factors including the number of sensors on the device, the distance from the device to the surface being scanned, and scan time. You can do a test scan and use ArcGIS Pro to calculate statistics including average point spacing.

JasonHine_0-1733529786695.png

Figure 2. ArcGIS Pro dialog showing Point Spacing values (in meters) for individual LAS files in
a LAS dataset. The average point spacing for the larger LAS files (those with millions of points)
is around 3 millimeters.

3. Surface preparation—To help capture windows and other transparent architecture, close blinds and curtains, or use a commercially-available spray-on product designed to temporarily makes glass surfaces opaque. Doors that separate rooms and corridors should be closed as much as possible to help avoid gaps that may require manual editing later.

4. Control points—GPS can be unreliable indoors. Control points are reference locations that can help position scanned data relative to data from other scans or relative to a real-world coordinate system.  Ask the vendor how to establish and record control points (reference locations) as part of the data collection process. Tip: If there are no control points, make sure adjacent scans overlap enough so you can identify common features (such as doorways or corners) to use as reference points when processing the data.

Data Processing

Typically, a vendor will provide software to process the point cloud data collected with their device. Terminology and workflows may vary by vendor, so be sure to check their documentation for specific information.

Data Processing Requirements

Generating floor plans from point cloud data requires the following:

1. Register scans together—Large facilities often require multiple scans to cover the entire space. Depending on how each scan was initiated, the scans may not be properly positioned relative to each other. Registration is the process of repositioning and aligning the scans to produce a continuous point cloud. If control points were captured during data collection, the vendor software may be able to use them to auto-register the scans together. Otherwise, use the vendor’s software to position the scans manually by looking at the architecture in areas where adjacent scans overlap. Tip: To make large datasets more manageable, you can register scans together on a floor-by-floor basis, instead of registering all the floors together into a single large point cloud.

 Data Processing Best Practices

Prior to export, the point cloud data should be georeferenced. Georeferencing is the process of relating the point cloud’s local coordinate system to a real-world coordinate system. Use the vendor’s software to georeference the point cloud to a projected (planar) coordinate system appropriate for the facility’s location, such as a UTM zone. If no GPS-based control points were collected, see if the vendor’s software will let you position your dataset using a satellite imagery basemap for reference. If the point cloud data is not georeferenced using the vendor’s software, the data can still be used to generate floor plans polylines that you can then reposition using tools and basemaps in ArcGIS Pro.

When exporting the processed data, see if you can choose the LAS file format. ArcGIS Pro can read LAS files, and can convert LAZ (compressed LAS) files. Tip: You may want to export the processed data to a different format—other than LAS—that’s capable of storing specific information captured during the scan. For example, if panoramic images were captured along with the point cloud, you may want to export to the E57 file format, which supports embedded imagery. If the point cloud data is exported in a format other than LAS, you can use solutions like FME or LAStools to convert the data to LAS for use with ArcGIS Pro.

Given the variety of tools and workflows involved, it’s good to keep detailed notes about how the collected data was processed. It’s also good to note what’s in the exported files, such as whether the points have RGB or other data, whether panoramic images are present, and what projected coordinate system was chosen. All this information can be useful when viewing and working with the exported point cloud data in ArcGIS Pro.

Working with unfamiliar data

If you’ve received point cloud data that was collected or processed by others, some of the information mentioned above may be missing or unknown.  Read on for tips on how you can investigate unfamiliar point cloud data and determine its fitness for use in ArcGIS Pro to generate floor plans.

Other point cloud file formats

When the point cloud data is in a format other than LAS (.las, .laz, or .zlas), the data must be converted prior to loading in ArcGIS Pro. You can use solutions like FME or LAStools to convert the data, but be aware that some information present in the original file, such as coordinate system text or panoramic imagery, may be lost. Research the capabilities of the original file format to understand what information might possibly be in there.

There are tools available to investigate the information in point cloud data files (including LAS). For example, CloudCompare is a free software that can open many common point cloud export file formats (including E57, PTX, PLY, and OBJ) and display detailed information about their contents in a tree view.

JasonHine_1-1733530665908.png

Figure 3. Viewing an E57 file in CloudCompare, with a tree view of the file contents at top-left.
This particular E57 has panoramic (“spherical”) images, as indicated by the arrow. 

If your point cloud data is in a proprietary file format such as Autodesk’s ReCap (*.rcp), look on the vendor’s web site for an appropriate application to view the file contents.

Unknown coordinate systems

ArcGIS Pro detects when a LAS file contains coordinate system (CS) information. If embedded CS information is not present in the LAS file, consider the following to find it out:

  • Check for a Readme file or other accompanying metadata that might contain CS information.
  • Contact the data provider to ask what CS the point cloud data is in.
  • Try applying a projected coordinate system that is well-suited for the geographic location of the facility, then check whether the point cloud is correctly positioned when added to a map. For example, a facility in Fort Collins, Colorado USA might use State Plane Colorado North, or maybe UTM Zone 13 North. When you view the properties of a LAS file in ArcGIS Pro, you can use the Coordinate System tab to view and change the CS before adding the LAS file to a map to check whether the data appears (possibly as a red box) in the expected geographic location.  

JasonHine_2-1733694996454.png

Figure 4. You can use the Change Coordinate System
button to assign a coordinate system to a LAS file.

  • Examine the point cloud coordinates to try and deduce coordinate system information. You can add the LAS file to a new Map, then in the Contents pane, right-click the LAS layer and choose Zoom To Layer. Move the mouse around and notice the mouse coordinates are displayed below the map. Click the coordinates drop-down to change the unit of measure to feet or meters.
    • If the data is positioned near the origin (0,0), the point cloud is likely in a local (site-specific) coordinate system. The origin may be some well-known position on the site, such as a survey marker; it may also just be the location where the scan was initiated.
    • You can use the Measure tool to measure the point cloud’s extent or something you can see in the point cloud that has a known width, such as a building wing or an entryway. If the measurement is what you expect, that indicates the CS assigned to the LAS file at least has the correct unit of measure (feet or meters).

In the event that the point cloud uses a local or unknown coordinate system, you can still use the point cloud to generate floor plan polylines, then select all the generated polylines and use the Move and Rotate tools on the Edit ribbon to translate them to the correct geographic location, using satellite imagery or another basemap as a reference. To preserve the generated polylines’ relative accuracy, avoid using tools that could scale or stretch (rubbersheet) the polylines.

When the facility is unfamiliar

When working with scanned data for a facility you know well, you may already have a good idea of what kinds of equipment, fixtures, and décor are present, and where doors, windows and walls are located. When the facility is unfamiliar, however, examining the point cloud may be only way to tell whether a gap between polylines is a doorway, a window, or just a gap caused by shadowing (occlusion) during the capture.

When you want to view LAS data in a 3D scene in ArcGIS Pro, there are some steps you can take to improve the experience:

  1. Pre-process large LAS files—To optimize point cloud data larger than 500 MB for viewing and analysis, use the Tile LAS geoprocessing tool to subdivide large LAS files, then create a LAS dataset from the tiles, and finally use the Build LAS Dataset Pyramid tool on the LAS dataset.
  2. Use the point thinning and scalability options available in ArcGIS Pro to improve performance when viewing the data.
  3. Use keyboard shortcuts to more easily navigate through small indoor spaces. Be sure to try Roam mode!
 

IndoorsBlog_GFPFPC_RoamMode_3x.gif

Figure 5. Navigating an indoor point cloud in a 3D Scene using Roam mode.

Generating floor plans

At this point, you should be ready to start the workflow for generating a floor plan from your indoor point cloud data. Here are a few tips to consider as you go: 

  • Leave the Explore tool active so you can click on any point in the cloud to see its z-value. Use the keyboard navigation shortcuts to override the mouse behavior for navigation. 
  • To preview the Generate Floor Plan From Point Cloud tool output for a large facility, set the Extent parameter (under Processing Boundary) to a representative subset of the facility, such as a single wing or a corner (roughly 100 square meters / 1000 square feet is a good size). This can save time when tuning the tool’s other parameters. 
  • To get better results from the Generate Floor Plan From Point Cloud tool, don’t be afraid to experiment with the Z Ranges parameter.  Start with a single z range that goes from the floor all the way to the ceiling. If there’s a lot of noise in the output (typically from furniture, fixtures, or décor with smooth vertical surfaces), try adjusting the z range so it goes from the top of the tallest furniture to the bottom of the lowest ceiling fixture. To reduce noise from wall-mounted fixtures, try using two z ranges, one that goes from the floor up to the bottom of the fixture, and another that goes from the top of the fixture to the ceiling. 
  • This was mentioned earlier but bears repeating: The Generate Floor Plan From Point Cloud tool only detects vertical surfaces. If the cross-section of the wall has elevations that are offset or not vertical (see Figure 6 below for some examples), use the Z Ranges parameter to exclude those elevations. 
     
    JasonHine_0-1733694412480.png

    Figure 6. Cross-section profiles of walls with offset or non-vertical cornices. Suitable z
    ranges are shown that go from the top of the furniture to the bottom of the cornice.

  • Don’t spend too much time trying to get better quality linework from the point cloud. The quality of the generated floor plan polylines can be affected by many factors, including architectural style, point density, sensor noise, reflections, shadowing, and wall décor. Plan to spend some time manually editing to close gaps, straighten lines, and remove unwanted features.  
  • When editing, you can turn on the reference grid to more easily align walls, and use snapping to ensure that polylines are connected.  
  • It’s easier to edit the polylines in a Map, but the point cloud can be an important visual reference to differentiate walls from furniture, shadows from doorways, and so on. A couple tips: 
    • You can place the Map and Scene side-by-side, then use view linking to sync up navigation. 
    • To visualize the polylines in the scene, you can set the polyline layer’s symbology to a 3D tube with a large enough size so that the tube edges poke out beyond the point cloud in the scene. 

JasonHine_1-1733694412484.png

Figure 7. Linked map and scene views. In the scene, the polyline layer is symbolized
with a thick 3D tube to make it visible in the point cloud.
 

  • In some cases where the generated polylines would require a lot of editing, it may be more efficient to treat the generated polylines as a guide for drawing the floor plan on a separate polyline layer, instead of editing the generated polylines directly. When doing this, you can turn snapping off for the generated polylines layer to more easily snap to the reference grid and other features. 

Lastly, when generating floor plans from point clouds, keep in mind how the floor plans will be used. Indoor GIS data for space management or office hoteling may require less accuracy and detail than other applications like indoor navigation. For example, a floor plan for ArcGIS Indoors-powered office hoteling requires an Indoor dataset with Units features representing the physical workspaces, but those features probably don’t need to be 100% accurate in shape or size, and other Units features for other spaces (corridors, common areas, etc.) as well as Details features (individual polylines representing walls, doors, windows, and other architectural details) may be considered optional.  

2 Comments
ThomasHoman
Frequent Contributor

Very nice and well put together. I look forward to your exploration of consumer scanners and where they can fit within the environment.

JasonHine123
Occasional Contributor

I learned something new today: In addition to Roam Mode, there's also a First-Person Navigation option that allows navigating an indoor point cloud using the arrow keys. To enable it, on the Navigate section of the Map ribbon, click the Explore dropdown and choose First-Person Navigation, or you can click this button on the Navigator UI:

JasonHine123_0-1734539785536.png

As an old-school FPS gamer, I'm finding the First-Person Navigation mode easier to use than Roam Mode. Check it out!