LP360 (Advanced) Planar Point Filter

Similar documents
Tools, Tips, and Workflows Automatic Ground Classification of Dense Point Clouds in LP360

The following sections provide step by step guidance on using the Toe Extractor. 2.1 Creating an Instance of the Toe Extractor Point Cloud Task

Tools, Tips and Workflows LP360 Under the Hood - The Conflation Point Cloud Task LP360

Tools, Tips, and Workflows LP360 Rail Extraction Tools LP360, versions and above

Tools, Tips, and Workflows Automatic Building Extraction

WMS 9.1 Tutorial Watershed Modeling DEM Delineation Learn how to delineate a watershed using the hydrologic modeling wizard

Tools, Tips and Workflows Geiger-Mode LIDAR Workflow Review GeoCue, TerraScan, versions and above

l GeoCue Group Support 2/8/2016 Revision 1.0

Tools, Tips, and Workflows An Introduction to LAS File Analyst LP360

Tools, Tips and Workflows Thinning Feature Vertices in LP360 LP360,

Tutorial: Using LiDAR Data for Power Line Corridor Management

Learn how to delineate a watershed using the hydrologic modeling wizard

Learn how to delineate a watershed using the hydrologic modeling wizard

Digital Photogrammetric System. Version 6.3 USER MANUAL. LIDAR Data processing

The Reference Library Generating Low Confidence Polygons

LIDAR Quality Levels Part 1

MODULE 1 BASIC LIDAR TECHNIQUES

Piping Design. Site Map Preface Getting Started Basic Tasks Advanced Tasks Customizing Workbench Description Index

TerraScan New Features

I CALCULATIONS WITHIN AN ATTRIBUTE TABLE

Watershed Analysis and A Look Ahead

Creating a New Plan File

Tutorial (Intermediate level): Dense Cloud Classification and DTM generation with Agisoft PhotoScan Pro 1.1

3DReshaper Help DReshaper Beginner's Guide. Surveying

(Refer Slide Time: 0:51)

Point Cloud Classification

Introduction to LiDAR

LESSON 2 MODELING BASICS

LP360 for ArcGIS Tool Guide

Lab 10: Raster Analyses

Classification Using Groups

Tools, Tips, and Workflows LP360 Under the Hood: Cross-sections LP360

MARS v Release Notes Revised: May 23, 2018 (Builds and )

Plotting Graphs. Error Bars

TSM Report Designer. Even Microsoft Excel s Data Import add-in can be used to extract TSM information into an Excel spread sheet for reporting.

Lab 10: Raster Analyses

Lab 11: Terrain Analyses

Pictometry for ArcGIS Desktop Local Guide For ArcGIS Desktop Version 10

HAPPY HOLIDAYS PHOTO BORDER

Lidar and GIS: Applications and Examples. Dan Hedges Clayton Crawford

GEON Points2Grid Utility Instructions By: Christopher Crosby OpenTopography Facility, San Diego Supercomputer Center

Excel Spreadsheets and Graphs

Chaos Culture. MIDI Modulators / Multiclip Note preview 1.6. Edited by Jason Cowling

Validation of Aerial LiDAR Products For Transportation Applications

Velocity: A Bat s Eye View of Velocity

Security Management System Object Counting

STUDENT PAGES GIS Tutorial Treasure in the Treasure State

Building level Rail embankments and correcting heights with XML. (V1.0) (Tangram)

How to use the ruler, grid, guides, and the Align panel

Digital Photogrammetric System. Version 5.3 USER GUIDE. Block adjustment

Spatial Density Distribution

COPYRIGHTED MATERIAL. Making Excel More Efficient

Graphical Cell Compiler

Geographical Information Systems Institute. Center for Geographic Analysis, Harvard University. LAB EXERCISE 1: Basic Mapping in ArcMap

Rationalize the Denominator: Get the root the denom. Multiply by more roots to cancel. w/ and w/

Tools, Tips, and Workflows Breaklines, Part 4 Applying Breaklines to Enforce Constant Elevation

AutoCollage 2008 makes it easy to create an AutoCollage from a folder of Images. To create an AutoCollage:

GeoCue Group, Inc Madison Blvd. Suite 202 Madison, AL DEM CuePac User Guide Version 2017.

OrgPublisher Advanced Box Layout Editor

Masking Lidar Cliff-Edge Artifacts

Clickteam Fusion 2.5 Creating a Debug System - Guide

Introduction to Microsoft Excel 2016

Piping & Instrumentation Diagrams

LiDAR Technical Report NE Washington LiDAR Production 2017

Statistics with a Hemacytometer

Tutorial 3: Constructive Editing (2D-CAD)

Technical Documentation Version 7.4. Performance

Adjust model for 3D Printing. Positioning - Orientate the part 13,0600,1489,1604(SP6)

