Generate floor plans from point clouds

Tool icon Available with the ArcGIS Indoors Pro or ArcGIS Indoors Maps extension. Additionally requires 3D Analyst, and either the Spatial Analyst or Image Analyst extensions.

You can use point cloud data produced from scanning indoor spaces to generate vector floor plans in an Indoors workspace. This can be helpful for creating floor plan data for spaces where CAD or BIM data is either unavailable or outdated.

Importing point cloud data to an Indoors workspace involves the following high-level steps:

  1. Prepare a LAS file that meets the prerequisites.
  2. Generate polyline features for vertical surfaces (such as walls and doors) in the LAS point cloud using the Generate Floor Plan From Point Cloud tool.
  3. Conduct quality assurance and editing workflows on the output polylines to ensure that they reflect building floor plans to an acceptable level of detail and accuracy.
  4. Import the output polyline features as units, levels, facilities, and details in an Indoors workspace using the Import Features To Indoor Dataset tool.
  5. Apply attribution and additional data validation and cleanup to the Indoors workspace.

Each step is described in the sections below.

Prepare LAS data

Point cloud data comes in many formats, and can vary widely in terms of density, accuracy, and other characteristics. Before generating polylines from point cloud data, ensure that the data meets the following requirements:

  • File Type—The point cloud must be in a .las or .zlas file.
  • LAS version—LAS version 1.2 and later is supported.
    Tip:

    To view the data version of an LAS file in ArcGIS Pro, right-click the file in the Contents pane and click Properties.

The following is a list of additional recommendations:

  • Coordinate system—The points in the cloud must have XY coordinates in a projected coordinate system suitable for the geographic location of the facility. Z-values may be relative to the ground, sea level, or any other reference.

    If your point cloud uses a local coordinate system, you can use the Move, Rotate, and Scale tools in the Modify Features pane to reposition the generated polylines as needed.

  • Point spacing—An average point spacing of 0.2 inches (5 millimeters) or less is recommended. A larger average spacing can lead to less continuous results. You can review the average point spacing in ArcGIS Pro in the Properties pane for LAS files and datasets.
    Tip:

    To view the average point spacing of the LAS file in ArcGIS Pro, right-click the file in the Contents pane and click Properties.

  • Accuracy—A positional accuracy of ±0.4 inches (10 millimeters) or better is recommended. Poor accuracy in the point cloud can lead to less accurate results. Check the specifications of the data capture device for positional accuracy information.
  • RGB values—Used for inspecting the point cloud in a scene to determine the composition and extent of areas of interest within the point cloud.

Generate polylines from point cloud data

Once you've exported a point cloud and, if necessary, converted it to LAS, you can generate floor plans from the LAS data.

The Generate Floor Plan From Point Cloud tool generates 2D polyline features for walls, doors, and other vertical surfaces in LAS point cloud data. If the point cloud dataset represents multiple floors or facilities, you can specify z-ranges and processing extents to generate floor plan features for a specific floor.

Note:

Before generating polylines, inspect the point cloud data to determine the extent and z-range for optimal processing to avoid furniture and locations where data may be absent due to glass surfaces.

To generate polyline features from point cloud data with the Generate Floor Plan From Point Cloud tool, complete the following steps:

  1. Start ArcGIS Pro.
  2. Sign in to your ArcGIS organization if necessary.
  3. On the Analysis tab, click the Tools button Tools, and click Toolboxes in the Geoprocessing pane.
  4. Expand Indoors Tools and double-click the Generate Floor Plan From Point Cloud tool.
  5. Specify a LAS dataset (.las, .zlas, or .lasd) for the Input Point Cloud parameter.
  6. Verify that the Coordinate System parameter has the correct spatial reference information.

    The Coordinate System parameter is automatically set according to the input point cloud's coordinate system. If no coordinate system is specified in the point cloud data, you must manually specify its coordinate system.

  7. Specify a name for the output polyline feature class for the Output Line Features parameter.
  8. Optionally, specify a z-value for the output polyline features using the Output Z Value parameter. The default is 0 meters.
    Note:

    The value specified should be the z-value for the walking surface of the level being imported. The tool will automatically convert the selected unit of measurement if necessary.

  9. Ensure that the Simplify Lines check box is checked.

    This parameter straightens generated output polylines and removes extra unnecessary vertices during processing.

    Tip:

    To retain the unsimplified linework, uncheck the Simplify Lines check box. This can be useful for visualizing small variations that may be removed by simplification.

  10. Optionally, specify z-values for the Z Ranges parameter.

    By specifying one or more processing z-ranges, you can generate lines for a specific floor of a multifloor point cloud, and reduce artifacts caused by furniture, light fixtures, and other objects captured in the point cloud data. You can determine desired z-values by examining the point cloud data in a scene in ArcGIS Pro and use the Explore tool to find the z-values on a floor that are above furniture features and below ceiling fixtures.

    Room with furniture and ceiling fixtures and z-range values
    A minimum z-value of 1 and a maximum z-value of 2 are set to avoid capturing furniture and ceiling fixtures in a room.
  11. Optionally, specify a value for the Short Feature Tolerance parameter. The default is 1 meter.

    Features shorter than or equal to the specified tolerance are removed unless they are within 0.05 meters of other features. Use a value of zero to avoid removing short features, which can be helpful for visualizing wall positions in sparse point cloud data.

  12. Optionally, specify an area for the Extent parameter.

    By specifying an extent, you can generate lines for a specific facility or area within a facility, and reduce artifacts caused by differences in ceiling heights, indoor landscaping, or other architectural elements found in different areas of a facility.

  13. Optionally, on the Environments tab, specify a value for the Parallel Processing Factor environment setting.

    The tool uses 50 percent of the machine's available processing resources by default.

  14. Click Run.

