hi,
being new to 3d tiles I'd appreciate some input:
I have a growing data set of (potentially millions of) points all over the surface of the globe. each data point is displayed as an instance of the same model. in order to limit the total amount of instances visible at a time, I am generating 3d tiles that are meant to correspond to different zoom levels (camera altitudes) in cesium (– basically just like image tiles).
the root tile spans the entire globe, which is then recursively subdivided into 4 quadrants. on the most zoomed in level you will see all the data points, on more zoomed out levels you will only see smaller and smaller subsets of the data set per tile region.
currently I have .i3dm files with fake data and tilesets referenced as external files. for instance the root tile looks like this. it has 5 children: 1 .i3dm file and 4 external tilesets.
{
"asset": {
"version": "0.0"
},
"geometricError": 18914501.65107806,
"root": {
"refine": "replace",
"boundingVolume": {
"region": [
-3.141592653589793,
-1.4844217274429492,
3.141592653589793,
1.4844217274429492,
-1,
1
]
},
"geometricError": 18914501.65107806,
"children": [
{
"content": {
"url": "1-1-1.i3dm"
},
"boundingVolume": {
"region": [
-3.141592653589793,
-1.4844217274429492,
3.141592653589793,
1.4844217274429492,
-1,
1
]
},
"geometricError": 18914501.65107806
},
{
"content": {
"url": "2-1-1.json"
},
"geometricError": 9457250.82553903,
"boundingVolume": {
"region": [
-3.141592653589793,
0,
0,
1.4844217274429492,
-1,
1
]
}
},
{
"content": {
"url": "2-3-1.json"
},
"geometricError": 9457250.82553903,
"boundingVolume": {
"region": [
0,
0,
3.141592653589793,
1.4844217274429492,
-1,
1
]
}
},
{
"content": {
"url": "2-3-2.json"
},
"geometricError": 9457250.82553903,
"boundingVolume": {
"region": [
0,
-1.4844217274429492,
3.141592653589793,
0,
-1,
1
]
}
},
{
"content": {
"url": "2-1-2.json"
},
"geometricError": 9457250.82553903,
"boundingVolume": {
"region": [
-3.141592653589793,
-1.4844217274429492,
0,
0,
-1,
1
]
}
}
]
}
}
the `geometricError` of each tile is its height in meters — I read that "often the radius in meters makes an ok geometric error". I wonder if this is still a good rule of thumb in my case. like many others, I am kind of clueless what value to choose for this.
what do I have to do to achieve the following:
- show only tiles of the same level (depending on cesium camera altitude)
- ideally I'd be able to specify (in meters) at which heights the switch from one level to the next happens
- only show tiles that are currently visible to the user. (I assume this is already happening.)
thanks a lot in advance!