Pictometry for ArcGIS Desktop Local Guide For ArcGIS Desktop Version 10.3

Spectroscopic Analysis: Peak Detector

This lesson combines vertical translations and dilations in several quadratic and inverse variation modeling applications.

TLS Data Processing and Exploration Manual

Piping & Instrumentation Diagrams

4) Click on Load Point Cloud to load the.czp file from Scene. Open Intersection_Demo.czp

Overview: The Map Window

Exam 2 Review. 2. What the difference is between an equation and an expression?

Access Intermediate

MAPLOGIC CORPORATION. GIS Software Solutions. Getting Started. With MapLogic Layout Manager

Creating an ArborCAD filter from Excel.

Chapter 3 Analyzing Normal Quantitative Data

Civil Engineering Computation

Access 2003 Introduction to Report Design

Files Used in This Tutorial. Background. Feature Extraction with Example-Based Classification Tutorial

Systems Space Reservation

Homework 1 Excel Basics

Karlen Communications Accessible Word Document Design Text Boxes and Accessibility. Karen McCall, M.Ed.

Files Used in this Tutorial

EDSL Guide for Revit gbxml Files

How to use Purple Pen

Getting Started With LP360

Creating raster DEMs and DSMs from large lidar point collections. Summary. Coming up with a plan. Using the Point To Raster geoprocessing tool

Section 4 General Factorial Tutorials

Slope Stability Problem Session

Tutorial (Beginner level): Orthomosaic and DEM Generation with Agisoft PhotoScan Pro 1.3 (with Ground Control Points)

Lab 12: Sampling and Interpolation

GENERAL AUTOMATED FLAW DETECTION SCHEME FOR NDE X-RAY IMAGES

v Mesh Generation SMS Tutorials Prerequisites Requirements Time Objectives

Part 6b: The effect of scale on raster calculations mean local relief and slope

Tutorial 14b: Advanced polygonal modeling

MARS v Release Notes Revised: December 20, 2018 (Builds )

Transcription:

LP360 (Advanced) Planar Point Filter L. Graham 23 May 2013 Introduction: This is an overview discussion of setting parameters for the Planar Point Filter Point Cloud Task (PCT) in LP360 (Advanced level). This applies equally to the ArcGIS and Windows versions (Figure 1). The Planar Point Cloud Task is sometimes erroneously referred to as the "Building Extractor" or similar wording. It actually is designed to reclassify points to a destination class (usually Class 6) based on their membership in a planar surface. Note that this filter reclassifies points; it does not create vectors. It is usually followed by the Point Group Tracing and Squaring PCT (Figure 2) to extract the actual planar surface outlines (typically rooftops when working with buildings) to create the actual vectors. The PCT "Macro" facility provides a way to run these two tasks sequentially using a user defined name (e.g. "Building Extractor"). Figure 1: Planar Point Filter On Line Help: First of all, the on-line help is fairly good for this although the descriptions of how the algorithm functions and some of the parameter descriptions are not as detailed as they need to be (we are working on improving this). The root help page is Figure 2: Point Group Tracing and Squaring Page 1 of 7

"Planar Filter Property Page." Since the help needs to be expanded, you need to let this document take precedence where a conflict exists. We will shortly update the help. Pre-classification: To effectively classify planar surfaces, it is first necessary to have a good ground classification. It is OK if this class is somewhat thin so long as the distribution of points is relatively uniform. The primary reason for this requirement (the ground classification) is that the ground itself often manifests as a planar surface. To separate ground from the true surfaces that we wish to extract, we use a height above ground criteria. Obviously for this to be effective, there must be a ground class. If you are also going to classify vegetation, you can do this either prior to or after planar surface extraction. Vegetation is usually just everything that is left above the ground when you are done with specific extractions. Setting Parameters: The parameters are described in their logical sequence, not the order in which they appear on the dialog (I recommend we change the parameter layout on the dialog to this order). Typical parameter values are indicated, where appropriate, in parenthesis. Source Points (Class = 0, 1; Return = Last, no other filters): These are the points that can be candidates for being members of the planar surfaces you are attempting to reclassify (the general strategy is to first classify Ground points). Generally you will want to include classes 0 and 1 ("Created, never classified" and "Unclassified", respectively). In nearly all cases, a return from a building roof (elevated parking lot or whatever planar surface you are attempting to extract) will be a last return. Thus, on the Source Points, Return Combination tab, select Last Return. It is always a good idea to see if your data have multiple returns by setting the view method to "Display by Return Combination. Note an example of defective return encoding in the LAS example of Figure 3. The returns are noted as Return 1 of 0, an obviously impossible situation. Thus if you set a return filter for this particular data set, nothing would get classified. This is unfortunate since Last Return is a powerful pre-filter for hard surfaces (ground, planar surfaces). Page 2 of 7

