Commit 5dd2a75d authored by 潘栩锋's avatar 潘栩锋 🚴

优化 AD盒 timegrid 1.28ms 转 1ms,使用 线性插值

parent 8b07cf25
......@@ -1066,17 +1066,57 @@ namespace FlyADBase
List<int> data_1ms = new List<int>();
DateTime idealTime = dt;
DateTime actTime = dt;
//for (int j = 0; j < data.Count(); j++)
//{
// int idx2 = data.Count() - 1 - j;
// int ad = data[idx2];
// actTime -= curr_ad_ts;
// while (idealTime > actTime)
// {
// data_1ms.Add(ad);//导出数据
// idealTime -= TimeSpan.FromMilliseconds(1);//导出数据时间累加
// }
//}
//线性插值放入数据
for (int j = 0; j < data.Count(); j++)
{
int idx2 = data.Count() - 1 - j;
int ad = data[idx2];
actTime -= curr_ad_ts;
int idx = data.Count() - 1 - j;
int ad1, ad2;
DateTime dt1,dt2;
if (idx <= 0)
{
//最后一个数据了
dt2 = actTime;
ad2 = data[idx];
dt1 = actTime + curr_ad_ts;
ad1 = data[idx + 1];
}
else
{
dt2 = actTime - curr_ad_ts;
ad2 = data[idx-1];
dt1 = actTime;
ad1 = data[idx];
}
while (idealTime > actTime)
while (idealTime >= dt2)
{
int t = (int)(idealTime - dt2).Ticks;
int tick = (int)curr_ad_ts.Ticks;
int ad = t * (ad1 - ad2) / tick + ad2;
data_1ms.Add(ad);//导出数据
idealTime -= TimeSpan.FromMilliseconds(1);//导出数据时间累加
}
actTime -= curr_ad_ts;
}
data_1ms.Reverse();
data = data_1ms.ToArray();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment