Пример #1
0
 private void OnValidate(object sender, EventArgs e)
 {
     try
     {
         double   lat, lon, d, m, s;
         DMS.Flag ind;
         int      len;
         string   tmp;
         DMS.Decode("34d22\'34.567\"", out ind);
         DMS.Decode(-86.0, 32.0, 34.214);
         DMS.DecodeAngle("-67.4532");
         DMS.DecodeAzimuth("85.3245W");
         DMS.DecodeLatLon("86d34\'24.5621\"", "21d56\'32.1234\"", out lat, out lon, false);
         DMS.Encode(-86.453214, out d, out m);
         DMS.Encode(-86.453214, out d, out m, out s);
         DMS.Encode(-86.453214, DMS.Component.SECOND, 12, DMS.Flag.LONGITUDE, 0);
         DMS.Encode(-86.453214, 12, DMS.Flag.LONGITUDE, 0);
         Geohash.DecimalPrecision(12);
         Geohash.Forward(31.23456, -86.43678, 12, out tmp);
         Geohash.GeohashLength(0.001);
         Geohash.GeohashLength(0.002, 0.003);
         Geohash.LatitudeResolution(12);
         Geohash.LongitudeResolution(12);
         Geohash.Reverse("djds54mrfc0g", out lat, out lon, out len, true);
         GARS.Forward(32.0, -86.0, 2, out tmp);
         GARS.Reverse("189LE37", out lat, out lon, out len, true);
         Georef.Forward(32.0, -86.0, 2, out tmp);
         Georef.Reverse("GJEC0000", out lat, out lon, out len, true);
         MessageBox.Show("No errors detected", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     catch (Exception xcpt)
     {
         MessageBox.Show(xcpt.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Пример #2
0
        private void OnConvertGeohash(object sender, EventArgs e)
        {
            try
            {
                double lat = 0.0, lon = 0.0;
                int    len;
                switch (m_comboBox.SelectedIndex)
                {
                case 0:     // Geohash
                    Geohash.Reverse(m_geohashTextBox.Text, out lat, out lon, out len, true);
                    break;

                case 1:     // GARS
                    GARS.Reverse(m_geohashTextBox.Text, out lat, out lon, out len, true);
                    break;

                case 2:     // Georef
                    Georef.Reverse(m_geohashTextBox.Text, out lat, out lon, out len, true);
                    break;
                }
                m_LongitudeTextBox.Text    = lon.ToString();
                m_latitudeTextBox.Text     = lat.ToString();
                m_longitudeDMSTextBox.Text = DMS.Encode(lon, 5, DMS.Flag.LONGITUDE, 0);
                m_latitudeDMSTextBox.Text  = DMS.Encode(lat, 5, DMS.Flag.LATITUDE, 0);
            }
            catch (Exception xcpt)
            {
                MessageBox.Show(xcpt.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #3
0
 static void Main(string[] args)
 {
     try {
         {
             // Sample forward calculation
             double lat = 57.64911, lon = 10.40744; // Jutland
             string gars;
             for (int prec = 0; prec <= 2; ++prec)
             {
                 GARS.Forward(lat, lon, prec, out gars);
                 Console.WriteLine(String.Format("Precision: {0} GARS: {1}", prec, gars));
             }
         }
         {
             // Sample reverse calculation
             string gars = "381NH45";
             double lat, lon;
             for (int len = 5; len <= gars.Length; ++len)
             {
                 int prec;
                 GARS.Reverse(gars.Substring(0, len), out lat, out lon, out prec, true);
                 Console.WriteLine(String.Format("Precision: {0} Latitude: {1} Longitude {2}", prec, lat, lon));
             }
         }
     }
     catch (GeographicErr e) {
         Console.WriteLine(String.Format("Caught Exception {0}", e.Message));
     }
 }