Example #1
0
 internal static void AddKmlStyles(KmlHelper iKml)
 {
     foreach (KeyValuePair <OfficeType, String> lKeyValuePair in OfficeKmlStyles)
     {
         iKml.AddIconStyle(lKeyValuePair.Key.ToString(), new Uri(lKeyValuePair.Value));
     }
 }
Example #2
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 #3
0
        private void WriteToKml(KmlHelper lKmlWriter, XmlNode iNode)
        {
            XmlNode lNode        = iNode;
            String  lDescription = "Geocode: " + Geocode.ToString();

            if ((Type == EntityType.Changwat) | (Type == EntityType.Bangkok))
            {
                lNode = lKmlWriter.AddFolder(lNode, English, false);
            }
            String lName = English;

            if (Type == EntityType.Muban)
            {
                lName = "Mu " + (Geocode % 100).ToString();
                if (!String.IsNullOrEmpty(English))
                {
                    lName = lName + ' ' + English;
                }
            }
            if (!String.IsNullOrEmpty(this.Comment))
            {
                lDescription = lDescription + Environment.NewLine + this.Comment;
            }
            foreach (EntityOffice lOffice in Offices)
            {
                lOffice.AddToKml(lKmlWriter, lNode, lName, lDescription);
            }
            foreach (PopulationDataEntry lEntity in SubEntities)
            {
                lEntity.WriteToKml(lKmlWriter, lNode);
            }
        }
Example #4
0
        public void ExportToKml(String iFilename)
        {
            KmlHelper lKmlWriter = new KmlHelper();

            EntityOffice.AddKmlStyles(lKmlWriter);
            WriteToKml(lKmlWriter, lKmlWriter.DocumentNode);
            lKmlWriter.SaveToFile(iFilename);
        }
Example #5
0
 internal void AddToKml(KmlHelper iKml, XmlNode iNode, String lEntityName, String iDescription)
 {
     if (Location != null)
     {
         String lName    = OfficeNameEnglish[Type] + ' ' + lEntityName;
         String lAddress = String.Empty;
         if (Address != null)
         {
             lAddress = Address.ToString();
         }
         // ToDo: for Amphoe also amphoe.com URL to description
         String lDescription = iDescription;
         foreach (Uri lUri in this.Websites)
         {
             lDescription = lDescription + Environment.NewLine + lUri.ToString();
         }
         iKml.AddPoint(iNode, Location.Latitude, Location.Longitude, lName, Type.ToString(), lAddress, lDescription);
     }
 }
Example #6
0
        private void btnFlyTo_Click(object sender, EventArgs e)
        {
            try
            {
                var googleEarth = new ApplicationGEClass();

                String    tempKmlFile = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".kml";
                KmlHelper kmlWriter   = new KmlHelper();
                kmlWriter.AddPoint(_Point.Latitude, _Point.Longitude, "Temporary location", "", "", "");
                kmlWriter.SaveToFile(tempKmlFile);
                while (googleEarth.IsInitialized() == 0)
                {
                    Thread.Sleep(500);
                }
                googleEarth.OpenKmlFile(tempKmlFile, 0);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Example #7
0
        private void btnMgrsGrid_Click(object sender, EventArgs e)
        {
            List <String> aachenHectards = new List <String>()
            {
                "31UGS05", "31UGS15", "31UGS06", "31UGS16",
                "32UKB86", "32UKB85", "32UKB95", "32UKB94", "32ULB04",
                "32ULB03"
            };
            List <String> thailandMyriads = new List <string>()
            {
                "47PLK", "47PLL",
                "47PMK", "47PML", "47PMM", "47PMR", "47PMS", "47PMT",
                "47PNK", "47PNL", "47PNM", "47PNN", "47PNP", "47PNQ", "47PNR", "47PNS", "47PNT",
                "47PPK", "47PPL", "47PPP", "47PPQ", "47PPR", "47PPS", "47PPT",
                "47PQP", "47PQQ", "47PQR", "47PQS", "47PQT",
                "47PRP", "47PRQ", "47PRR", "47PRS", "47PRT",

                "47NMJ",
                "47NNH", "47NNJ",
                "47NPH", "47NPJ",
                "47NQG", "47NQH",
                "47NRG", "47NRH",
                "47QLV", "47QLA", "47QLB",
                "47QMU", "47QMV", "47QMA", "47QMB",
                "47QNU", "47QNV", "47QNA", "47QNB", "47QNC",
                "47QPU", "47QPV", "47QPA", "47QPB", "47QPC",
                "47QQU", "47QQV", "47QQA", "47QQB",
                "47QRU", "47QRV", "47QRA",

                "48NSM",
                "48PSU", "48PSV", "48PSA", "48PSB", "48PSC", "48QSD", "48QSE", "48QSF",
                "48PTT", "48PTU", "48PTV", "48PTA", "48PTB", "48PTC", "48QTD", "48QTE", "48QTF",
                "48PUA", "48PUB", "48PUC", "48QUD", "48QUE", "48QUF",
                "48PVA", "48PVB", "48PVC", "48QVD", "48QVE", "48QVF",
                "48PWA", "48PWB", "48PWC"
            };

            String    outFilename = Path.Combine(GlobalSettings.XMLOutputDir, "mgrs.kml");
            KmlHelper kmlWriter   = MgrsGridElement.StartKmlWriting();

            // foreach ( String lEntry in thailandMyriads )
            foreach (String mgrsGridElement in aachenHectards)
            {
                MgrsGridElement mainGrid = new MgrsGridElement(mgrsGridElement);
                // lGrid.Datum = GeoDatum.DatumIndian1975();
                XmlNode kmlNode = kmlWriter.AddFolder(kmlWriter.DocumentNode, mainGrid.Name, false);
                //lGrid.WriteToKml(lKmlWriter, lNode);
                foreach (var subGrid in mainGrid.SubGrids())
                {
                    subGrid.WriteToKml(kmlWriter, kmlNode, subGrid.Name);
                }
            }

            //MgrsGridElement lElement = new MgrsGridElement("47PNL31");
            //lElement.Datum = GeoDatum.DatumIndian1975();
            //List<MgrsGridElement> lList = lElement.SubGrids();
            //foreach (MgrsGridElement lEntry in lList)
            //{
            //    XmlNode lNode = lKmlWriter.AddFolder(lKmlWriter.DocumentNode, lEntry.Name, false);
            //    lEntry.WriteToKml(lKmlWriter, lNode);
            //}
            kmlWriter.SaveToFile(outFilename);
        }