Exemplo n.º 1
0
        /// <summary>
        ///     Handle the Orientation Data
        /// </summary>
        /// <param name="data"></param>
        private void HandleOrn(string[] data)
        {
            var aAndM = data[1].Split(new[] { ';' });
            var aData = aAndM[0].Split(new[] { ',' });
            var mData = aAndM[1].Split(new[] { ',' });

            var altitudeprep = new Point3D(aData[0], aData[1], aData[2]);
            var azimuthPrep  = new Point3D(mData[0], mData[1], mData[2]);


            var altitude = CalcuclateAltitude(altitudeprep);
            var azimuth  = CalculateAzimuth(azimuthPrep);

            //Convert this into the Orientation neeed for google sky.
            var hcs = new HorizontalCs(azimuth, altitude);

            try
            {
                ArduinoMessageEvent(new ErrorEvent(string.Format("Alt {0} Azi {1}", altitude, azimuth)));
                var gcs = CoordinateConverter.HorizontalToGoogleSky(hcs);

                //Pass Data up to UI via event or something.
                ArduinoMessageEvent(new OrientationEvent(gcs));
            }
            catch (Exception ex)
            {
                ArduinoMessageEvent(new ErrorEvent(string.Format("Error Occurred: {0}", ex.Message)));
                if (ex.Message.Contains("gps"))
                {
                    GetGpsCoOrdinates();
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Converts horizontal coordinates to coordinates the Google Sky object can process
        /// </summary>
        /// <param name="azimuth"></param>
        /// <param name="altitude"></param>
        /// <returns> Returns the latitude, longitude, and the zoom to the Google Sky object</returns>
        private double[] HorizontalToGoogleSkyDouble(int azimuth, int altitude)
        {
            var horizontal = new HorizontalCs(azimuth, altitude);

            try
            {
                GoogleSkyCoordinate = CoordinateConverter.HorizontalToGoogleSky(horizontal);
                return(new[] { GoogleSkyCoordinate.Latitude, GoogleSkyCoordinate.Longitude, 9000 });
            }
            catch (Exception ex)
            {
                LogListBox("Exception occured: {0}", ex.Message);
                return(null);
            }
        }