visgl / loaders.gl

Loaders for big data visualization. Website:
https://loaders.gl
Other
694 stars 190 forks source link

3D Tiles/Potree tooling overview #257

Closed ibgreen closed 3 years ago

ibgreen commented 5 years ago

3D Tiles

Potree

EPT Tools

PDAL

tomvantilburg commented 4 years ago

You might like to check out the recent EPT standard from https://entwine.io/entwine-point-tile.html for the use of point-clouds. I would perfer this relatively simple standard over 3D tiles whenever possible.

ibgreen commented 4 years ago

Thanks for the link, I knew entwine was doing tiles but didn't realize they have their spec available, that is great!

We are currently adding support for the potree format and are also looking at i3s.

And EPT looks very similar to potree (implicit bounding boxes?), should not be much extra effort.

The current idea is that we would provide a single "traversal API" for the app and the app would just import loaders for the formats it wanted to support, so a single app could easily support all formats.

We are looking for more collaborators to help us with this roadmap, which is part of why I reached out in the first place.

PS - Do you happen to have any contacts at entwine?

connormanning commented 4 years ago

Feel free to contact me via email (available via my github profile) or PDAL's gitter channel (https://pdal.io/community.html) for questions regarding Entwine or EPT.

As to where Entwine/EPT fits in the point cloud indexing ecosystem and its scope and goals in comparison with 3D-Tiles/PotreeConverter format, my recent FOSS4G Bucharest talk is linked on the main page of entwine.io and discusses this.

connormanning commented 4 years ago

For existing implementation references, see Potree's EPT geometry and the new EPT Tools project (which also demonstrates conversion from EPT->3D-Tiles) in Javascript, and PDAL's EPT reader in C++.

For public EPT datasets, see the demos at potree.entwine.io. The state/country datasets range up to about 500+ billion points which are some of the largest public ones we have available (Denmark, Netherlands, Kentucky). Also Hobbs, NM for a nice mobile dataset.

hobu commented 4 years ago

are also looking at i3s.

I3S point cloud is implemented in PDAL and the LEPCC encoder it uses is known to compile to JavaScript, but the PDAL project hasn't done any of that so far.

ibgreen commented 4 years ago

@connormanning Played around with your EPT code to see how it could fit into loaders.gl: https://github.com/uber-web/loaders.gl/pull/431. If this approach seems interesting, let's talk!

ibgreen commented 4 years ago

I3S point cloud is implemented in PDAL and the LEPCC encoder it uses is known to compile to JavaScript, but the PDAL project hasn't done any of that so far.

@hobu Hi and many thanks for the links to your PDAL I3S implementation!

First, let me just say that we are a big fans of your work, as you can see we already have a LASLoader in @loaders.g/las based on a fork of plasio. It is a "beast" code-size wise, but other than that it is awesome!

On the I3S side, we are just starting out (we are being advised by @Tamrat-B from ESRI).

Our strawman idea so far has been to:

Having access to your C++ implementation as a reference will certainly save us time, and perhaps we could even use transpilation of some parts to save us even more.

FWIW, long-term there are ideas about extending loaders.gl to also have a set of similar C++ loaders to support server-side and "hybrid" use cases, in which case we could e.g. choose to build a "loader wrapper" around your PDAL libraries.

ibgreen commented 4 years ago

Added additional tools (EPT Tools and PDAL) to the list in the description.

jianhuang01 commented 4 years ago

I3S point cloud is implemented in PDAL and the LEPCC encoder it uses is known to compile to JavaScript, but the PDAL project hasn't done any of that so far.

PDAL is amazing and flexible, we are looking forward to using it. But we need to read and write I3S point cloud data, does PDAL support the writing of I3S format?

hobu commented 4 years ago

does PDAL support the writing of I3S format?

No.

VTS https://vts-geospatial.org/ might be able to produce mesh I3S content for you, but I don't know its status on point clouds.