Figure 3: LAS data with defective return information Make sure that no filtering is being performed in the Elevation Range, Intensity and Flags tabs (although advanced users may have cause to do something different here). Use Height Filter (checked), Ground Points (Ground, Model Key Points; no other filters set), Minimum Height (at least 1.0 feet or 0.3 meters), Maximum Height (above the highest plane, relative to the Ground surface, in the data set): You will nearly always want to check Use Height Filter. This option causes the algorithm to construct a surface model using the points specified by the Ground Points setting (usually Ground and Model Key Points). Only points greater than (or equal to) the Minimum Height and less than (or equal to) the Maximum height relative to the Ground surface will be considered as candidates for planar classification. Measure the distance from the ground surface to the lowest planar surface you wish to classify (this is easy to do using the profile view) and set the Minimum Height a bit less than this. Similarly, find the highest planar surface you wish to classify and set the Maximum Height a bit above this. If you are doing a large batch job and don't want to search your data for these areas, simply set the Minimum Height to the lowest planar height you expect to find in the data and set the Maximum Height to some value that you know will be well above the highest planar surface. It is the Minimum Height that is most critical. This is because you will typically find that a large number of points at ground level are still in the Unclassified categories, even after Ground Classification has been performed. Many areas of the ground define nice planar surfaces so without the minimum height discrimination, you will end up classifying these points into your destination class. Page 3 of 7

Destination Class (Building): This is the class to which points that meet all of the planar detection criteria will be moved. For example, if you are detecting building roofs, set this class to Building (class 6). Note that you should not set this to one of the Source Points classes. Units: Specify the units (feet, meters) that you want to use to specify length, area input parameters. For example, if you want to input your parameters as meters, set this to meters. We use this to convert your input parameters to the units of the data. If the units of the data are "unknown" a conversion does not take place[sj1]. This particular setting performs the same function on all Point Cloud Tasks. Min. Plane Edge (Start at around ½ the minimum edge you want to detect): This is one of the more critical settings. In our algorithm, we will move a window around the data, trying to extract a planar patch that has a minimum square area of Min. Plane Edge X Min. Plane Edge. Thus you will want this parameter to be: Large enough such that at least 8 points are included in your planar patches Larger than the smallest planar surface you do not want to detect Small enough such that you can find multiple patches on the planes you are attempting to extract. The first criteria says that you want this parameter to be, as a minimum, a few times the nominal point spacing (NPS) of the LIDAR data (if you do not know the point spacing, it can be computed using the Point Cloud Statistics Extractor point cloud task). We call this point spacing the Nominal Point Spacing (NPS) or the Ground Sample Distance (GSD). For example, if your data GSD in the area where you are doing extraction is 1 meter, you will want your Min. Plane Edge parameter to be at least 3 or 4 meters. The second consideration is the minimum size of planar surfaces you do not want to detect. If there are none of these, then try around 4 times the NSP of your data. If, on the other hand, you are trying to exclude planar surfaces smaller than say 3 m x 3m, set your Min. Plane Edge to a bit over this minimum (in this example, say 3.5 m). The last criteria says don't try to extract the entire plane at one fell swoop! Our algorithm works by aggregating patches of the planar surface. That said, it is good to include a statistically meaningful number of points in the test patch area. A good rule of thumb is at least 30 points. Maximum Grow Window Area (500): Set this parameter to 500 and do not tune. It is used for certain advanced tuning situations that you are not likely to encounter. The Grow areas is used for the following - When we find a test patch that meets all of the planar parameters, we attempt to grow this patch into the surrounding points. The main purpose of this is to ensure that edges of the plane (e.g. edge of a roof) and planar breaks Page 4 of 7

