-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create and write tileset tile by tile #71
Conversation
Niiice :) I have been testing it since your message in #58 but I came across the following error for big tilesets:
I see that you added commits since then, I will try with this new version and let you know if I still hit this error. |
I didn't get this error, but since with this PR the surfaces are split after the kd_tree distribution, there were 500 buildings per tile even when creating textured 3DTiles. Since each building has ~20 surfaces, we tried to create atlas with 500 * 20 images. I guess the Atlas algorithm can't handle that much images. This commit should fix your problem. I had to limit the maxium number of buildings in the kd_tree to 25 when creating textures because having 10000+ images loaded was to much for the memory. With 25 buildings per tile, the number of surfaces (and images) is the same as before this PR. |
Ok, thanks for the details.
|
Sorry I forgot to mention it, but the method pip uninstall py3dtiles
pip install -e . |
Oh ok, thanks! I restart the transformation |
That did the trick thanks! The resulting 3D Tiles is rendered a bit faster (maybe due to the number of features per tile tat has been modified). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine to me, great job !
Perhaps, we may need to update the doc somehow to explain this new way to create a tileset (one tile at a time).
Also, in the future, try to keep one change by PR so that it is easier to read. Some changes here are related to the new name "Feature", to the new way of tiling, and to clarification of LOA creation.
42987f4
to
48a6e00
Compare
b876374
to
3cdaec7
Compare
It works like a charm, thanks! |
d5211ff
to
aa2505d
Compare
Use the centroid of the tile instead of the centroid of the tree. Using the centroid of the tree creates wrong bb/transform.
d6275d4
to
a824a71
Compare
Create and write the tileset tile by tile. Each tile is transformed (reprojected, translated, etc) separately. Once a tile is created, its content (.b3dm) is writen on the disk and deleted from the memory.
Also, the CityTiler now loads the geometries of the features tile by tile. The distribution of the features into tiles can be done with only the centroid of each feature. When dealing with huge amount of data, loading only the triangles of the current tile drastically reduce the memory usage.
This PR also comes with a rework of the LODs creation. The objectives were to:
See issue for more details
Note: py3dtiles needs to be uninstalled and reinstalled, else the
write_as_json
method of the TileSet class won't be found.