示例#1
0
    /// <summary>
    /// 数据点太多创建,数据拆开以便创建多条轨迹
    /// 因为创建一条连续线最多为16383个点
    /// </summary>
    public void GroupingLine(int segmentsMaxT = 16000)
    {
        Log.Info("LocationHistoryPathBase.GroupingLine Start");
        if (PosInfoList == null)
        {
            Debug.LogError("HistoryPath.GroupingLine PosInfoList == null");
            return;
        }
        //if (splinePoints.Count != timelist.Count)
        //{
        //    return;
        //}

        int n = PosCount / segmentsMaxT;

        if (PosCount % segmentsMaxT > 0)
        {
            n += 1;
        }

        for (int i = 0; i < n; i++)
        {
            if (i < n - 1)
            {
                var listT = PosInfoList.GetRange(i * segmentsMaxT, segmentsMaxT);
                PosInfoGroup.AddList(listT);
            }
            else
            {
                var listT = PosInfoList.GetRange(i * segmentsMaxT, PosCount - i * segmentsMaxT);
                PosInfoGroup.AddList(listT);
            }
        }

        Log.Info("LocationHistoryPathBase.GroupingLine End");

        //for (int i = 0; i < n; i++)
        //{
        //    if (i < n - 1)
        //    {
        //        List<DateTime> listT = timelist.GetRange(i * segmentsMaxT, segmentsMaxT);
        //        timelistLsit.Add(listT);
        //    }
        //    else
        //    {
        //        List<DateTime> listT = timelist.GetRange(i * segmentsMaxT, splinePoints.Count - i * segmentsMaxT);
        //        timelistLsit.Add(listT);
        //    }
        //}

        //if (splinePoints.Count> 16000)
        //{
        //    splinePointsList.AddRange(splinePoints.GetRange())
        //}
    }