/// <summary> /// gaat door WRstraatnamen en WRdata files /// returned lijst van alle straten. /// </summary> /// <returns></returns> public static List <Straat> StraatFactory(string unziptPath) { List <Straat> straten = new List <Straat>(); #region ingelezen Dictionary <int, string> WRstraatnamen = Inlezer.WRstraatNamenParser(unziptPath); Dictionary <int, List <Segment> > WRData = Inlezer.WRdataParser(unziptPath); Console.WriteLine("\nLoading straten maken: "); int teller = 0; #endregion foreach (KeyValuePair <int, string> straatnaam in WRstraatnamen) { //controleren of straatnamen en wrData overeenkomen if (WRstraatnamen.ContainsKey(straatnaam.Key) && WRData.ContainsKey(straatnaam.Key)) { Straat temp = new Straat(straatnaam.Key, straatnaam.Value, Graaf.buildGraaf(straatnaam.Key, WRData[straatnaam.Key])); straten.Add(temp); teller++; if (teller > 50000) { teller = 0; Console.Write("*"); } } } return(straten); }
public static Graaf buildGraaf(int graafID, List <Segment> ingelezenSegmenten) { Graaf buildedGraaf; buildedGraaf = new Graaf(graafID); //1st map checken of er niets in zit foreach (Segment segment in ingelezenSegmenten) { if (buildedGraaf.map.Count == 0) //als map leeg is { buildedGraaf.map.Add(segment.beginKnoop, new List <Segment>() { segment }); //lijst segmeneten initialiseren en dan segment insteken } else { if (buildedGraaf.map.ContainsKey(segment.beginKnoop)) //als straat opslitst. { buildedGraaf.map[segment.beginKnoop].Add(segment); //bij die key voeg nieuw segment aan toe } else //als hij het niet vindt. { buildedGraaf.map.Add(segment.beginKnoop, new List <Segment>() { segment }); } } } return(buildedGraaf); }
public Straat(int straatID, string straatnaam, Graaf graaf) => (this.straatId, this.straatnaam, this.graaf) = (straatID, straatnaam, graaf);