PDAL: Point cloud Data Abstraction Library Release 1.6.0 Andrew Bell Brad Chambers Howard Butler Michael Gerlek PDAL Contributors Dec 14, 2017 CONTENTS 1 News 3 1.1 10-12-2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 About 5 2.1 About . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 Download 13 3.1 Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Quickstart 15 4.1 Quickstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5 Applications 23 5.1 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6 Community 39 6.1 Community . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7 Drivers 41 7.1 Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.2 Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7.3 Writers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 7.4 Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8 Dimensions 185 8.1 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 9 Python 189 9.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 10 Tutorials 193 10.1 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 11 Workshop 239 i 11.1 PointCloudProcessingandAnalysiswithPDAL . . . . . . . . . . . . . . . . 239 12 Development 323 12.1 Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 12.2 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 12.3 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 12.4 License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 12.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 13 Indicesandtables 455 Bibliography 457 Index 459 ii PDAL: Point cloud Data Abstraction Library, Release 1.6.0 PDALisaC++BSD(http://www.opensource.org/licenses/bsd-license.php)libraryfor translatingandmanipulatingpointclouddata(http://en.wikipedia.org/wiki/Point_cloud). Itis verymuchliketheGDAL(http://www.gdal.org)librarywhichhandlesrasterandvectordata. TheAbout (page5)pageprovideshighleveloverviewofthelibraryanditsphilosophy. Visit Readers(page50)andWriters(page79)tolistdataformatsitsupports,andseeFilters (page104)forfilteringoperationsthatyoucanapplywithPDAL. Inadditiontothelibrarycode,PDALprovidesasuiteofcommand-lineapplicationsthatusers canconvenientlyusetoprocess,filter,translate,andquerypointclouddata. Applications (page23)providesmoreinformationonthattopic. Finally,PDALspeaksPythonbybothembeddingandextendingit. VisitPython(page189)to findouthowyoucanusePDALwithPythontoprocesspointclouddata. TheentirewebsiteisavailableasasinglePDFathttp://pdal.io/PDAL.pdf CONTENTS 1 PDAL: Point cloud Data Abstraction Library, Release 1.6.0 2 CONTENTS CHAPTER ONE NEWS 1.1 10-12-2017 PDAL1.6.0hasbeenreleased. VisitDownload (page13)toobtainacopyofthesourcecode, orfollowtheQuickstart (page15)togetgoinginahurrywithDocker (https://www.docker.com/). 3 PDAL: Point cloud Data Abstraction Library, Release 1.6.0 4 Chapter 1. News CHAPTER TWO ABOUT 2.1 About 2.1.1 What is PDAL? PDAL(https://pdal.io/)isPointDataAbstractionLibrary. ItisaC/C++opensourcelibrary andapplicationsfortranslatingandprocessingpointclouddata (https://en.wikipedia.org/wiki/Point_cloud). ItisnotlimitedtoLiDAR (https://en.wikipedia.org/wiki/Lidar)data,althoughthefocusandimpetusformanyofthe toolsinthelibraryhavetheiroriginsinLiDAR. 2.1.2 What is its big idea? PDALallowsyoutocomposeoperations(page104)onpointcloudsintopipelines(page41) ofstages. ThesepipelinescanbewritteninadeclarativeJSONsyntaxorconstructedusingthe availableAPI. Why would you want to do that? AtaskmightbetoloadsomeASPRSLAS (http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html) (themostcommonLiDARbinaryformat)dataintoadatabase,butyouwantedtotransformit intoacommoncoordinatesystemalongtheway. OneoptionwouldbetowriteaspecializedmonolithicprogramthatreadsLASdata,reprojects itasnecessary,andthenhandlesthenecessaryoperationstoinsertthedataintheappropriate formatinthedatabase. Thisapproachhasadistinctdisadvantageinthatwithoutcareful planningitcouldquicklyspiraloutofcontrolasyouaddnewlittletweaksandfeaturestothe operation. Itendsupbeingveryspecific,anditdoesnotallowyoutoeasilyreusethe componentthatreadstheLASdataseparatelyfromthecomponentthattransformsthedata. 5 PDAL: Point cloud Data Abstraction Library, Release 1.6.0 ThePDALapproachistochaintogetherasetofcomponents,eachofwhichencapsulates specificfunctionality. Thecomponentsallowforreuse,composition,andseparationof concerns. PDALviewspointcloudprocessingoperationsasapipelinecomposedasaseriesof stages. YoumighthaveasimplepipelinecomposedofaLASReader (page59)stage,a Reprojection(page173)stage,andaPostgreSQLWriter (page98),forexample. Ratherthan writingasingle,monolithicspecializedprogramtoperformthisoperation,youcan dynamicallycomposeitasasequenceofstepsoroperations. Fig.2.1: AsimplePDALpipelinecomposedofareader,filter,andwriterstages. APDALJSONPipeline(page41)thatcomposesthisoperationtoreprojectandloadthedata intoPostgreSQLmightlooksomethinglikethefollowing: { 1 "pipeline":[ 2 { 3 "type":"readers.las", 4 "filename":"input.las" 5 }, 6 { 7 "type":"filters.reprojection", 8 "out_srs":"EPSG:3857" 9 }, 10 { 11 "type":"writers.pgpointcloud", 12 "connection":"host='localhost' dbname='lidar' user='hobu'", 13 "table":"output", 14 "srid":"3857" 15 } 16 ] 17 } 18 PDALcancomposeintermediatestagesforoperationssuchasfiltering,clipping,tiling, transformingintoaprocessingpipelineandreuseasnecessary. Itallowsyoutodefinethese pipelinesasJSON(https://en.wikipedia.org/wiki/JSON),anditprovidesacommand,pipeline (page31),toallowyoutoexecutethem. Note: Rasterprocessingtoolsoftencomposeoperationswiththisapproach. PDAL conceptuallystealsitspipelinemodelingfromGDAL(http://gdal.org/)’sVirtualRasterFormat 6 Chapter 2. About
Description: