NOTE:- I’m using TypeScript
What is the best way to add point primatives to a timeline?
I have them on the map however they aren’t tied to a time?
I have added them to viewer.scene.primitives however I can’t see anything in PointPrimative that ties it to a time.
Can someone point me in the right direction on the best practice for PointPrimative on Timelines?
You will need to create an Entity on which you may specify PointGraphics properties if you want Cesium to handle time for you. Was there something in particular that lead you to use PointPrimitive?
We were plotting a day of Lidar data which was slow to load using CzmlDataSource. We have 30,000 points that change every 10 minutes.
So we thought (maybe incorrectly?) that plotting basic points would be faster.
We’re new to Cesium as a team so we’ve just been doing a bit of trial and error
It sounds like you will be creating your own file format to send to the client which would avoid most of the parsing overhead associated with CZML. That might give you enough of a performance boost to manage each time slice in an EntityCollection and let Cesium handle time.
Alternatively, you could manage a list of PointPrimitiveCollections and then subscribe to the Scene’s preUpdate Event in which you would hide the points in the “active” PointPrimitiveCollection and show the points in the time appropriate PointPrimitiveCollection.
What format is your LiDAR data in? If you have it as LAS/LAZ it would be significantly faster to load it as 3D Tiles. See https://cesium.com/docs/tutorials/import-point-clouds/
There isn’t currently a built-in way to do time-dynamic 3D Tiles, but one way is to create a 3D Tileset for each time slice, and show/hide these as the timeline changes.
We’ve moved away from the Point Primitive for now. (We’ve decided to load smaller CzmlDataSource files)
Thanks for your assistance