Esempio n. 1
0
        public static double GetSpeed(IPosInfo p1, IPosInfo p2)
        {
            var distance = GetDistance(p1, p2);
            var time     = p2.DateTimeStamp - p1.DateTimeStamp;
            var speed    = distance / time * 1000;

            if (time > 60000)//两个点的时间差大于60s,则不用考虑距离,中间待机了
            {
                speed = 0;
            }
            return(Math.Abs(speed));//p1和p2的时间可能反了
        }
Esempio n. 2
0
        public PosDistance(IPosInfo p1, IPosInfo p2)
        {
            this.p1 = p1;
            this.p2 = p2;

            //distance = Math.Pow((p1.X - p2.X) * (p1.X - p2.X) + (p1.Y - p2.Y) * (p1.Y - p2.Y) + (p1.Z - p2.Z) * (p1.Z - p2.Z), 0.5);
            distance = PosDistanceUtil.GetDistance(p1, p2);
            time     = Math.Abs(p2.DateTimeStamp - p1.DateTimeStamp);
            speed    = distance / time * 1000;
            if (time > 60000)//两个点的时间差大于60s,则不用考虑距离,中间待机了
            {
                speed = 0;
            }
        }
Esempio n. 3
0
        public static double GetDistance(IPosInfo p1, IPosInfo p2)
        {
            var distance = Math.Pow((p1.X - p2.X) * (p1.X - p2.X) + (p1.Y - p2.Y) * (p1.Y - p2.Y) + (p1.Z - p2.Z) * (p1.Z - p2.Z), 0.5);

            return(distance);
        }