Closed ibgreen closed 3 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.
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?
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.
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.
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.
@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!
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.
Added additional tools (EPT Tools and PDAL) to the list in the description.
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?
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.
3D Tiles
Potree
EPT Tools
PDAL