Example #1
0
        public static List <RoadSegment> ParseRoadData(string roadDataString)
        {
            List <RoadSegment> roads = new List <RoadSegment>();

            char[]      seps     = new char[] { ';' };
            int         lastID   = -1;
            RoadSegment lastRoad = null;

            string[] lines = roadDataString.Replace('\0', ' ').Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < lines.Length; i++)
            {
                string[] tokens = lines[i].Split(seps);
                int      ID     = Convert.ToInt32(tokens[0]);
                if (ID != lastID)
                {
                    if (lastRoad != null)
                    {
                        roads.Add(lastRoad);
                    }
                    lastRoad    = new RoadSegment();
                    lastID      = ID;
                    lastRoad.ID = ID;

                    // is Tunnel
                    lastRoad.IsTunnel = (!String.IsNullOrEmpty(tokens[tokens.Length - 1]));

                    // semt
                    if (!String.IsNullOrEmpty(tokens[tokens.Length - 2]))
                    {
                        lastRoad.Semt = tokens[tokens.Length - 2];
                    }
                }

                lastRoad.Nodes.Add(new Coordinate()
                {
                    Lon = Convert.ToDouble(tokens[2]), Lat = Convert.ToDouble(tokens[3])
                });
            }

            if (lastRoad != null)
            {
                roads.Add(lastRoad);
            }

            return(roads);
        }
Example #2
0
        public static List<RoadSegment> ParseRoadData(string roadDataString)
        {
            List<RoadSegment> roads = new List<RoadSegment>();
            char[] seps = new char[] { ';' };
            int lastID = -1;
            RoadSegment lastRoad = null;

            string[] lines = roadDataString.Replace('\0', ' ').Trim().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < lines.Length; i++)
            {
                string[] tokens = lines[i].Split(seps);
                int ID = Convert.ToInt32(tokens[0]);
                if (ID != lastID)
                {
                    if (lastRoad != null) roads.Add(lastRoad);
                    lastRoad = new RoadSegment();
                    lastID = ID;
                    lastRoad.ID = ID;

                    // is Tunnel
                    lastRoad.IsTunnel = (!String.IsNullOrEmpty(tokens[tokens.Length - 1]));

                    // semt
                    if (!String.IsNullOrEmpty(tokens[tokens.Length - 2]))
                    {
                        lastRoad.Semt = tokens[tokens.Length - 2];
                    }
                }

                lastRoad.Nodes.Add(new Coordinate() { Lon = Convert.ToDouble(tokens[2]), Lat = Convert.ToDouble(tokens[3]) });
            }

            if (lastRoad != null) roads.Add(lastRoad);

            return roads;
        }