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); } }
public bool pomierzonaPonizejOdchylki(DzialkaEwidencyjna dzialka) { if (!dzialka.przypisanaDotychczasowa()) { return(false); //Brak działki ewidencyjnej } DzialkaEwidencyjna dotychczasowa = dzialka.dzialkaDotychczasowa(); if (dotychczasowa.countPodzielone() > 0) { return(false); //Działka jest podzielona lub przenumerowana } long pg = dzialka.powierzchnia().metryKwadratowe(); long pe = dotychczasowa.powierzchnia().metryKwadratowe(); if (pg == pe) { return(false); //Powierzchnia działek jest identyczna } long dr = pg - pe; //Różnica powierzchni long drAbsolute = Math.Abs(dr); double dp = 0.0001 * pg + 0.2 * Math.Sqrt(pg); //Dopuszczalna odchyłka long dpRounded = (long)Math.Round(dp, MidpointRounding.ToEven); return(drAbsolute == 1 || drAbsolute == 2 || drAbsolute == 3 || drAbsolute <= dpRounded); }
private bool aryPowierzchnia(DzialkaEwidencyjna dzialka) { if (!dzialka.przypisanaDotychczasowa()) { return(false); //Brak działki ewidencyjnej } return(dzialka.dzialkaDotychczasowa().powierzchnia().metryKwadratowe().ToString().EndsWith("00")); }
public void TestPowierzchniaEwidencyjnaZdefiniowana() { DzialkaEwidencyjna ewid = new DzialkaEwidencyjna(dzialka.identyfikator(), dzialka.powierzchnia()); ewid.jednostkaRejestrowa(JednostkaRejestrowa.parseG5("142307_2.0001.G00001")); ewid.dodajKlasouzytek(new Klasouzytek("dr", "", "", new Powierzchnia(1))); dzialka.dzialkaDotychczasowa(ewid); Assert.IsTrue(dzialka.przypisanaDotychczasowa()); }
public virtual bool pomierzona(DzialkaEwidencyjna dzialka) { bool?pomierzone = pomierzonePunkty(dzialka); if (!pomierzone.HasValue) { return(false); //nieznana } return(pomierzone.Value); }
public void TestDodajJednaDzialka() { IdentyfikatorDzialki id = new IdentyfikatorDzialki("1", "1"); DzialkaEwidencyjna dzialka = new DzialkaEwidencyjna(id, new Powierzchnia(10)); Klasouzytek klasouzytek = new Klasouzytek("R", "R", "I", new Powierzchnia(10)); dzialka.dodajKlasouzytek(klasouzytek); rozliczenie.dodajDzialka(dzialka); Assert.AreEqual(1, rozliczenie.Count()); }
public void TestWyszukajId() { IdentyfikatorDzialki id = new IdentyfikatorDzialki("1", "1"); DzialkaEwidencyjna dzialka = new DzialkaEwidencyjna(id, new Powierzchnia(10)); Klasouzytek klasouzytek = new Klasouzytek("R", "R", "I", new Powierzchnia(10)); dzialka.dodajKlasouzytek(klasouzytek); rozliczenie.dodajDzialka(dzialka); Assert.IsTrue(rozliczenie.zawieraId(id)); Assert.IsNotNull(rozliczenie.dzialkaById(id)); }
public void init_test() { string[] operaty = new string[] { "opa", "opb", "opc" }; rodzajDzialki = new OperatowyRodzajDzialki(operaty); punktNieznany.operat("opc"); punktWektoryzacja.operat("opb"); punktPomiar.operat("opx"); punktOperat.operat("opa"); dzialka = new DzialkaEwidencyjna( new IdentyfikatorDzialki("1", "12/3"), new Powierzchnia(1234)); }
private bool operatowePunkty(DzialkaEwidencyjna dzialka) { foreach (var punkt in dzialka.punkty()) { Kontrakt.assert(punkt.rodzaj().zPomiaru()); string operat = punkt.operat(); if (!operaty.Contains(operat)) { return(false); } } return(true); }
public void TestDodajPowtorzonaDzialka() { IdentyfikatorDzialki id1 = new IdentyfikatorDzialki("1", "1"); DzialkaEwidencyjna dzialka1 = new DzialkaEwidencyjna(id1, new Powierzchnia(10)); Klasouzytek uzytek = new Klasouzytek("R", "R", "I", new Powierzchnia(10)); dzialka1.dodajKlasouzytek(uzytek); rozliczenie.dodajDzialka(dzialka1); IdentyfikatorDzialki id2 = new IdentyfikatorDzialki("1", "1"); DzialkaEwidencyjna dzialka2 = new DzialkaEwidencyjna(id2, new Powierzchnia(10)); dzialka2.dodajKlasouzytek(uzytek); rozliczenie.dodajDzialka(dzialka2); }
public void test_działka_pomiar_ewidencyjna_100() { DzialkaEwidencyjna dotychczasowa = new DzialkaEwidencyjna( new IdentyfikatorDzialki("1", "2/3"), new Powierzchnia(100)); dotychczasowa.jednostkaRejestrowa(JednostkaRejestrowa.parseG5("142307_2.0001.G00001")); dotychczasowa.dodajKlasouzytek(new Klasouzytek("W", "", "", new Powierzchnia(100))); dzialka.dzialkaDotychczasowa(dotychczasowa); dzialka.dodajPunkt(punktPomiar); dzialka.dodajPunkt(punktPomiar); dzialka.dodajPunkt(punktPomiar); Assert.IsTrue(!rodzajDzialki.nieznany(dzialka)); Assert.IsTrue(!rodzajDzialki.niepomierzona(dzialka)); Assert.IsTrue(rodzajDzialki.pomierzona(dzialka)); }
protected bool?pomierzonePunkty(DzialkaEwidencyjna dzialka) { List <PunktGraniczny> nieznane = new List <PunktGraniczny>(); List <PunktGraniczny> operatowe = new List <PunktGraniczny>(); List <PunktGraniczny> wektoryzacja = new List <PunktGraniczny>(); int innePunkty = 0; foreach (var punkt in dzialka.punkty()) { RodzajPunktu rodzaj = punkt.rodzaj(); if (rodzaj.nieznany()) { nieznane.Add(punkt); } else if (rodzaj.zWektoryzacji()) { wektoryzacja.Add(punkt); } else if (rodzaj.zPomiaru()) { operatowe.Add(punkt); } else { innePunkty++; } } Kontrakt.assert(innePunkty == 0); if (nieznane.Count > 0) { return(null); } if (wektoryzacja.Count > 0) { return(false); } if (operatowe.Count > 0) { return(true); } return(null); }
private void writeDziałka(DzialkaEwidencyjna dzialka) { string id = dzialka.identyfikator().ToString(); bool nieznany = _rodzaj.nieznany(dzialka); bool wektoryzacja = _rodzaj.niepomierzona(dzialka); bool pomierzona = _rodzaj.pomierzona(dzialka); var operaty = from pkt in dzialka.punkty() select "[" + pkt.zrodloDanych() + ", " + pkt.bladPolozenia() + "]"; string joinOperaty = string.Join(" ", operaty); if (nieznany) { _writer.WriteLine("{0,-16}{1,-32}{2}", id, "prawdopodobnie wektoryzacja", joinOperaty); } if (wektoryzacja) { _writer.WriteLine("{0,-16}{1,-32}{2}", id, "wektoryzacja", joinOperaty); } if (pomierzona) { _writer.WriteLine("{0,-16}{1,-32}{2}", id, "pomiar", joinOperaty); } int count = 0; if (nieznany) { count++; } if (wektoryzacja) { count++; } if (pomierzona) { count++; } Kontrakt.ensures(count == 1, "Konflikt rodzaju działki: " + id); }
public override bool niepomierzona(DzialkaEwidencyjna dzialka) { bool?pomierzone = pomierzonePunkty(dzialka); if (!pomierzone.HasValue) { return(false); //nieznana } if (!pomierzone.Value) { return(true); //wektoryzacja } if (operatowePunkty(dzialka)) { return(false); //pomiar } if (aryPowierzchnia(dzialka)) { return(false); //pomiar } return(true); //wektoryzacja }
public override bool nieznany(DzialkaEwidencyjna dzialka) { bool?pomierzone = pomierzonePunkty(dzialka); return(!pomierzone.HasValue); }