I have satellite data over time that is provided to Cesium in ECF coordinates via CZML. It includes a path as well. Naturally, being a satellite track, this looks odd in ECF coordinates.
Is there a way to update the data, within Cesium after loading the CZML, to show the path and display the trajectory in ECI coordinates? I would like to avoid recreating the entire conversion process externally.
Found a way to do this. Not great - I'm using data that isn't listed in the API, but it seems to work, at least for now...
for(var t_index=0; t_index<entity._position._property._times.length; ++t_index) {
var temp_position = entity._position.getValueInReferenceFrame(entity._position._property._times[t_index],Cesium.ReferenceFrame.INERTIAL);
entity._position._property._values[3*t_index] = temp_position.x;
entity._position._property._values[3*t_index+1] = temp_position.y;
entity._position._property._values[3*t_index+2] = temp_position.z;
}
entity._position._referenceFrame = Cesium.ReferenceFrame.INERTIAL;
Hi there,
You have the right idea! You should be able to modify the reference frame of the PositionProperty using the public API:
var entities = dataSource.entities.values;
for (var i = 0; i < etities.length; i++) {
var entity = entities[i];
entity.position.referenceFrame = Cesium.ReferenceFrame.INERTIAL;
}
``
See the Visualizing Spatial Data tutorial for more on entity properties and how they work.
Thanks,