int WczytajKlasoużytki(DokumentSwde swde) { var użytki = swde.GetObiektyKlasy("G5KLU"); foreach (var klu in użytki) { string g5ofu = klu.GetAtrybut("G5OFU"); string g5ozu = klu.GetAtrybut("G5OZU"); string g5ozk = klu.GetAtrybut("G5OZK"); string g5pew = klu.GetAtrybut("G5PEW"); Powierzchnia powierzchnia = Powierzchnia.ParsujMetry(g5pew); Klasoużytek klasouzytek = new Klasoużytek(g5ofu, g5ozu, g5ozk, powierzchnia); var dze = klu.GetRelacja("G5RDZE"); string g5idd = dze.GetAtrybut("G5IDD"); IdentyfikatorDziałki identyfikator = IdentyfikatorDziałki.ParsujIdG5(g5idd); var id = identyfikator.ToString(); if (_indeksDziałek.ContainsKey(id)) { _indeksDziałek[id].DodajUżytek(klasouzytek); } else { Logger.ostrzeżenie("nie można dodać użytku " + klasouzytek.ToString() + " do działki " + id); } } return(użytki.Count()); }
int WczytajDziałki(DokumentSwde swde) { var działki = swde.GetObiektyKlasy("G5DZE"); foreach (var dze in działki) { try { var działka = dze.WczytajJednąDziałkę(); var id = działka.Id.ToString(); _indeksDziałek.Add(id, działka); //Przypisz jednostkę rejestrową do działki var jdr = dze.GetRelacja("G5RJDR"); var g5ijr = jdr.GetAtrybut("G5IJR"); var jr = _indeksJednostek[JednostkaRejestrowa.ParseG5(g5ijr).ToString()]; działka.jr = jr; //Przypisz kw z podstawy własności działka.kw = dze.GetRelacjaLubNull("G5RPWŁ").WczytajSygnaturę(); //Jeżeli nadal brak kw to jeszcze zobaczymy w podstawie władania if (string.IsNullOrEmpty(działka.kw)) { działka.kw = dze.GetRelacjaLubNull("G5RPWD").WczytajSygnaturę(); } } catch (Exception ex) { Logger.błąd("nie można wczytać działki " + dze.GetAtrybut("G5IDD") + ": " + ex.Message); } } return(działki.Count()); }
int WczytajWładających(DokumentSwde swde) { var wladajacy = swde.GetObiektyKlasy("G5UDW"); foreach (var klu in wladajacy) { var jdr = klu.GetRelacja("G5RWŁD"); //Jednostka rejestrowa? (opcjonalna) string g5ijr = jdr.GetAtrybut("G5IJR"); JednostkaRejestrowa jr = _indeksJednostek[JednostkaRejestrowa.ParseG5(g5ijr).ToString()]; var pod = klu.GetRelacja("G5RPOD"); //Podmiot switch (pod.Typ) { case "G5OSF": jr.DodajWladajacego(pod.CreateOsobaFizyczna()); break; case "G5INS": jr.DodajWladajacego(pod.CreateInstytucja()); break; case "G5MLZ": jr.DodajWladajacego(pod.CreateMałżeństwo()); break; case "G5OSZ": jr.DodajWladajacego(pod.CreatePodmiotGrupowy()); break; default: Kontrakt.fail(); break; } } return(wladajacy.Count()); }
public IEnumerable <DzialkaEwidencyjna> działki() { var powierzchnia = new Powierzchnia(1); foreach (var dze in _dokument.GetObiektyKlasy("G5DZE")) { var g5idd = dze.GetAtrybut("G5IDD"); var id = IdentyfikatorDzialki.parseG5(g5idd); var działka = new DzialkaEwidencyjna(id, powierzchnia); //Nie dodawaj do działki punktów jeżeli choć jeden jest niegraniczny, aby wymusić status "nieznany" dla działki. if (dze.Geometria.countPunktyNiegraniczne() == 0) { Kontrakt.assert(działka.countPunkty() == 0, "Do działki były już importowane punkty."); ObiektSwde[] punktySwde = dze.Geometria.PunktyGraniczne; foreach (var punktSwde in punktySwde) { string g5zrd = punktSwde.GetAtrybut("G5ZRD"); string g5bpp = punktSwde.GetAtrybut("G5BPP"); var punkt = new PunktGraniczny(g5zrd, g5bpp); ObiektSwde operat = punktSwde.GetRelacja("G5RKRG"); string g5syg = operat.GetAtrybut("G5SYG"); punkt.operat(g5syg); działka.dodajPunkt(punkt); } } yield return(działka); } }
private ObiektSwde obiektKlasy(string klasa) { IEnumerable <ObiektSwde> obiekty = _dokument.GetObiektyKlasy(klasa); Assert.AreEqual(1, obiekty.Count()); ObiektSwde obiekt = obiekty.First(); Assert.AreEqual(klasa, obiekt.Typ); return(obiekt); }
public void test_zlicz_budynki() { int count = 0; foreach (var obiekt in _dokument.GetObiekty()) { if (obiekt.Typ.Contains("BUD")) { count++; } } Assert.AreEqual(1, count); IEnumerable <ObiektSwde> budynki = _dokument.GetObiektyKlasy("G5BUD"); Assert.AreEqual(0, LoggerSwde.Bledy); Assert.AreEqual(1, budynki.Count()); }
int WczytajJednostkiRejestrowe(DokumentSwde swde) { var jednostkiRejestrowe = swde.GetObiektyKlasy("G5JDR"); foreach (var jdr in jednostkiRejestrowe) { string g5ijr = jdr.GetAtrybut("G5IJR"); JednostkaRejestrowa jr = JednostkaRejestrowa.ParseG5(g5ijr); var obr = jdr.GetRelacja("G5ROBR"); string obrTeryt = obr.GetAtrybut("G5NRO"); string obrNazwa = obr.GetAtrybut("G5NAZ"); jr.obrebEwidencyjny(obrTeryt, obrNazwa); var jew = obr.GetRelacja("G5RJEW"); string jewTeryt = jew.GetAtrybut("G5IDJ"); string jewNazwa = jew.GetAtrybut("G5NAZ"); jr.jednostkaEwidencyjna(jewTeryt, jewNazwa); _indeksJednostek.Add(jr.ToString(), jr); } return(jednostkiRejestrowe.Count()); }
int readKontury(DokumentSwde swde) { List <IGeometry> geometrie = new List <IGeometry>(); var kontury = swde.GetObiektyKlasy("G5KKL"); foreach (var klu in kontury) { string g5idk = klu.GetAtrybut("G5IDK"); string g5ozu = klu.GetAtrybut("G5OZU"); string g5ofu = string.Empty; string g5ozk = klu.GetAtrybut("G5OZK"); string g5pew = klu.GetAtrybut("G5PEW"); Powierzchnia powierzchnia = Powierzchnia.parseMetry(g5pew); if (string.IsNullOrEmpty(g5ozk)) { //użytek g5ofu = g5ozu; g5ozu = string.Empty; } else { //kontur klasyfikacyjny g5ofu = g5ozu; string[] split = g5ofu.Split(new char[] { '-' }, 3); switch (split.Length) { case 2: g5ofu = split[0]; g5ozu = split[1]; if (g5ofu.Equals("E")) //nie dziel E { g5ofu = split[0] + '-' + split[1]; g5ozu = split[1]; } break; case 3: g5ofu = split[0] + "-" + split[1]; g5ozu = split[2]; break; default: break; } } string oznString = string.Format("{4}\t{0}\t{1}\t{2}\t{3}", g5ofu, g5ozu, g5ozk, g5pew, g5idk); Logger.write(oznString); EGB_OFU ofu = new EGB_OFU(g5ofu); EGB_OZU?ozu = null; if (!string.IsNullOrEmpty(g5ozu)) { ozu = new EGB_OZU(g5ozu); } EGB_OZK?ozk = null; if (!string.IsNullOrEmpty(g5ozk)) { ozk = new EGB_OZK(g5ozk); } EGB_OznaczenieKlasouzytku ozn = new EGB_OznaczenieKlasouzytku(ofu, ozu, ozk); ozn.walidujOgraniczenia(); //Console.WriteLine(g5idk); string wkt = klu.Geometria.NaWkt(); GeometriaObiektu geometria = new GeometriaObiektu(wkt); try { geometria.overlaps(geometrie); } catch (Exception ex) { Logger.writeBłąd(ex.Message + ":" + wkt); } geometrie.Add(geometria.geometry()); } return(kontury.Count()); }