locationtech / geotrellis

GeoTrellis is a geographic data processing engine for high performance applications.
http://geotrellis.io
Other
1.34k stars 361 forks source link

Pointcloud functionality in GeoTrellis #2391

Closed lossyrob closed 6 years ago

lossyrob commented 7 years ago

We need a clear plan for point cloud functionality in GeoTrellis. The plan has been, at the point of writing this, is to have an external project names geotrellis-pointcloud which holds this functionality. It has the code that reads las/laz/etc point cloud data via PDAL java bindings into Spark RDDs, as well as distributed operations on point cloud RDDs such as DEM generation.

I hit a use case where I needed the DEM generation, but not the PDAL stuff. Namely, we were importing a set of lidar derived contour lines in a process where we dissolved very dense lines and wanted to derive a TIN from those points (the original lidar pointclouds were not available). This could use all of the pointcloud functionality that lives in geotrellis-pointcloud, without the additional burden of installing the PDAL binaries and the required configuration to allow the JNI bindings to work.

There seems to be two paths here:

Either path suggests an abstraction of functionality on top of an interface into point cloud types, that can either be served by PDAL types or something like Array[Coordinate].

I'll catalog the functionality that I see in geotrellis-pointcloud, that would have to be cleaned up and made generally useful:

Looking for ideas on how to do this split, and what should be in GT core and an external geotrellis-pointcloud or geotrellis-pdal project.

echeipesh commented 6 years ago

Project now lives in: https://github.com/geotrellis/geotrellis-pointcloud