コード例 #1
0
ファイル: GeoMath.cs プロジェクト: zaprog/mavlink.net-1
        public static IEnumerable <GeoPoint> SplitIntoGeoPoints(GeoPoint startLocation, GeoPoint endLocation, int stepCount)
        {
            var dist = startLocation.DistanceTo(endLocation) / stepCount;
            var vAlt = (endLocation.Altitude - startLocation.Altitude) / stepCount ?? 0;

            var a = Azimuth(startLocation, endLocation);


            vAlt /= stepCount;

            for (var i = 0; i <= stepCount; i++)
            {
                yield return(RadialPoint(startLocation, i * dist, a).AddAltitude(vAlt * i));
            }
        }
コード例 #2
0
        public static IEnumerable <GeoPoint> SplitIntoGeoPoints(GeoPoint startLocation, GeoPoint endLocation, int stepCount)
        {
            var dist = startLocation.DistanceTo(endLocation) / stepCount;

            stepCount = stepCount == 0 ? 1 : Math.Abs(stepCount);

            var vAlt = 0.0;

            if (startLocation.Altitude.HasValue && endLocation.Altitude.HasValue)
            {
                vAlt = (double)((endLocation.Altitude - startLocation.Altitude) / stepCount);
            }

            var a = startLocation.Azimuth(endLocation);


            for (var i = 0; i <= stepCount; i++)
            {
                yield return(startLocation.RadialPoint(i * dist, a).AddAltitude(vAlt * i));
            }
        }