Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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"));
 }
Exemple #4
0
        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());
        }
Exemple #5
0
        public virtual bool pomierzona(DzialkaEwidencyjna dzialka)
        {
            bool?pomierzone = pomierzonePunkty(dzialka);

            if (!pomierzone.HasValue)
            {
                return(false);                      //nieznana
            }
            return(pomierzone.Value);
        }
Exemple #6
0
        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());
        }
Exemple #7
0
        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));
        }
Exemple #8
0
 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);
 }
Exemple #10
0
        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);
        }
Exemple #11
0
        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));
        }
Exemple #12
0
        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);
        }
Exemple #13
0
        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);
        }