static public void parseNetFiles(string FileName) { //fileName = ajax.net.xml char[] splitCharacters = { ' ', ',' }; XmlReader reader = XmlReader.Create(FileName); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name == "edge" && reader.GetAttribute("shape") != null) { string[] hold = (reader.GetAttribute("shape")).Split(splitCharacters); for (int i = 0; i < hold.Length; i += 2) { roadContainer temp = new roadContainer(); double.TryParse(hold[i], out temp.x); double.TryParse(hold[i + 1], out temp.y); temp.edgeID = reader.GetAttribute("id"); if (temp.x < X_INTERSECTION && temp.y > Y_INTERSECTION) { quad1.Add(temp); } else if (temp.x > X_INTERSECTION && temp.y > Y_INTERSECTION) { quad2.Add(temp); } else if (temp.x < X_INTERSECTION && temp.y < Y_INTERSECTION) { quad3.Add(temp); } else if (temp.x > X_INTERSECTION && temp.y < Y_INTERSECTION) { quad4.Add(temp); } } } break; } } }
public static double[] CalculateCenterPoint(string FileName) { int Count = 0; double[] f_CenterPoint = new double[2]; char[] splitCharacters = { ' ', ',' }; XmlReader reader = XmlReader.Create(FileName); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name == "edge" && reader.GetAttribute("shape") != null) { string[] hold = (reader.GetAttribute("shape")).Split(splitCharacters); for (int i = 0; i < hold.Length; i += 2) { roadContainer temp = new roadContainer(); double.TryParse(hold[i], out temp.x); double.TryParse(hold[i + 1], out temp.y); temp.edgeID = reader.GetAttribute("id"); f_CenterPoint[0] += temp.x; f_CenterPoint[1] += temp.y; Count++; } } break; } } f_CenterPoint[0] = f_CenterPoint[0] / Count; f_CenterPoint[1] = f_CenterPoint[1] / Count; X_INTERSECTION = f_CenterPoint[0]; Y_INTERSECTION = f_CenterPoint[1]; return(f_CenterPoint); }