Example #1
0
        private void btn_L7018_Click(object sender, EventArgs e)
        {
            String    outFilename = Path.Combine(GlobalSettings.XMLOutputDir, "l7018.kml");
            KmlHelper kmlWriter   = MgrsGridElement.StartKmlWriting();
            XmlNode   kmlNode     = kmlWriter.AddFolder(kmlWriter.DocumentNode, "L7018", false);

            RtsdMapIndex.CalcIndexList();
            foreach (var entry in RtsdMapIndex.MapIndexL7018)
            {
                entry.WriteToKml(kmlWriter, kmlNode, entry.Name);
            }
            kmlWriter.SaveToFile(outFilename);

            String nonStandardSheetInfo = String.Empty;

            foreach (var index in RtsdMapIndex.NonStandardSheets)
            {
                var sheet = RtsdMapIndex.MapIndexL7018.FirstOrDefault(x => x.Index.Equals(index));
                if (sheet != null)
                {
                    nonStandardSheetInfo += sheet.Name + " " +
                                            sheet.NorthWestCorner.ToString("%D° %M' %S'' %H") + " - " +
                                            sheet.SouthEastCorner.ToString("%D° %M' %S'' %H") + Environment.NewLine;
                }
            }
            var stringDisplayForm = new StringDisplayForm("L7018 Non-Standard sheets", nonStandardSheetInfo);

            stringDisplayForm.Show();
        }
Example #2
0
        /// <summary>
        /// Initializes a new instance of the GeoDataViewModel class.
        /// </summary>
        public GeoDataViewModel(GeoDataModel model)
        {
            ////if (IsInDesignMode)
            ////{
            ////    // Code runs in Blend --> create design time data.
            ////}
            ////else
            ////{
            ////    // Code runs "for real": Connect to service, etc...
            ////}

            Model = model;
            Model.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == GeoDataModel.DatumPropertyName)
                {
                    RaisePropertyChanged(CurrentGeoDatumPropertyName);
                }
                if (e.PropertyName == GeoDataModel.LocationPropertyName)
                {
                    RaisePropertyChanged(GeoHashPropertyName);
                    RaisePropertyChanged(GeoLocationPropertyName);
                    RaisePropertyChanged(UtmLocationPropertyName);
                    RaisePropertyChanged(MgrsLocationPropertyName);
                    RaisePropertyChanged(L7018FramePropertyName);
                }
                GeoPoint point = new GeoPoint(Model.Location);
                point.Datum = Model.Datum;
                RaisePropertyChanged(GeoPointPropertyName, _oldLocation, point, true);
                _oldLocation = point;
            };

            GeoDatums = new ObservableCollection <GeoDatum>();
            GeoDatums.Add(GeoDatum.DatumWGS84());
            GeoDatums.Add(GeoDatum.DatumIndian1975());
            GeoDatums.Add(GeoDatum.DatumIndian1954());

            L7018Index = new ObservableCollection <RtsdMapFrame>();
            RtsdMapIndex.CalcIndexList();
            foreach (var entry in RtsdMapIndex.MapIndexL7018.OrderBy(x => x.Name))
            {
                L7018Index.Add(entry);
            }

            _oldLocation       = new GeoPoint(Model.Location);
            _oldLocation.Datum = Model.Datum;
        }
Example #3
0
        private void SetValues(GeoPoint geoPoint, UtmPoint utmPoint, object sender)
        {
            if (sender != edt_LatLong)
            {
                if (geoPoint == null)
                {
                    edt_LatLong.Text = String.Empty;
                }
                else
                {
                    edt_LatLong.Text = geoPoint.ToString();
                }
            }
            if (sender != edt_geohash)
            {
                if (geoPoint == null)
                {
                    edt_geohash.Text = String.Empty;
                }
                else
                {
                    edt_geohash.Text = geoPoint.GeoHash;
                }
            }
            if (sender != edt_UTM)
            {
                if (utmPoint == null)
                {
                    edt_UTM.Text = String.Empty;
                }
                else
                {
                    edt_UTM.Text = utmPoint.ToString();
                }
            }
            if (sender != edt_MGRS)
            {
                if (utmPoint == null)
                {
                    edt_MGRS.Text = String.Empty;
                }
                else
                {
                    edt_MGRS.Text = utmPoint.ToMgrsString(6);
                }
            }
            _Point           = geoPoint;
            btnFlyTo.Enabled = (_Point != null);

            lbl_L7018Value.Text = "Not available";
            if (geoPoint != null)
            {
                try
                {
                    var sheet = RtsdMapIndex.IndexL7018(geoPoint);
                    if (sheet != null)
                    {
                        lbl_L7018Value.Text = sheet.Name;
                    }
                }
                catch (ArgumentOutOfRangeException)
                {
                }
            }
        }
Example #4
0
        public void TestIndexL7018()
        {
            GeoPoint khonKhaenLocation = new GeoPoint(16.4424, 102.8360);

            Assert.AreEqual("5541 I", RtsdMapIndex.IndexL7018(khonKhaenLocation).Name);
        }