Beispiel #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();
        }
Beispiel #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;
        }