var vehicleroute = Cesium.CzmlDataSource.load('./Source/SampleData/CZMLfromSUMO_multiVeh_model.czml');
var var_dataSource;
vehicleroute.then(function (dataSource) {
viewer.dataSources.add(dataSource);
var_dataSource = dataSource;
var entities = var_dataSource.entities.values;
for(let i=0;i<entities.length;i++){
let entity = entities[i];
entity.orientation = new Cesium.VelocityOrientationProperty(entity.position);
entity.position.setInterpolationOptions({
interpolationDegree:3,
interpolationAlgorithm: Cesium.HermitePolynomialApproximation
});
}
}); //single vehicle case but with composite property of orientation
var vehicleroute = Cesium.CzmlDataSource.load('./Source/SampleData/CZMLfromSUMO_singleVeh.czml');
var vehicle;
var compositeOri = new Cesium.CompositeProperty();
vehicleroute.then(function (dataSource) {
viewer.dataSources.add(dataSource);
vehicle = dataSource.entities.getById('Point');
vehicle.model = {
uri: './Source/SampleData/Models/CesiumMilkTruck.gltf',
minimumPixelSize: 12,
maximumScale: 1000,
silhouetteColor: Cesium.Color.WHITE,
};
compositeOri.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
iso8601 : '2019-05-08T00:00:00Z/2019-05-08T00:00:39Z',
data : Cesium.VelocityOrientationProperty(vehicle.position)
}));
compositeOri.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
iso8601 : '2019-05-08T00:00:40Z/2019-05-08T00:01:25Z',
data : 0
}));
vehicle.orientation = compositeOri;
vehicle.position.setInterpolationOptions({
interpolationDegree : 3,
interpolationAlgorithm : Cesium.HermitePolynomialApproximation
});
});
var stopOri = new Cesium.ConstantProperty(movingOri.getValue(timepoint));". But since I am a beignner in Cesium I don't know how to get "timepoint"-- the last time point in the first interval during which the vehicle is moving. Could anyone help me? The github project link is: https://github.com/kathy-lee/cesium_traffic_model/tree/f7f858f970b5616c5d211574e27c2f8ae4538afc. Any help would be appreciated. var vehicleroute = Cesium.CzmlDataSource.load('./Source/SampleData/CZMLfromSUMO_singleVeh.czml');
var vehicle;
var compositeOri = new Cesium.CompositeProperty();
vehicleroute.then(function (dataSource) {
viewer.dataSources.add(dataSource);
vehicle = dataSource.entities.getById('Point');
vehicle.model = {
uri: './Source/SampleData/Models/CesiumMilkTruck.gltf',
minimumPixelSize: 12,
maximumScale: 1000,
silhouetteColor: Cesium.Color.WHITE,
};
var movingOri = new Cesium.VelocityOrientationProperty(vehicle.position);
var stopOri = new Cesium.ConstantProperty(movingOri.getValue(timepoint));
compositeOri.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
iso8601 : '2019-05-08T00:00:00Z/2019-05-08T00:00:39Z',
data : movingOri
}));
compositeOri.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
iso8601 : '2019-05-08T00:00:40Z/2019-05-08T00:01:25Z',
data : stopOri
}));
compositeOri.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
iso8601 : '2019-05-08T00:01:26Z/2019-05-08T00:01:40Z',
data : movingOri
}));
vehicle.orientation = compositeOri;
vehicle.position.setInterpolationOptions({