Пример #1
0
        public Gemeente(int id, string taalcode, Provincie provincie)
        {
            this.Id        = id;
            this.Taalcode  = taalcode;
            this.Provincie = provincie;

            this.Straten = new Straten();
        }
Пример #2
0
        public Provincie Get(int Id)
        {
            Provincie provincie = null;

            foreach (var item in provincies)
            {
                if (item.Id.Equals(Id))
                {
                    return(item);
                }
            }
            return(provincie);
        }
Пример #3
0
        public void ReadAll()
        {
            long         totalTimeElapsed = 0;
            StreamReader reader;
            // READ PROVINCIEDATA
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            reader = new StreamReader(provincieInfo);
            var provincies = this.Regios[0].Provincies;

            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');
                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }
                if (!provincies.Exists(int.Parse(values[1]), values[2]))
                {
                    provincies.Add(new Provincie(line, this.Regios[0]));
                }
                Provincie huidigeProvincie = provincies.Get(int.Parse(values[1]));
                if (huidigeProvincie.Gemeentes.Exists(int.Parse(values[0]), values[2]))
                {
                    continue;
                }
                huidigeProvincie.Gemeentes.Add(new Gemeente(int.Parse(values[0]), values[2], huidigeProvincie));
            }
            stopWatch.Stop();
            Console.WriteLine($"Reading provinciedata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            stopWatch.Reset();
            // READ GEMEENTEDATA
            stopWatch.Start();
            reader = new StreamReader(WRGemeentenaam);
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');
                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }
                foreach (var provincie in provincies.provincies)
                {
                    foreach (var gemeente in provincie.Gemeentes.gemeentes)
                    {
                        if (gemeente.Id.Equals(int.Parse(values[1])) && gemeente.Taalcode.Equals(values[2]))
                        {
                            gemeente.Naam   = values[3];
                            gemeente.NaamId = int.Parse(values[0]);
                        }
                    }
                }
            }
            stopWatch.Stop();
            Console.WriteLine($"Reading gemeentedata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            stopWatch.Reset();
            // READ STRAATDATA
            stopWatch.Start();
            Dictionary <int, int> stratenengemeenten = new Dictionary <int, int>();

            reader = new StreamReader(straatnaamID_gemeenteID);
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');
                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }
                stratenengemeenten.Add(int.Parse(values[0]), int.Parse(values[1]));
            }
            foreach (var provincie in provincies.provincies)
            {
                foreach (var gemeente in provincie.Gemeentes.gemeentes)
                {
                    var matches = stratenengemeenten.Where(pair => pair.Value == gemeente.Id).Select(pair => pair.Key);
                    foreach (var item in matches)
                    {
                        gemeente.Straten.Add(new Straat(item, gemeente));
                    }
                }
            }
            stopWatch.Stop();
            Console.WriteLine($"Reading stratenID data took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            stopWatch.Reset();
            stopWatch.Start();
            Dictionary <int, string> straten = new Dictionary <int, string>();

            reader = new StreamReader(WRstraatnamen);
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');
                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }
                straten.Add(int.Parse(values[0]), values[1].Trim());
            }
            int teller = 1;

            foreach (var provincie in provincies.provincies)
            {
                //Console.WriteLine($"Provincie {teller} van {provincies.Count} verwerken...");
                teller++;
                foreach (var gemeente in provincie.Gemeentes.gemeentes)
                {
                    foreach (var straat in gemeente.Straten.straten)
                    {
                        string name;
                        if (straten.TryGetValue(straat.Id, out name))
                        {
                            straat.Naam = name;;
                        }
                    }
                }
            }
            stopWatch.Stop();
            Console.WriteLine($"Reading gemeentedata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            Console.WriteLine($"Total time elpased: {totalTimeElapsed} millis.");
            stopWatch.Reset();
        }
Пример #4
0
        /// <summary>
        /// not 100% functional, for better results use upgraded non-selectve ReadAll()
        /// </summary>
        /// <param name="targetGemeente"></param>
        public void Read(string targetGemeente)
        {
            long         totalTimeElapsed = 0;
            StreamReader reader;
            Gemeente     gevondenGemeente  = null;
            Provincie    gevondenProvincie = null;
            Straat       gevondenStraat    = null;
            // READ GEMEENTEDATA
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            reader = new StreamReader(WRGemeentenaam);
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');

                if (values[2].Equals(this.TaalCode) && values[3].Equals(targetGemeente))
                {
                    gevondenGemeente = new Gemeente(line);
                }
            }
            reader.Close();
            stopWatch.Stop();
            Console.WriteLine($"Reading gemeentedata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            stopWatch.Reset();
            // READ PROVINCIEDATA
            stopWatch.Start();
            reader = new StreamReader(provincieInfo);
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');
                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }
                if (values[2].Equals(this.TaalCode) && gevondenGemeente.Id == int.Parse(values[0]))
                {
                    gevondenProvincie = new Provincie(line);
                    gevondenProvincie.Gemeentes.Add(gevondenGemeente);
                    this.Regios[0].Provincies.Add(gevondenProvincie);
                }
            }
            reader.Close();
            stopWatch.Stop();
            Console.WriteLine($"Reading provinciedata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            stopWatch.Reset();
            // READ STREETID DATA
            stopWatch.Start();
            reader = new StreamReader(straatnaamID_gemeenteID);
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(';');

                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }

                if (int.Parse(values[1]).Equals(gevondenGemeente.Id))
                {
                    gevondenStraat = new Straat(line);
                    this.Regios[0].Provincies[0].Gemeentes[0].Straten.Add(gevondenStraat);
                }
            }
            Console.WriteLine(this.Naam + ", " + this.Regios[0].Naam + ", " +
                              this.Regios[0].Provincies[0].Naam + ", " +
                              this.Regios[0].Provincies[0].Gemeentes[0].Naam + " heeft " +
                              this.Regios[0].Provincies[0].Gemeentes[0].Straten.Count +
                              " straten geregistreerd.");
            reader.Close();
            stopWatch.Stop();
            Console.WriteLine($"Reading streetiddata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            stopWatch.Reset();
            // READ STREETNAMEDATA
            stopWatch.Start();
            reader = new StreamReader(WRstraatnamen);
            while (!reader.EndOfStream)
            {
                string line   = reader.ReadLine().TrimEnd();
                var    values = line.Split(';');
                if (!String.IsNullOrEmpty(line) && Char.IsLetter(line[0]))
                {
                    continue;
                }

                if (this.Regios[0].Provincies[0].Gemeentes[0].Straten.Exists(int.Parse(values[0])))
                {
                    this.Regios[0].Provincies[0].Gemeentes[0].Straten.KenNaamToe(int.Parse(values[0]), values[1]);
                }
            }
            reader.Close();
            stopWatch.Stop();
            Console.WriteLine($"Reading streetnamedata took {stopWatch.ElapsedMilliseconds} millis.");
            totalTimeElapsed += stopWatch.ElapsedMilliseconds;
            Console.WriteLine($"Total time elpased: {totalTimeElapsed} millis.");
            stopWatch.Reset();
        }
Пример #5
0
 public void Add(Provincie _provincie)
 {
     Count = Count + 1;
     Array.Resize(ref provincies, Count);
     provincies[(Count - 1)] = _provincie;
 }