예제 #1
0
        /// <summary>
        /// 获取相交点、穿刺点,如电离层
        /// </summary>
        /// <param name="geoHeight">距离地球平均表面的距离 m, 默认 450 000 m</param>
        /// <returns></returns>
        public XYZ GetIntersectionXyz(double geoHeight = 450000)
        {
            var siteXyz = this.SiteInfo.EstimatedXyz;
            var satXyz  = this.Ephemeris.XYZ;

            return(XyzUtil.GetIntersectionXyz(siteXyz, satXyz, geoHeight));
        }
예제 #2
0
        /// <summary>
        /// 斜距
        /// </summary>
        /// <param name="time"></param>
        /// <param name="siteXyz"></param>
        /// <param name="satXyz"></param>
        /// <returns></returns>
        public RmsedNumeral GetSlope(Time time, XYZ siteXyz, XYZ satXyz)
        {
            var punctPoint       = XyzUtil.GetIntersectionXyz(siteXyz, satXyz, HeightOfModel);
            var geocentricLonLat = Geo.Coordinates.CoordTransformer.XyzToSphere(punctPoint);
            var SpherePolar      = CoordTransformer.XyzToSpherePolar(satXyz, siteXyz, AngleUnit.Degree);

            var tec = GetSlope(time, geocentricLonLat, SpherePolar.Elevation);

            return(tec);
        }