Improvements calculate data
This commit is contained in:
parent
a001121d61
commit
59d2fdc79e
@ -133,8 +133,6 @@ export class TripAnimationComponent implements OnInit, AfterViewInit {
|
|||||||
currentPosition[0] = {
|
currentPosition[0] = {
|
||||||
...beforePosition,
|
...beforePosition,
|
||||||
time,
|
time,
|
||||||
minTime: this.minTimeFormat,
|
|
||||||
maxTime: this.maxTimeFormat,
|
|
||||||
...interpolateOnLineSegment(beforePosition, afterPosition, this.settings.latKeyName, this.settings.lngKeyName, ratio)
|
...interpolateOnLineSegment(beforePosition, afterPosition, this.settings.latKeyName, this.settings.lngKeyName, ratio)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -164,10 +162,10 @@ export class TripAnimationComponent implements OnInit, AfterViewInit {
|
|||||||
calculateIntervals() {
|
calculateIntervals() {
|
||||||
this.historicalData.forEach((dataSource, index) => {
|
this.historicalData.forEach((dataSource, index) => {
|
||||||
this.minTime = dataSource[0]?.time || Infinity;
|
this.minTime = dataSource[0]?.time || Infinity;
|
||||||
this.minTimeFormat = this.minTime !== Infinity ? moment(this.minTime).format('YYYY-MM-DD HH:mm:ss') : '';
|
const minTimeFormat = this.minTime !== Infinity ? moment(this.minTime).format('YYYY-MM-DD HH:mm:ss') : '';
|
||||||
this.maxTime = dataSource[dataSource.length - 1]?.time || -Infinity;
|
this.maxTime = dataSource[dataSource.length - 1]?.time || -Infinity;
|
||||||
this.maxTimeFormat = this.maxTime !== -Infinity ? moment(this.maxTime).format('YYYY-MM-DD HH:mm:ss') : '';
|
const maxTimeFormat = this.maxTime !== -Infinity ? moment(this.maxTime).format('YYYY-MM-DD HH:mm:ss') : '';
|
||||||
this.interpolatedTimeData[index] = this.interpolateArray(dataSource);
|
this.interpolatedTimeData[index] = this.interpolateArray(dataSource, minTimeFormat, maxTimeFormat);
|
||||||
});
|
});
|
||||||
if (this.useAnchors) {
|
if (this.useAnchors) {
|
||||||
const anchorDate = Object.entries(_.union(this.interpolatedTimeData)[0]);
|
const anchorDate = Object.entries(_.union(this.interpolatedTimeData)[0]);
|
||||||
@ -181,11 +179,7 @@ export class TripAnimationComponent implements OnInit, AfterViewInit {
|
|||||||
if (!point) {
|
if (!point) {
|
||||||
point = this.activeTrip;
|
point = this.activeTrip;
|
||||||
}
|
}
|
||||||
const data = {
|
const data = this.activeTrip;
|
||||||
...this.activeTrip,
|
|
||||||
maxTime: this.maxTimeFormat,
|
|
||||||
minTime: this.minTimeFormat
|
|
||||||
}
|
|
||||||
const tooltipPattern: string = this.settings.useTooltipFunction ?
|
const tooltipPattern: string = this.settings.useTooltipFunction ?
|
||||||
safeExecute(this.settings.tooolTipFunction, [data, this.historicalData, point.dsIndex]) : this.settings.tooltipPattern;
|
safeExecute(this.settings.tooolTipFunction, [data, this.historicalData, point.dsIndex]) : this.settings.tooltipPattern;
|
||||||
const tooltipText = parseWithTranslation.parseTemplate(tooltipPattern, data, true);
|
const tooltipText = parseWithTranslation.parseTemplate(tooltipPattern, data, true);
|
||||||
@ -199,17 +193,13 @@ export class TripAnimationComponent implements OnInit, AfterViewInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
calcLabel() {
|
calcLabel() {
|
||||||
const data = {
|
const data = this.activeTrip;
|
||||||
...this.activeTrip,
|
|
||||||
maxTime: this.maxTimeFormat,
|
|
||||||
minTime: this.minTimeFormat
|
|
||||||
}
|
|
||||||
const labelText: string = this.settings.useLabelFunction ?
|
const labelText: string = this.settings.useLabelFunction ?
|
||||||
safeExecute(this.settings.labelFunction, [data, this.historicalData, data.dsIndex]) : this.settings.label;
|
safeExecute(this.settings.labelFunction, [data, this.historicalData, data.dsIndex]) : this.settings.label;
|
||||||
this.label = (parseWithTranslation.parseTemplate(labelText, data, true));
|
this.label = (parseWithTranslation.parseTemplate(labelText, data, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolateArray(originData: FormattedData[]) {
|
interpolateArray(originData: FormattedData[], minTimeFormat?: string, maxTimeFormat?: string) {
|
||||||
const result = {};
|
const result = {};
|
||||||
const latKeyName = this.settings.latKeyName;
|
const latKeyName = this.settings.latKeyName;
|
||||||
const lngKeyName = this.settings.lngKeyName;
|
const lngKeyName = this.settings.lngKeyName;
|
||||||
@ -218,6 +208,8 @@ export class TripAnimationComponent implements OnInit, AfterViewInit {
|
|||||||
const normalizeTime = this.minTime + Math.ceil((currentTime - this.minTime) / this.normalizationStep) * this.normalizationStep;
|
const normalizeTime = this.minTime + Math.ceil((currentTime - this.minTime) / this.normalizationStep) * this.normalizationStep;
|
||||||
result[normalizeTime] = {
|
result[normalizeTime] = {
|
||||||
...data,
|
...data,
|
||||||
|
minTime: minTimeFormat,
|
||||||
|
maxTime: maxTimeFormat,
|
||||||
rotationAngle: this.settings.rotationAngle
|
rotationAngle: this.settings.rotationAngle
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user