CzmlDataSource Process not ingesting all info

1. A concise explanation of the problem you're experiencing.

When I load czml into my czml datasource via process, It is only ingesting the last value sent through.

In my example below I Sent a property bag named animation through with two intervals with different strings.

When I process this It takes only the last value and I need both.

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.

CZML sent->

animation: Array(2)
0: {interval: "2019-04-26T21:35:57.38574410000001Z/9999-12-31T23:59:59.9999999Z", string: "scat2"}
1: {interval: "2019-04-26T21:35:57.38574410000001Z/9999-12-31T23:59:59.9999999Z", string: "scat1"}
length: 2
__proto__: Array(0)
animationPercent: Array(2)
0: {interval: "2019-04-26T21:35:57.38574410000001Z/9999-12-31T23:59:59.9999999Z", number: 1}
1: {interval: "2019-04-26T21:35:57.38574410000001Z/9999-12-31T23:59:59.9999999Z", number: 1}

After: module.loadCZML = function(data) {
        var czmlData = data.DATA;

        console.log('czmlData', czmlData);
        czmlDataSource.process(czmlData); // loads the czml into
                          // cesium


_properties: PropertyBag
_animation: TimeIntervalCollectionProperty
_definitionChanged: Event {_listeners: Array(1), _scopes: Array(1), _toRemove: Array(0), _insideRaiseEvent: false}
_intervals: TimeIntervalCollection
_changedEvent: Event {_listeners: Array(1), _scopes: Array(1), _toRemove: Array(0), _insideRaiseEvent: false}
_intervals: Array(1)
0: TimeInterval {start: JulianDate, stop: JulianDate, data: "scat1", isStartIncluded: true, isStopIncluded: true}
length: 1
__proto__: Array(0)
changedEvent: (...)
isEmpty: (...)
isStartIncluded: (...)
isStopIncluded: (...)
length: (...)
start: (...)
stop: (...)
__proto__: Object
definitionChanged: (...)
intervals: (...)
isConstant: (...)
__proto__: Object
_animationPercent: TimeIntervalCollectionProperty {_definitionChanged: Event, _intervals: TimeIntervalCollection}

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

I need to check if an animation is fired at a specific time to chane a models animation

It looks to me like the two intervals here are the same:

0: {interval: “2019-04-26T21:35:57.38574410000001Z/9999-12-31T23:59:59.9999999Z”, string: “scat2”}
1: {interval: “2019-04-26T21:35:57.38574410000001Z/9999-12-31T23:59:59.9999999Z”, string: “scat1”}


So the last one received will overwrite the previous. Do these signify what animation should play at certain time intervals? I would try changing the time and see if that fixes it.

If that doesn’t work, if you can put together a Sandcastle I can run like this one with your CZML, it’ll make it easier to determine whether or not it’s a bug.

Hey Devon,

Just saw this on here and hopefully Omar pointed you in the right direction. If this is related to playing animations simultaneously, then your current setup will not work. You will need to use a more complex string format to express the animation names to play and times/percentages for each one. That is what motivated the JSON encoding I showed you a while back. Let me know if this is still an issue for you!