Exemplo n.º 1
0
        /// <summary>
        /// 权阵获取,如果无提供器,则采用默认 1.
        /// </summary>
        /// <param name="sats"></param>
        /// <returns></returns>
        private Matrix BiuldWeight(List <Ephemeris> sats)
        {
            Matrix P = new Matrix(sats.Count);
            int    i = 0;

            foreach (var eph in sats)
            {
                double p = 1;
                if (SatWeights != null)
                {
                    var val = SatWeights.Get(eph.Time, eph.Prn);
                    if (Geo.Utils.DoubleUtil.IsValid(val))
                    {
                        p = val;
                    }
                }
                P[i, i] = p;

                i++;
            }
            return(P);
        }