private GpxBounds ReadGpxBounds() { if (!reader.IsEmptyElement) { throw new FormatException(reader.Name); } GpxBounds bounds = new GpxBounds(); while (reader.MoveToNextAttribute()) { switch (reader.Name) { case "minlat": bounds.MinLatitude = Angle.FromDegrees(double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat)); break; case "maxlat": bounds.MaxLatitude = Angle.FromDegrees(double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat)); break; case "minlon": bounds.MinLongitude = Angle.FromDegrees(double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat)); break; case "maxlon": bounds.MaxLongitude = Angle.FromDegrees(double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat)); break; } } return(bounds); }
private void WriteBounds(string elementName, GpxBounds bounds) { Writer_.WriteStartElement(elementName); Writer_.WriteAttributeString("minlat", bounds.MinLatitude.ToString(CultureInfo.InvariantCulture)); Writer_.WriteAttributeString("minlon", bounds.MinLongitude.ToString(CultureInfo.InvariantCulture)); Writer_.WriteAttributeString("maxlat", bounds.MaxLatitude.ToString(CultureInfo.InvariantCulture)); Writer_.WriteAttributeString("maxlon", bounds.MaxLongitude.ToString(CultureInfo.InvariantCulture)); Writer_.WriteEndElement(); }
private GpxBounds ReadGpxBounds(XmlReader reader) { if (!reader.IsEmptyElement) throw new FormatException(reader.Name); GpxBounds bounds = new GpxBounds(); while (reader.MoveToNextAttribute()) { switch (reader.Name) { case "minlat": bounds.MinLatitude = double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat); break; case "maxlat": bounds.MaxLatitude = double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat); break; case "minlon": bounds.MinLongitude = double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat); break; case "maxlon": bounds.MaxLongitude = double.Parse(reader.Value, CultureInfo.InvariantCulture.NumberFormat); break; } } return bounds; }