Replies: 10 comments 4 replies
-
@mfitzer You are correct. The potree effort was started but not completed. We were planning to get back to it but so far it hasn't happened. FWIW completing potree support should be a small effort since it is such a simple format and we already support the much more complex I3S and 3D tiles formats. I'd certainly be happy to guide anyone who wants to try their hand at completing the work and I suspect the I3S maintainers would also be willing to help review. For 2.1, we did get input from potree creator Markus Schütz on how to update to 2.1, also a small effort, but we obviously didn't get around to that either. One of the problems with original potree datasets is that they tend to lack geospatial reference. The point clouds look awesome in isolation but are hard to position correctly on maps next to other geospatial data which is one of the main goals of the loaders.gl / deck.gl stack. |
Beta Was this translation helpful? Give feedback.
-
Not really. Currently there is a lot of activity on tiled data formats in loaders.gl, building out full support for I3S (building scene layers etc) and also 3D tiles .Next, but potree seems to never quite make it to the top of the list.
Yes that is of course a great idea. That would "anchor" it correctly if the app knows the location. But even so, the scale and orientation of the point cloud can be quite arbitrary (i.e. it positions might not be specified in meters and east-north-up coordinates). |
Beta Was this translation helpful? Give feedback.
-
Absolutely. The issue is more that your app really needs to know a number of parameters about the tilesets, and providing those parameters is not super trivial for the user / developer. If you have them handy then no problem of course. |
Beta Was this translation helpful? Give feedback.
-
I hope potree is supported. |
Beta Was this translation helpful? Give feedback.
-
@ibgreen Looking at the source code it seems nothing has changed in the implementation state since then. I've currently do not have much knowledge about the potree data format, but it seems that at least the I think the potree format is would be a great addition to loaders.gl (and deck.gl), since it's free and open source and has an excellent point cloud converter. Many other formats (3D Tiles, I3S) do not have easy to use and up to date open source converters which make these formats hard to use in projects that do not allow to use proprietary software. |
Beta Was this translation helpful? Give feedback.
-
There is a small amount of work left to parse the different files. The biggest part of the effort is to make the potree loader convert the parsed tiles and output a "normalized" tile structure, that can be understood by the tile traversal in the loaders.gl That normalized format just got a lot easier to work with as a pass was made to add typescript typings. I'd be happy to pair up with and coach someone who is willing to do the work. |
Beta Was this translation helpful? Give feedback.
-
If you are interested in giving it a go and would like to discuss more in depth please sign up to the deck.gl community and ping me there. |
Beta Was this translation helpful? Give feedback.
-
Great to see that integration within loaders-gl of the the Potree v1.x and v2 formats is still on your mind and that ts typings will easen that effort! Quick feedback regarding something you said earlier in this thread I just noticed: Potree datasets are indeed georeferenced, as long as the input pointcloud file has the point coordinates defined in a Coordinate Reference System that is well defined (via an EPSG code or proj4 string like UTM grid, lambert for france etc - which can by the way be stored within a las file VLR header). In potree, this CRS can be defined via a proj4js string within the cloudjs file, and point coordinates conversion from original CRS to another one could be computed via proj4 transform. For example, all our 200 potree datasets on app.iconem.com are georef'ed and can be displayed on top of a google 3D-tiles or osm or cesium basemap as shown in this example. |
Beta Was this translation helpful? Give feedback.
-
Yes I believe georeferencing was added in a potree spec update that happened after those comments were made. Older potree files are probably not georeferenced. Still, good availability of newer georeferenced potree files does increase the value of completing this loader. We do have proj4 support (e.g. via the complementary math.gl library). However, I am not sure if our LAS/LAZ loader can extract that metadata. Would have to test on a file. Because that particular loader (LAS) is special in that it uses a compiled C++ -> JavaScript code chunk (instead of being written in TypeScript) and we are not able to add features (e.g. LAS 1.4 support etc) |
Beta Was this translation helpful? Give feedback.
-
Are there any updates on this? From the looks of the @loaders.gl/potree implementation, I gather only Potree v1 is implemented. |
Beta Was this translation helpful? Give feedback.
-
I have a point cloud that's in the potree format and I'd like to visualize it with deck.gl's Tile3DLayer. I see on the 3D Tiles Loaders page a PotreeLoader is listed, but when I click on the link for documentation, I get a 404 not found page.
However, I found that I can still install the npm package @loaders.gl/potree. So, I did some digging to see if I could figure out how to use it:
POTREE_HIERARCHY_CHUNK_URL
is pointing to a file that I don't have in my potree dataTo wrap up, here are the main questions I have:
Unhandled Rejection (TypeError): Cannot read properties of undefined (reading 'refine')
Beta Was this translation helpful? Give feedback.
All reactions