private Segment(int segmentID, Knoop beginKnoop, Knoop eindKnoop, List <Punt> vertices) { this.SegmentId = segmentID; this.BeginKnoop = beginKnoop; this.EindKnoop = eindKnoop; this.Punten = vertices; }
private static void InitFullList() { var index = Config.indexwrdata; foreach (string[] strData in Config.strListWRData) { List <Punt> punten = new List <Punt>(); string puntenString = strData[index["geo"]]; puntenString = puntenString.Replace("LINESTRING (", ""); puntenString = puntenString.Replace(")", ""); string[] strPunten = puntenString.Split(','); foreach (string strPunt in strPunten) { string[] xy = strPunt.Split(' '); xy = xy.Where(s => !string.IsNullOrEmpty(s)).ToArray(); decimal x = Convert.ToDecimal(xy[0], CultureInfo.InvariantCulture); decimal y = Convert.ToDecimal(xy[1], CultureInfo.InvariantCulture); Punt punt = new Punt(x, y); punten.Add(punt); } int segmentId = int.Parse(strData[index["wegsegmentid"]]); int beginknoopId = int.Parse(strData[index["beginwegknoopid"]]); Knoop beginKnoop = new Knoop(beginknoopId, punten.First()); int eindknoopId = int.Parse(strData[index["eindwegknoopid"]]); Knoop eindKnoop = new Knoop(eindknoopId, punten.Last()); Segment segment = new Segment(segmentId, beginKnoop, eindKnoop, punten); int straatId = int.Parse(strData[index["rechtsstraatnaamid"]]); if (straatSegmentenDict.ContainsKey(straatId)) { straatSegmentenDict[straatId].Add(segment); } else { List <Segment> segmenten = new List <Segment>(); segmenten.Add(segment); straatSegmentenDict.Add(straatId, segmenten); } } }