connormanning / entwine

Entwine - point cloud organization for massive datasets
https://entwine.io
Other
451 stars 128 forks source link

non isotropic Octree (or rollback to quadtree) #273

Closed julienlau closed 1 year ago

julienlau commented 2 years ago

Given most of my data is ground data on planar landscape, I have the feeling that the Z index won't be very helpful compared to X and Y indexes.

Would it be possibe to consider non-isotropic spatial tree ? Example : "8-4-1" to consider a split along Z axis only below levels X/8 and Y/4

Otherwise : would it be possible to consider an option to disable Z index to have a more uniform tiling on XY only ?

I know that empty voxel are not written, but very sparse voxel may be a waste of time and could be merged in some cases by using non-isotropic tree.

defaultbranch commented 2 years ago

@julienlau my hunch is that one could use the --scale option for that purpose (it also accepts a vector, not only a scalar), see https://entwine.io/configuration.html#scale; however, I did not try this myself.

If you try this, please report briefly whether this worked (as expected) or not.

Caution: since you use Entwine, and Entwine is for producing 3D-tiles: are your clients ready to process non-cubic 3D-tiles?

connormanning commented 1 year ago

Prior to the EPT spec we actually tried this and found it not to work well in practice (for example renderers looking at the top of a tall building would overfetch meaningless data on the ground). Also it would be a huge maintenance headache to support both - so I think this would have to be a fork. Also, the EPT specification is definitively described as 3D with bisected cubes so this would not be compliant output - again pointing to this being a fork/specific application if you need this.