Changeset 8316 for branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/Osm.Data/XmlDataSource.cs
- Timestamp:
- 07/21/12 23:49:56 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/Osm.Data/XmlDataSource.cs
r8300 r8316 91 91 using (XmlReader reader = XmlReader.Create(file.FullName, settings)) { 92 92 reader.ReadStartElement("osm"); 93 reader.ReadStartElement("bounds"); 93 //reader.ReadStartElement("bounds"); 94 reader.Read(); 94 95 while (reader.LocalName.Equals("node")) { 95 96 Node node = new Node(); … … 119 120 GetBaseAttributes(reader, way); 120 121 reader.Read(); 122 bool missingNodes = false; 121 123 while (reader.LocalName.Equals("nd") || reader.LocalName.Equals("tag")) { 122 124 if (reader.LocalName.Equals("nd")) { 123 125 long refNodeId = XmlConvert.ToInt64(reader.GetAttribute("ref")); 124 way.Nodes.Add(GetNode(refNodeId)); 126 Node refNode = GetNode(refNodeId); 127 if (refNode != null) { 128 way.Nodes.Add(refNode); 129 } else { 130 missingNodes = true; 131 } 125 132 126 133 } else if (reader.LocalName.Equals("tag")) { … … 131 138 reader.Read(); 132 139 } 133 140 if (missingNodes) { 141 // TODO: Error/Trace output 142 // if Way xxx has incomplete nodes. At least one node was missing in the data. 143 } 134 144 ways.Add(way.Id, way); 135 145 InsertNodeWayRelation(way); … … 181 191 obj.UserId = XmlConvert.ToInt32(reader.GetAttribute("uid")); 182 192 } 183 obj.Visible = XmlConvert.ToBoolean(reader.GetAttribute("visible")); 184 obj.Version = XmlConvert.ToInt32(reader.GetAttribute("version")); 185 obj.Changeset = XmlConvert.ToInt64(reader.GetAttribute("changeset")); 186 obj.Timestamp = XmlConvert.ToDateTime(reader.GetAttribute("timestamp"), XmlDateTimeSerializationMode.Utc); 193 if (reader.GetAttribute("visible") != null) { 194 obj.Visible = XmlConvert.ToBoolean(reader.GetAttribute("visible")); 195 } 196 if (reader.GetAttribute("version") != null) { 197 obj.Version = XmlConvert.ToInt32(reader.GetAttribute("version")); 198 } 199 if (reader.GetAttribute("changeset") != null) { 200 obj.Changeset = XmlConvert.ToInt64(reader.GetAttribute("changeset")); 201 } 202 if (reader.GetAttribute("timestamp") != null) { 203 obj.Timestamp = XmlConvert.ToDateTime(reader.GetAttribute("timestamp"), XmlDateTimeSerializationMode.Utc); 204 } 187 205 188 206 }
Note: See TracChangeset
for help on using the changeset viewer.