示例#1
0
 private static void WriteTimelinePlacemark(XmlTextWriter xml, Reading reading)
 {
     xml.WriteStartElement("Placemark");
       xml.WriteStartElement("TimeStamp");
       xml.WriteElementString("when", reading.DateTime.ToString("u").Replace(' ', 'T'));
       xml.WriteEndElement(); // TimeStamp
       xml.WriteElementString("styleUrl", "#seeadler-dot-icon");
       xml.WriteStartElement("Point");
       xml.WriteElementString("coordinates", string.Format("{0},{1}", reading.Longitude, reading.Latitude));
       xml.WriteEndElement(); // Point
       xml.WriteEndElement(); // Placemark
 }
示例#2
0
        private static void WriteCsvFile(XmlTextWriter xml, string inputFileName)
        {
            using (var input = File.OpenRead(inputFileName)) {
            using (var reader = new StreamReader(input)) {
              xml.WriteStartElement("Folder");
              xml.WriteElementString("name", "Timeline data");

              var lineList = new List<Reading>();

              string line;
              reader.ReadLine();
              while ((line = reader.ReadLine()) != null) {
            var reading = new Reading(line);
            if (!lineList.Any()
                || lineList.Last().Latitude != reading.Latitude
                || lineList.Last().Longitude != reading.Longitude) {
              lineList.Add(reading);
            }

            WriteTimelinePlacemark(xml, reading);
              }

              var sampleReading = new Reading()
                              {
                                Latitude = GetMiddleValue(lineList, x => x.Latitude),
                                Longitude = GetMiddleValue(lineList, x => x.Longitude),
                                Elevation = lineList.Select(x => x.Elevation).Max()
                              };

              WriteLookAtElement(sampleReading, xml);

              xml.WriteEndElement(); // Folder

              WriteLookAtElement(sampleReading, xml);
              WriteIconStyle(xml);
              WriteLineString(xml, lineList);
            }
              }
        }
示例#3
0
 private static void WriteLookAtElement(Reading reading, XmlTextWriter xml)
 {
     xml.WriteStartElement("LookAt");
       xml.WriteElementString("longitude", reading.Longitude.ToString(CultureInfo.InvariantCulture));
       xml.WriteElementString("latitude", reading.Latitude.ToString(CultureInfo.InvariantCulture));
       xml.WriteElementString("range", "250");
       xml.WriteElementString("altitude", reading.Elevation.ToString(CultureInfo.InvariantCulture));
       xml.WriteElementString("tilt", "0");
       xml.WriteEndElement(); // LookAt
 }