Beispiel #1
0
        public void add(XYPoint[] point)       //向网格中增加雷达数据
        {
            long      x, y, key;
            Sum_Point sum;

            for (int i = 0; i < point.Length; i++)
            {
                x   = (long)point[i].x / distance;
                y   = (long)point[i].y / distance;
                key = x * tolindex + y;
                if (!sumKey.ContainsKey(key))
                {
                    sum = new Sum_Point();
                    sum.set(point[i]);
                    pointGrid.Add(key, sum);
                    sumKey.Add(key, key);
                    keyStack.Push(key);
                }
                else
                {
                    sum = pointGrid[key];
                    sum.add(point[i]);
                    pointGrid[key] = sum;
                }
            }
        }
Beispiel #2
0
        void sumPoint()              //计算点的平均值
        {
            long      key;
            Sum_Point xp, yp;

            foreach (long k in pointGrid.Keys)
            {
                yp  = pointGrid[k];
                key = sumKey[k];
                if (nowlist.ContainsKey(key))
                {
                    xp = nowlist[key];
                    xp.add(yp);
                    nowlist[key] = xp;
                }
                else
                {
                    xp = new Sum_Point();
                    xp.set(yp);
                    nowlist.Add(key, xp);
                }
            }
        }
Beispiel #3
0
 public void add(Sum_Point point)           //将point的值纳入平均计算中
 {
     x   = (x * num + point.x * point.num) / (num + point.num);
     y   = (y * num + point.y * point.num) / (num + point.num);
     num = num + point.num;
 }
Beispiel #4
0
 public void set(Sum_Point point)
 {
     x   = point.x;
     y   = point.y;
     num = point.num;
 }