The tool creates an output polyline feature class containing larger connected polylines generated from the input point cloud data.

Inspect the output

After generating polylines, you can perform cleanup work on the polyline feature class to ensure the polyline data meets your needs for creating floor plans. This can help ensure that the Import Features To Indoor Dataset tool can successfully import units, details, and other relevant indoor features from the generated polylines. For example, if you only require rough unit boundaries, you can focus on inspecting the linework that makes up unit spaces. You can also enhance or remove linework caused by furniture, ceiling fixtures, and other architectural features to suit your needs.

Cleanup work may involve creating new lines to close gaps in walls, selecting and deleting unwanted features, and moving or reshaping linework for accuracy. You can use the tools in the Create Features and Modify Features panes in ArcGIS Pro to assist with cleanup work.

For example, you can use the Align Features tool in the Modify Features pane to reshape polylines to be contiguous with other polyline features in situations in which linework does not line up precisely. When Indoors is licensed for ArcGIS Pro, an additional parameter named Offset is available in the Align Features tool, which can be used to preserve distance between polyline features to model wall thickness in the floor plan. The Align Features tool can be accessed on the Edit ribbon tab, by clicking Modify Modify Features in the Features group.

You can use the following tools in the Create Features and Modify Features panes to inspect and modify the polyline features:

  • Create—Use to add polylines to close gaps due to sparse or missing data.
  • Extend—Use the extend method to extend existing polylines and close gaps.
  • Trim—Use the extend method to extend existing polylines and close gaps.
  • Split—Use to break long polylines into smaller polylines.
  • Merge—Use to join polylines together.

Learn more about geometry requirements and geometry best practices for CAD data

Import polylines to an Indoors workspace

After generating polylines from point cloud data and performing any required cleanup work, you can use the Import Features To Indoor Dataset tool to populate the Units, Levels, Facilities, and Details layers of an Indoors workspace using the polyline features generated by the Generate Floor Plan From Point Cloud tool.

The input polylines are imported by the tool and used to create polygons representing units, levels, and facilities in the respective layers of the Indoors workspace. Optionally, polylines can be directly imported into the Details feature class to represent walls, doors, and windows, or you can decide not to import them into the Details layer if you plan to create detail features using Floor Plan Editor or a preconfigured map template.

Advanced options within the tool settings allow you to further control the behavior of how polygons are created. The Short Feature Tolerance parameter can be used to delete short polyline features from the data and clean up dangling endpoints when creating polygons.

The tool supports importing one level at a time, and requires defining level information such as Level Name and Vertical Order to enable functionality with indoor GIS workflows.

Apply attributes and validate the Indoors workspace

After importing the polyline features to an Indoors workspace, you can populate additional attributes and validate the indoor dataset.

The Import Features To Indoor Dataset tool populates attributes needed to establish hierarchical relationships between Facilities, Levels, Units, and Details features, as well as the attributes needed to support floor awareness in a map. You can populate additional attributes used for symbology, labeling, or additional indoor GIS functionality.

The following is a list of example uses cases for attributes:

  • Map symbology—The USE_TYPE field in the Units layer is used to support unique symbology for offices, corridors, and other traversable spaces to make them easily identifiable on an indoor map.
  • Labeling and search—The NAME field in the Units layer is used to support displaying room names and searching capabilities in the Indoors web and mobile apps.
  • 3D scenes—The HEIGHT_RELATIVE field in the Facilities layer is used to support converting facility polygons to 3D facades for realistic 3D visualization in Indoor Viewer.
  • Multiple sites—The SITE_ID field in the Facilities and Sites layers is used to support the ability to choose from multiple sites and facilities in the floor filter.
  • Indoor navigation—The USE_TYPE field in the Units and Details layers is used to support identification of traversable spaces and barriers when generating pathways and floor transitions for an indoor routable network.

To ensure your data conforms to the ArcGIS Indoors Information Model, you can create and run attribute rules on your indoor dataset. Validation rules and topology checks can be customized to meet your organization's quality control requirements.