2016 foss4 g track: grass gis point cloud exploratory data analysis by robert dzur

4
GRASS GIS Point Cloud Exploratory Data Analysis An Open Source toolkit for point cloud data processing 1. Abstract The objective of this presentation is to share information about: GRASS GIS software, its point cloud data handling capabilities, and demonstrate practical use cases. GRASS GIS is a powerful open source software package that provides a full array of raster and vector processing capability. GRASS GIS offers flexible capabilities for rapid and effective point cloud data processing across a wide domain of collection sources. This paper/presentation demonstrates LiDAR-specific GRASS GIS processing functionality. These point cloud capabilities focus on point cloud data import, analysis, and visualization. Exploratory analysis techniques demonstrate data creation methods for development of derivative point cloud products such as intensity imagery, point cloud density statistics and GIS feature extraction. Strategies for automation of such products is also covered. Example analysis includes products generated using data collected from mobile highway corridor LiDAR, airborne LiDAR and photogrammetric point cloud data sources. 2. GRASS GIS Software GRASS GIS, originally developed by the US Army Corp of Engineers (USACE) during the 1980s remains today a highly capable open source GIS project. The software is available across multiple OS platforms including Windows, Linux and Mac OS X. GRASS GIS commands can be 1 run through a through a command line interface (CLI) as well as through a Python-based graphical user interface (GUI). GRASS GIS is integrated with the Geospatial Data Abstraction Library (GDAL/ OGR) which allows for import and export of a wide variety of geospatial data formats. With regard to point cloud data, GRASS currently depends on the libLAS library for point cloud import. 3. Exploratory Analysis Point cloud datasets present data processing challenges given their size and volume. While GRASS GIS can import point clouds as points, for exploratory analysis, it may be advantageous to work with and represent the point cloud data as a raster. This is useful for visualizing and rapidly assessing point cloud data. GRASS uses the command “r.in.lidar” for direct import of point cloud data in ASPRS LAS format. This command quickly bins the point cloud data according to a specific raster resolution using a user defined method (such as mean, min, max, count, etc.) to import the points. Options allow for tailoring and filtering which points are imported. For example, a user can choose to import data by return, classification, or by a specific elevation range. Data exploration by its very nature implies that the character of the data we are dealing with may be unknown. Geospatial point clouds typically represent high volumes of information that can be challenging to efficiently analyze. Our understanding of these types of data can be enhanced and expanded using the raster analytical processing tools that GRASS GIS offers. This paper showcases some of these capabilities using practical exploratory data analysis examples from a variety of point cloud data sources. https://grass.osgeo.org 1 September 2016 Denver, CO GIS in the Rockies 1 Figure 1. GRASS GIS logo.

Upload: gis-in-the-rockies

Post on 07-Jan-2017

22 views

Category:

Technology


0 download

TRANSCRIPT

GRASS GIS Point Cloud Exploratory Data AnalysisAn Open Source toolkit for point cloud data processing

1. Abstract The objective of this presentation is to share

information about:

• GRASS GIS software,

• its point cloud data handling capabilities, and

• demonstrate practical use cases.

GRASS GIS is a powerful open source software package that provides a full array of raster and vector processing capability. GRASS GIS offers flexible capabilities for rapid and effective point cloud data processing across a wide domain of collection sources. This paper/presentation demonstrates LiDAR-specific GRASS GIS processing functionality. These point cloud capabilities focus on point cloud data import, analysis, and visualization. Exploratory analysis techniques demonstrate data creation methods for development of derivative point cloud products such as intensity imagery, point cloud density statistics and GIS feature extraction. Strategies for automation of such products is also covered. Example analysis includes products generated using data collected from mobile highway corridor LiDAR, airborne LiDAR and photogrammetric point cloud data sources.

2. GRASS GIS Software GRASS GIS, originally

developed by the US Army Corp of Engineers (USACE) during the 1980s remains today a highly capable open source GIS project. The software is available across multiple OS platforms including Windows, Linux

and Mac OS X. GRASS GIS commands can be 1

run through a through a command line interface (CLI) as well as through a Python-based graphical user interface (GUI). GRASS GIS is integrated with the Geospatial Data Abstraction Library (GDAL/OGR) which allows for import and export of a wide variety of geospatial data formats. With regard to point cloud data, GRASS currently depends on the libLAS library for point cloud import.

3. Exploratory Analysis Point cloud datasets present data processing

challenges given their size and volume. While GRASS GIS can import point clouds as points, for exploratory analysis, it may be advantageous to work with and represent the point cloud data as a raster. This is useful for visualizing and rapidly assessing point cloud data. GRASS uses the command “r.in.lidar” for direct import of point cloud data in ASPRS LAS format. This command quickly bins the point cloud data according to a specific raster resolution using a user defined method (such as mean, min, max, count, etc.) to import the points. Options allow for tailoring and filtering which points are imported. For example, a user can choose to import data by return, classification, or by a specific elevation range. Data exploration by its very nature implies that the character of the data we are dealing with may be unknown. Geospatial point clouds typically represent high volumes of information that can be challenging to efficiently analyze. Our understanding of these types of data can be enhanced and expanded using the raster analytical processing tools that GRASS GIS offers. This paper showcases some of these capabilities using practical exploratory data analysis examples from a variety of point cloud data sources.

https://grass.osgeo.org1

September 2016 Denver, CO GIS in the Rockies �1

Figure 1. GRASS GIS logo.

4. General Workflow Independent of the data source in the

demonstrated workflows, the r.in.lidar command is the primary means of point cloud data import to GRASS. In some cases, for visualization purposes, the data are imported using the intensity option—to provide for a photo like quality of the resulting raster. Other analytical processing tasks import the point cloud data as an elevation model or digital surface model (DSM). With automation, these import functions can be combined to produce multiple visualizations from the same point cloud source. Working in the raster domain, it is 2

