На этом форуме, да и на смежном в refland'е, кажется уже туча копий сломана относительно вопроса балланса площадей.
Предлагаю своё исследование по данному вопросу.
Суть явления сводится к следующему – несовершенство функций округления стандартной языковой библиотеки (применительно к дигиталу, Delphi, я полагаю).
В курсе высшей геодезии и мат. статистики, существует понятие округления по Гауссу, которое учитывает четность предокругляемого знака. В последнем случае, если округляемый знак равен 5, то округляется вниз, при нечётном случае – вверх.
Пример:
- 8.5 округляется в 8 (как чётное);
- 7.5 тоже в 8 (как нечётное).
Стандартные функции Паскаля округляют первый случай к 9, второй к 8, что неверно.
В случае применения Гауссова округления, балланс площадей заметно улучшается, по крайней мере, на примере моих проблемных участков.
Предлагаю перевести соответствующие функции ответственные за округление в вышеописаный режим работы, возможно с отдельной настройкой в константах – там, насколько я помню, существуют настройки для балланса площадей.
Не буду возражать, если перепроверите мои предположения по данному вопросу в каком-либо учебном заведении. Моя alma mater – Львовский Политех.
Приложение: файл xls. На примере двух участков показано, что округление по Гауссу, даёт лучший результат, чем стандартная функция (графа AL).
Была извлечена площадь до 5го знака и до 4го, после чего подсчитана сумма, применяя стандартное округление и округление с учетом четного предокругляемого знака (гауссовское).
(Всё вышесказаное касается и координат, по большому счёту, хотя и не так критично.)