RealWorldTerrainOSMRelationMember.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* INFINITY CODE 2013-2019 */
  2. /* http://www.infinity-code.com */
  3. using System.IO;
  4. using System.Xml;
  5. namespace InfinityCode.RealWorldTerrain.OSM
  6. {
  7. /// <summary>
  8. /// Class for OSM Relation member.
  9. /// </summary>
  10. public class RealWorldTerrainOSMRelationMember
  11. {
  12. /// <summary>
  13. /// ID of OSM Way.
  14. /// </summary>
  15. public readonly string reference;
  16. /// <summary>
  17. /// Role of member.
  18. /// </summary>
  19. public readonly string role;
  20. /// <summary>
  21. /// Type of member.
  22. /// </summary>
  23. public readonly string type;
  24. public RealWorldTerrainOSMRelationMember(BinaryReader br)
  25. {
  26. type = br.ReadString();
  27. reference = br.ReadInt64().ToString();
  28. role = br.ReadString();
  29. }
  30. public RealWorldTerrainOSMRelationMember(XmlNode node)
  31. {
  32. type = node.Attributes["type"].Value;
  33. reference = node.Attributes["ref"].Value;
  34. role = node.Attributes["role"].Value;
  35. }
  36. public void Write(BinaryWriter bw)
  37. {
  38. bw.Write(type);
  39. bw.Write(long.Parse(reference));
  40. bw.Write(role);
  41. }
  42. }
  43. }