important to recognize that GRASS uses the concept of the computational region which confines analysis to a defined raster window (resolution, rows, and columns).

5. Examples 1. 1-25, Albuquerque, NM

In this first example r.in.lidar is executed on a mobile LiDAR point cloud consisting of more than 211 million points captured along a 3 mile segment of Interstate 25 in Albuquerque, NM. In this application, the point cloud intensity values are imported to create an intensity image for assessment of project horizontal control. After import the intensity image can be further enhanced to fill small areas of nodata using GRASS’s r.fillnulls command.

GRASS supports scripting in Python or Bash.2

September 2016 Denver, CO GIS in the Rockies �2

Map Display

2D / 3D

View

Integrate

Bash / Python

Script

#!

r.out.gdal

v.out.ogr

Export

r.* - Raster

v.* - Vector

i.* - Imagery

g.* - General

db.* - Database

t.* - Time

Analyze

r.in.lidar

v,in.lidar

Import

Figure 2. Generalized overview of GRASS GIS workflow for point cloud data with options for integration, analysis, visualization and export.

Figure 3. View of mobile LiDAR point cloud; south bound I-25, Albuquerque, NM.

2. Calabacillas Arroyo, Albuquerque, NM

The next example, uses r.in.lidar to import two different point clouds of varying resolutions and acquisition times. After import, GRASS’s r.mapcalc is used to detect and visualize elevation changes between the two datasets. Changes are detected and output as both rasters and polygons in KML format. This process is automated in a bash script that runs in approximately 1 minute.

3. Santa Fe County, NM

A more traditional LiDAR analysis follows with analysis of two strips of LiDAR flight line data, each containing more than 100 million points. In this case, r.in.lidar is run on only first return points to analyze spatial regularity and distribution of the swaths. The “r.stats” command also calculates the percentage of data having no points (zero (0)) in the gridded raster. For visualization, the process also computes a DSM and an intensity image which is also processed to a pdf with the “ps.map” command.

4. Rio Grande, NM

In this example a photogrammetric-derived historic point cloud developed from 1962 imagery is imported by r.in.lidar as an intensity image and as a DSM. The intensity image provides for a panchromatic orthophoto view of these data which are subsequently processed with GRASS’s

September 2016 Denver, CO GIS in the Rockies �3

Interstate 25 Intensity Image

Moblie LiDAR (0.3 ft GSD)

0 100

feet

Interstate 25 Intensity Image

Moblie LiDAR (0.3 ft GSD)

0 100

feet

Figure 4. Raw intensity at 0.3 ft. ground sample distance (GSD) (left) and with bilinear nodata filling (right).

Figure 6. 2014-2010 change—negative (blue) positive (red).

Figure 5. Side-by-side view of 2010 Lidar (left) and 2014 photogrammetric point cloud (right).

Strip 101 Point Per Cell Map4.66 ft GSD

0 0.5

miles

Strip_101_intensity_466ft

Figure 7. Southern portion of number of points per cell “count” map for flight line strip 101 (above). Full swath intensity map for strip 101 in pdf format (right).

�i.segment command for object based image analysis. The DSM is processed to slope and aspect using the r.slope.aspect command. Terrain roughness is calculated using a contributed GRASS extension—r.roughness.vector. This example underscores the open nature of GRASS and the ability to contribute and use extensions which can be compiled through the g.extension command.

5. Boca Negra Arroyo, Albuquerque, NM

In the Boca Negra Arroyo case study, r.in.lidar develops a DSM from 187 million points which is then analyzed with GRASS’s r.watershed command to produce a basin map. Associated flow maps are produced and the basin polygon is vectorized and

generalized to smooth the raster polygon boundary. These processes are completed for the 16 sq. mile basin at 6 ft resolution in under 10 minutes.

6. Lubbock, TX

More than 3,700 2016 photogrammetric point cloud datasets were processed over the City of Lubbock to support targeted building footprint collection. Under a couple of different data processing scenarios, r.in.lidar effectively processes these high volume big data. For improved throughput the project is split among multiple GRASS GIS sessions. Decimated point cloud data also provides an option for the most rapid processing and visualization scenario completing a 3-foot DSM mosaic for over 500 square miles in approximately 4-hours of processing time.

AcknowledgementGRASS Development Team, 2015. Geographic Resources Analysis Support System (GRASS) Software, Version 7.0. Open Source Geospatial Foundation. http://grass.osgeo.org

Michael Barton, PhD. - GRASS Macintosh Binaries http://grassmac.wikidot.com/

More information: Robert S. Dzur, [email protected] 2016 Denver, CO GIS in the Rockies �4

0.31962 Object Based Image Analysis (OBIA)

threshold=0.3 (i.segment) random colors

0 1

kilometers

1962 Photography − U.S. Bureau of Reclamation

Point Cloud Orthophoto (0.6 m GSD)

0 1

kilometers

1962 Digital Surface Model (DSM)

Color Shaded Relief (elevation in meters)

0 1

kilometers

1962 Slope Map

Point cloud derived slope (in degrees)

0 1

kilometers

Figure 8. Both image processing and terrain analysis performed on 1962 point cloud data to explore historic river channel.

Flow Accumulation 0 5

miles

Figure 9. GRASS computed flow and stream network.

Figure 10. 2016 full resolution semi-global matching point cloud with 140+ million points.

2016 Lubbock Digital Surface ModelSemi−global matching photogrammetric point clouds (3763)

0 10

miles

Figure 11. Color shaded relief DSM mosaic at 3-ft. GSD.