lasboundary merge workflow suggestion

66 views
Skip to first unread message

Damon Estep

unread,
Dec 3, 2017, 11:20:17 PM12/3/17
to last...@googlegroups.com

Martin,

 

Can you suggest a workflow for lasboundary building extraction for a case where there are ~2,000 one square km laz tiles? I find that I have speed issues and memory errors trying to use the –merge option (20 billion points), and a lot of time consumption merging the polygons in a desktop GIS program if I don’t.

 

Current workflow is:

 

lasboundary -i *.laz ^

-keep_classification 6 ^

-concavity 1.5 ^

-disjoint ^

-odix "bldg" ^

-oshp ^

-cores ##

 

Running this on laz tiles that still have a 10% buffer so the building polygons overlap between tiles to aid in dissolving in a desktop GIS program.

 

If I add –merge, the multi-core processing breaks and I encounter memory allocation errors long before completion.

 

Is there a better way?

 

Wouldn’t it be more efficient if the –merge option attempted to merge the result files instead of the input las files?

 

Thank you,

 

Damon

Martin Isenburg

unread,
Dec 16, 2017, 12:32:02 AM12/16/17
to LAStools - efficient command line tools for LIDAR processing
Hello Demon,

one approach to speed up your process would be something between running on your current (small) tiles and a (gigantic) merge of all tiles is to create a temporary tiling with larger tiles containing only building points solely for the purpose of running lasboundary.


In the ideal case you have used the switch '-flag_as_withheld' when you created the '-buffer 50' points in your initial run of lastile so that we can easily drop the buffer points here with '-drop_withheld'. Otherwise you'll have to explicitly remove the buffers first with another I/O-heavy call to lastile.

:: create new larger tiling (adaptive strategy)

lastile -i tiles_classifies\*.laz ^
          -drop_withheld ^
          -keep_class 6 ^
          -tile_size 20000 ^
          -buffer 50 -flag_as_withheld ^
          -refine_tiling 15000000 ^
          -odir tiles_large -o large.laz

:: if needed refine tiles (with more 15 million points) with

lastile -i tiles_large\large*_20000.laz ^
           -refine_tiles 15000000 ^
           -flag_as_withheld ^
           -olaz -cores 4

lastile -i tiles_large\large*_10000.laz ^
           -refine_tiles 15000000 ^
           -flag_as_withheld ^
           -olaz -cores 4

lastile -i tiles_large\large*_5000.laz ^
           -refine_tiles 15000000 ^
           -flag_as_withheld ^
           -olaz -cores 4

And then run lasboundary on the fewer resulting large tiles. Should lead to much less time consumption in terms merging the polygons in a desktop GIS program

Regards.

Martin @rapidlasso

Reply all
Reply to author
Forward
0 new messages