2016 foss4 g track: grass gis point cloud exploratory data analysis an open source toolkit for...

Post on 07-Jan-2017

61 views 1 download

Transcript of 2016 foss4 g track: grass gis point cloud exploratory data analysis an open source toolkit for...

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

September, 2016

Robert S. Dzurrdzur@bhinc.com

1

grass.osgeo.org

A reliable and flexible open source analytical geospatial processing engine

2

grassmac.wikidot.com

Introduction

• Exploratory Analysis?

• What/Why GRASS?

• GRASS with point cloud?

• Examples

• Future?

• Take aways

3

Exploratory Analysis

• Point Cloud

• Vast amounts of data

• Millions / Billions of Points

• Challenges

• Visualize

• Validate

• Analyze

• Rapid

4

Processing Workflow Overview

5

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

GRASS GIS - Point Cloud Data Import

$ r.in.lidar -e -o --overwrite input=<required> \ output=<required> method=min zrange=5000,6000 \ resolution=2.0 return_filter=last class_filter=2

-e = extend computational region based on dataset

-o = override dataset project - use grass database

-- overwrite = overwrite dataset - often needed in exploratory mode

method = choose statistic (min, mean, max…etc) for raster import binning

zrange = only import points between 5000 and 6000

return_filter = filters by first, middle, last return

class_filter = filters by classification (2 = ground)

6

Format: ASPRS - LAS*

Computational Region

• Raster processing significant & powerful

• Vector processsing not as important

• except when deriving vectors from raster

7

Interstate 25, Albuquerque, NM

Mobile LiDAR Visualization

8

G

R

A

S

SIG

9

I-25, Albuquerque, NM211.8 million pointssize 7.2 GB3 miles

10

grass terminal window

11

r.in.lidar graphical user interface (gui)

Interstate 25 Intensity Image

Moblie LiDAR (0.3 ft GSD)

0 100

feet

Assessment

12

Interstate 25 Intensity Image

Moblie LiDAR (0.3 ft GSD)

0 100

feet

Assessment

12

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

Assessment

12

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

Assessment

12

Calabacillas Arroyo, Albuquerque, NM

Change Detection

13

G

R

A

S

SIG

LiDAR 20101.4 m NPS182 MB

Photogrammetry 20145M Points 37M Points6-inch GSD

1.27 GBprocessing time: 52

seconds

14

15

highlights: r.in.lidar x 2

•r.in.lidar• dsm

• dsm

•r.mapcalc

16

r.mapcalc

r.mapcalc --overwrite expression="SGM_minus_LiDAR = SGM_2014_CAB - LiDAR_2010_CAB"

2014 2010 difference- =

Extract change areas (raster & vector)differences between ±1 & ±10 feet

17

Santa Fe, NM

Data Validation

18

G

R

A

S

SIG

19

strip 101 flight line109.4 million points

size 3.78 GB7 minutes and 31 seconds

strip 100 flight line102.1 million pointssize 3.54 GB

Visualize / Analyze - ~37 mi. by 0.45 mi. point clouds

Santa Fe County, NM

19

strip 101 flight line109.4 million points

size 3.78 GB7 minutes and 31 seconds

strip 100 flight line102.1 million pointssize 3.54 GB

Visualize / Analyze - ~37 mi. by 0.45 mi. point clouds

Santa Fe County, NM

Spatial Distribution and Regularity

• density grid =

• 2 X design ANPS =

• 2 * 0.71 = 1.42 m

• 90 percent of the cells in the grid =

• 1 point

• Using individual (single) swaths,

• only the first return points

• located within the center part

• Excluding acceptable data voids

20

21

highlights: r.in.lidar x 3

•r.in.lidar•intensity

•dsm

•count

•r.stats•ps.map

22

Strip 101 Point Per Cell Map4.66 ft GSD

0 0.5

miles

Strip 101 Intensity Image4.66 ft GSD

0 0.5

miles

Strip 101 Color Relief MapElevation in feet

0 0.5

miles

-i intensity method=min

r.in.lidar

count

return=first

• number of points in cell

23

count

• Strip 100 = 0.10% = zero

• Strip 101 = 0.08% = zero

r.stats -acpl in=$map4 sort=asc sep=comma output=- > output/$map21

cat output/$map21 | grep ^0, >> output/zero_count.csv

24

output - visualization

ps.map --overwrite input=output/$map22 output=output/$map23ps2pdfwr -dPDFSETTINGS=/prepress -r1200 output/$map23

Strip 100 Strip 101

Strip_100_intensity_466ft Strip_101_intensity_466ft

Rio Grande, NM

1960s - River Centerline

25

G

R

A

S

SIG

26

LiDAR 2014Santa Fe County

strip 101 flight line swaths109.4 million points

size 3.78 GB7 minutes and 55 seconds

LiDAR 2014Santa Fe Countystrip 100 flight line swaths102.1 million pointssize 3.54 GB4 minutes and 2 seconds

Bureau of Reclamation 1962 Photos83.2 million pointssize 2.16 GB12 hours, 52 minutes and 55 seconds11 square miles11 river miles

Rio Grande Bosque Farms, NM

highlights: r.in.lidar x 2

