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")); }