Open Source Point Cloud Web Services with Greyhound

Hobu, Inc. has been leading the development of open source LiDAR processing tools for almost ten years, starting first with our libLAS project and evolving those tools to the more general PDAL point cloud processing library. We recently developed open source tools with business friendly licensing for point cloud data organization (Entwine) and web services (Greyhound). In this article, I will describe Greyhound, a point cloud web service, and I will show how you could use it in combination with browser based WebGL clients to manage massive collections of LiDAR data on the web.

Web services, such as those pioneered by OGC standards WFS, WMTS, and WCS, simplify a user’s data management headache down to managing a simple URL for raster and vector data. These services provide standard authorization and access approaches, enable pluggable infrastructure, and tell a known scaling story if indeed a service does get popular. A similar service approach to provide point cloud services and data management for statewide LiDAR collections was needed.

A successful point cloud service must let a client control and predict the pace at which it receives data, and it must let the server predict the resources required to answer requests for data. Without that symmetry, any point cloud web service will fall over or fall out of use due to poor client performance. With Greyhound, clients control the rate at which they consume data, in contrast to a fixed and static tiling scheme, and server applications control their resource consumption in proportion to request demand. To achieve this, Greyhound meets four design criteria:

* lossless
* level of detail
* dynamic data schema
* compression

Entwine achieves the task of lossless storage, indexing and organization of every point and any metadata. Clients that wish to provide responsive visualization can ask for level of detail subsets with predictable performance and predictable volume. For a point cloud service to be agnostic to scanner, software, and arrangement, specification about content must be light handed and dynamic. The fourth required feature is compression, and Greyhound adapted LASzip to work with dynamic data schemas and implemented native C++ and JavaScript support for it.

Greyhound makes development of browser based rendering clients that handle billions of points possible. Here we see the Plasio client making requests to a Greyhound service providing the LiDAR data for the Netherlands, a collection nearly 640 billion points in size. The interaction is completely in the browser, Safari in this case.

As the user pans and zooms the interface, the Plasio client computes queries and makes them against the Greyhound server. A WMTS server provides imagery overlay that Plasio projects onto the points. The request tiling scheme is up to the client, and smart ones can make uniformly computed requests to participate with edge caching infrastructure.

Alternatively, another open source WebGL point cloud client called Potree connects to a Greyhound server that manages and provides approximately five billion points around New York City. Potree has unique features for the measurement and interrogation of point cloud data, provides fancy rendering effects, and works better in mobile situations. In this video we use Potree’s exploitation capabilities to generate a 2D profile of the Brooklyn Bridge.

Potree connects to the same Greyhound service that the Plasio uses. Each client has different strengths — Plasio does WMTS overlay in the browser and Potree provides a suite of measurement and interrogation tools. The web service allows each client to shine in its niche without users having to worry about data management. Other point cloud applications like algorithmic exploitation, structured geometry matching, and multi-resolution generalization can leverage the organization and query predictability Greyhound provides.

Users want rich interaction with extremely large data sets without spending significant time managing it. Open source approaches from Hobu, Inc. for organizing (Entwine) and serving (Greyhound) point cloud data make it easy for them to do just that. To see these in action, visit http://speck.ly/ or http://potree.entwine.io/ and find the software at http://greyhound.io/ and https://entwine.io/.

Written by Howard Butler of Hobu Inc.

Hobu, Inc. is a leading open source point cloud and LiDAR processing, dissemination, and data management software company located in Iowa City, Iowa. Hobu, Inc. manages the PDAL, Entwine, and Greyhound open source software projects, which have been used to construct massive point cloud data management repositories for clients such as USACE and USGS.

Leave a Reply

Your email address will not be published. Required fields are marked *