(e.g. where a dormer window roof meets the main roof) are added to the classified points[sj2]. Plane Fit (0.4): This parameter specifies the "tightness" of fit that you will require before you declare the points within the test patch area to be a plane. This works as follows. We move the test patch about, looking for points that will define a planar surface. When we find such a location, we fit all of the points (that pass the Source and Ground Points tests) to a plane. We then compute the standard deviation of the points with respect to this planar surface (in other words, how much the points deviate from the surface in a direction perpendicular to the surface). This standard deviation is compared to the value you have set as the Planar Fit parameter. If the standard deviation of the points exceeds the Planar Fit parameter, this test patch is rejected and we move to another area. Thus this parameter is critical to finding planar surfaces. Set too small and you will find no planar surfaces at all. Set too large and you will start to extract points that do not define true planes (such as points in trees and so forth). You can get a pretty good handle on how to set this by looking at a few profiles of the typical planes in your data set (using the Profile View window). Zoom in on a profile and measure how noisy the points are (how much they deviate from the planar surface). Min. Slope (degrees), Max. Slope (degrees): Once we have a candidate test planar patch, we test to see if the extracted planar patch is within the bounds of the slope parameters. Thus set the Min. Slope to the minimum planar surface slope you wish to detect. For example, if all of the roofs you wish to extract have slopes larger than 20, set the minimum to 20. Similarly, set the Max. Slope parameter to a value just above the highest slope angle plane you wish to detect. If you do not want to filter at all by slope, set the Min Slope to 0 and the Max. Slope to 90. Note that setting the slope angles to just envelop what you want to detect helps filter out extraneous surfaces. N Threshold (0.4): Once we find a plane (as determined by the Plane Fit parameter and Slope envelope criteria), we exclude any points that are farther away from the plane than N Threshold. Note that N means Normal as in a line perpendicular to a plane. Thus this N Threshold removes "outliners" from the data that are considered to belong to the plane. The general idea is to find a value of N Threshold that will include all the plane points (even if they are noisy) but exclude points off the plane such as tree branches overhanging roofs and so on. Of course, if the tree is directly on the roof, this will not be possible! This parameter is literally the perpendicular distance (in meters or feet, depending on how you have set the Units parameter) from the defined plane to the point being tested. The N threshold is the critical parameter once we start "growing" a plane. Once we have a patch that fits the Plane Fit criteria, we start growing the patch (unless you have set Maximum Grow Window Area smaller than the initial patch size). As we move into the grow area, we test points that pass this Threshold test. Page 5 of 7

What to do if totally lost: The best approach is to set values and then experiment. Find a typical area in your data set and zoom to a view level that encompasses sufficient planar surfaces for testing the extraction. Display the manual classification toolbar so that you will have ready access to the Undo Classification facility. Set your Source Point filter as suggested above. If you suspect that you may not be getting any source points, create a View Filter with settings identical to your Source Points filter and see what is displayed. This is a very useful diagnostic trick for all of the Point Cloud Tasks. If you have no planar points at all coming though the Source Point filter, you won't find any planes! Make sure that you have units defined for your data. If you do not, you may have a meters/feet scaling problem. This is because we assume that the LIDAR data has the units set in the Point Cloud Task Units setting if it is not set for the project and do not convert the values set on the dialog. Make sure that you have checked Use Height Filter and that you have properly set the Ground Points filter. If you are not sure, create a view filter with identical settings and ensure you see the ground class. Visualize it as a TIN and make sure it looks correct. If you are positive that the filter is correctly set but your ground class does not look correct, you may need to reclassify ground. Set the Minimum Height to a small value, say 1.0 feet. Set the Maximum Height to a large value, say 5,000 feet (the goal is to eliminate ground level planes via the Minimum Height but leave the top end open). Use the Point Cloud Statistics tool to figure out the Nominal Point Spacing of your LIDAR data in the vicinity of your test area planes. Alternatively, zoom in until you can see individual points. Force 100% display and measure the distance between points. Make sure you are setting the Min, Plane Length to at least 3 or 4 times the NPS you reckoned in the prior step. Set the Maximum Grow area to 500. You generally will not want to tune this value except for a basic test that is outlined in the hint section below. Set the Plane Fit to some fairly large value, say 1.0 Set the N Threshold to this same value. Make sure you Apply your settings!!! Page 6 of 7

Now run the filter by using the Point Cloud Task Rectangle tool to drag a rectangle over your test area. Observe your results (make sure that your destination class is included in your current display filter!). Now start adjusting the parameters, one at a time, by running through a sequence of pressing the Undo Classification tool to unwind the last classification, changing the parameter you are investigating (remembering to press the Apply button!) and reclassifying via the rectangle tool. You should soon start getting a feel for how the parameters are affecting your result. Hint - A good diagnostic is to set the Maximum Grow Window Area to zero. The result of processing under this condition will show you all of the Test Patch planes that are being located in your data set. You will typically see a patchy planar surface. Don't try to fill the gaps - that is the job of the Grow routine (which you have temporarily disabled). First work on the Min. Plane Edge parameter (with the Plane Fit and N Threshold numbers set to 1.0). Find a value that gives a good distribution of planar areas. Don t worry about points in trees and so forth being classified these will be taken care of in a later step. You will find a sweet spot for this setting. Start small and move up, classifying a rectangular area, inspecting the results and then hitting Undo to undo the classification. You will reach a point of maximum classification area and then, as you further increase Min. Plane Edge, the areas classified will diminish. Once you are satisfied with the Plane Edge parameter, adjust the Plane Fit and N Threshold parameters. You will want to decrease the Plane fit parameter first. This setting will help prevent classification of regions that are not truly planar (such as trees). Recall, these parameters effectively say how noisy the planar surface can be. Tune to the point you want and then reset the Grow value as recommended above. Remember, an excessively large Grow Window can significantly slow processing without adding any value to the results. Page 7 of 7