internal static void AddKmlStyles(KmlHelper iKml) { foreach (KeyValuePair <OfficeType, String> lKeyValuePair in OfficeKmlStyles) { iKml.AddIconStyle(lKeyValuePair.Key.ToString(), new Uri(lKeyValuePair.Value)); } }
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(); }
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); } }
public void ExportToKml(String iFilename) { KmlHelper lKmlWriter = new KmlHelper(); EntityOffice.AddKmlStyles(lKmlWriter); WriteToKml(lKmlWriter, lKmlWriter.DocumentNode); lKmlWriter.SaveToFile(iFilename); }
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); } }
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()); } }
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); }