27

• r.in.lidar• intensity (ortho)

• dsm

• i.segment• obia

• r.slope.aspect• r.roughness.vector

28

1962 Digital Surface Model (DSM)

Color Shaded Relief (elevation in meters)

0 1

kilometers

1962 Photography − U.S. Bureau of Reclamation

Point Cloud Orthophoto (0.6 m GSD)

0 1

kilometers

r.in.lidar

-i intensity dsm

1960s vintage QL2 surface

29

0.51962 Object Based Image Analysis (OBIA)

threshold=0.5 (i.segment) random colors

0 1

kilometers

0.31962 Object Based Image Analysis (OBIA)

threshold=0.3 (i.segment) random colors

0 1

kilometers

0.21962 Object Based Image Analysis (OBIA)

threshold=0.2 (i.segment) random colors

0 1

kilometers

0.051962 Object Based Image Analysis (OBIA)

threshold=0.05 (i.segment) random colors

0 1

kilometers

0.11962 Object Based Image Analysis (OBIA)

threshold=0.1 (i.segment) random colors

0 1

kilometers

0.021962 Object Based Image Analysis (OBIA)

threshold=0.02 (i.segment) random colors

0 1

kilometers

i.segment

30

1962 Aspect Map

Point cloud derived aspect (in degrees)

0 1

kilometers

1962 Slope Map

Point cloud derived slope (in degrees)

0 1

kilometers

r.slope.aspect

slope aspect

31

1962 Topographic Dispersion Map

Surface roughness Fisher’s K parameter (r.roughness.vector)

0 1

kilometers

1962 Topographic Strength Map

Surface roughness vector strength (r.roughness.vector)

0 1

kilometers

strength fisher’s k

g.extensionr.roughness.vector

31

1962 Topographic Dispersion Map

Surface roughness Fisher’s K parameter (r.roughness.vector)

0 1

kilometers

1962 Topographic Strength Map

Surface roughness vector strength (r.roughness.vector)

0 1

kilometers

strength fisher’s k

g.extensionr.roughness.vector

Grohmann, C.H., Smith, M.J. & Riccomini, C., 2011. Multiscale Analysis of Topographic Surface Roughness in

the Midland Valley, Scotland. Geoscience and Remote Sensing, IEEE Transactions on, 49:1200-1213. http://

dx.doi.org/10.1109/TGRS.2010.2053546

Boca Negra Arroyo, Albuquerque, NM

Drainage Basin Study

32

G

R

A

S

SIG

33

LiDAR 2014Santa Fe County

strip 101 flight line swaths109.4 million points

size 3.78 GB7 minutes and 55 seconds

LiDAR 2014Santa Fe Countystrip 100 flight line swaths102.1 million pointssize 3.54 GB4 minutes and 2 seconds

Mid-Region Council of Governments 2010 LiDAR187.6 million points (1.4 m NPS)

size 6.38 GB7 minutes and 4 seconds

Boca Negra Arroyo, Albuquerque, NM

highlights: r.in.lidar x 1

• r.in.lidar• dsm

• r.watershed• accumulation

• direction

• basin

• flow path

• v.generalize

34

DSM

35

Elevation: MRCOG2010 (feet) 0 5

miles

Flow Accumulation

36

Flow Accumulation0 5

miles

37

Basin Boundary

v.generalize input=$map8 output=$map10 method=chaiken threshold=6 --overwrite

37

Basin Boundary

v.generalize input=$map8 output=$map10 method=chaiken threshold=6 --overwrite

38

Basin Boundary - 16.3 sq. miles

Lubbock, TX

DSM Development - Targeted Building Collection

39

G

R

A

S

SIG

40

LiDAR 2014Santa Fe County

strip 101 flight line swaths109.4 million points

size 3.78 GB7 minutes and 55 seconds

LiDAR 2014Santa Fe Countystrip 100 flight line swaths102.1 million pointssize 3.54 GB4 minutes and 2 seconds

2016 Photogrammetric Semi-global Matching Point clouds1 file: 141 million points (3-inch GSD)

size 4.82 GB3763 total files - 502 square miles

4 hours and 18 minutes

Lubbock, TX

highlights: r.in.lidar x 1

• r.in.lidar• dsm

• r.to.vect• polygon outline

v.hull• generalize

v.buffer• interior clip

• r.out.gdal• output GeoTiff

41

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

0 10

miles

Point Cloud DSM

• Decimated Point

Cloud

• 141 M -> 4 M (2%)

• 4.6 GB -> 140 MB

• r.in.lidar

• 3.0 ft GSD

• 4 hours processing

• 6 core machine

• 10 simultaneous

GRASS databases

42

43

2016 Lubbock DSMColor Relief Map (elevation in feet)

0 0.5

miles

2015 Lubbock DSMColor Relief Map (elevation in feet)

0 0.5

miles

r.in.lidar

2015 leaf-off 2016 leaf-on

2016 Lubbock Normalized Difference Vegetation Index (NDVI)

DSM / NDVI Candidate Building Detection

Buildings

Candidate Building 0 0.25 44

New Candidate Buildings

2016 NDVI

• GRASS 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/

Acknowledgements

45