[Файл]
[Сохранить в IN4]. Тут же відкрваю формат через digitals і бачу, що ділянка змінила площу +/- кілька кв. метрів. Чому!
Скорее всего из-за округления координат до сантиметров, которое имеет место при сохранении в In4. Исходные координаты в Digitals имеют точность выше сантиметров и рассчитанная по ним площадь не будет совпадать с площадью расчитанной по округленным координатам. Однако в настройках Digitals можно включить режим расчета площади с округлением до сантиметров (Сервис|Настройки|Вид|Точность площади|2 знака). Тогда разница возникать не должна.
Мне все-таки кажется что проблема в самом Digitals.
для проверки нарисуйте прямоугольник примерно 1мХ543212м. и поворачивая такую фигуру на разные углы получаем разную площадь.
у меня почти все время площадь между *.dmf и *.in4 гуляет на 1 кв.м (в основном +1)
По какой формуле рассчитывается площадь??
Все совершенно справедливо, особенно для контуров с большими площадями.
Площадь расчитывается по координатам, формулы, полагаю, традиционные, путем суммирования трапеций.
Проблема в том, что координаты берутся с дискретной точностью - для ин4 это точность сантиметровая. Поэтому при повороте координата смещается (округляется) к ближайшему сантиметру. Как следствие, фактически происходит изменение геометрии контура. Изменение незначительное, но на больших длинах линий погрешность бывает существенной.
Промоделировать ситуацию для себя вы можете простым способом:
- начертите квадрат с целой длинной стороны на кальке
- приложите его на миллиметровую бумагу строго вертикально
- поверните и проанализируйте как изменятся его координаты
К слову, похожая проблема возникает и со створными точками. (См. прикрепленный файл)
Вообще, требования ин4 к точности координат и баллансу площадей противоречат не только геодезии, но, зачастую, и здравому смыслу.
Однако деркомзем рулит, так что “маємо те шо маємо”.
Если поворачивать длинный и тонкий обьект в Digitals и идет изменение площади (до 4 знаков) в самом Digitals, то речи и не может быть об ограничениях формата *.in4. а если учесть что при вычислении используется тип real или extended, то 4 знака после запятой должны быть однозначными при любом угле поворота.
Я все-таки думаю что ошибка закралась где-то в дебрях кода исходника Digitals при использовании фунций Trunc() и Round().
Обратите внимание на Сервис|Настройки|Вид|Точность площади, как упоминалось выше.
Программа действительно внутри держит координаты с максимальной точностью. А вот вычисление площадей происходит по виртуально округленным координатам, в соответствии с заданными настройками. Это как раз и сделано для того, чтобы симулировать площадь в сохраненном ин4.
При повороте контура вступают в силу все те ограничения о которых я писал выше, площадь вычисленая таким образом “плывет”. Поэкпериментируйте с параметром точности и увидите разницу.
я так понял что единственное решение данной проблемы - это сохранение координат в *.in4 с большей точностью допустим до миллиметров. Тогда возникает вопрос: А допустимо ли это в спецификации даного формата???
И на крайняк, ГДЕ ВЗЯТЬ ОНУЮ СПЕЦИФИКАЦИЮ?
Да, лучший выход из данной ситуации это задавать большую точность в координатах. Насколько мне известно, в некоторых ДЗК допускается использовать 4 знака после точки в координатах. Но в требованиях к формированию обменных файлов оговорена именно сантиметровая точность координат. На спецификацию ссылались где-то на этом форуме, используйте поиск.
придётся обрезать ваши координаты до 2го знака после запятой
Карта\Система координат\Точность координат\2\Enter
Что за кровожадность такая? Все резать да резать.. ![]()
Тем более, что это не выход в данной ситуации. Виртуальное округление в принципе призвано дать тот же результат, что и обрезка, при этом сохранив исходную точность карты.
Обрезка - функция скорее для “параноиков”
, чтобы быть уверенным на все 100%, и ее применение в общем-то допустимо при сдаче конечной продукции.
А если работа “в процессе” - то мы рискуем накапливать ошибки: обрезали, выполнили какие-то построения, снова обрезали, опять построения…
Следует помнить об этих нюансах.
Як вернути максимальну точність?
Виконав Карта\Система координат\Точность координат\2\Enter, тепер я бачу координати до см. Пробую зробити те саме, вбиваючи 3 - нічого не міняється. У властивостях обєктів координати залишаються заокругленими до см. Точність площі/периметра стоїть максимум.
Говорили - балакали, сели и заплакали.
Никак!
Что же вы так невнимательно читаете все что написано выше?
![]()
Говорили же округление координат физическое в данном случае.
Естественно всё обрезает.
Тепер догнав. Тобто раз обрізав - і всьо. Назад не пришиєш. Поспішив я. Добре хоч не важлива робота була.
misha_OD
объясните пожалуйста для чего нужно более двух знаков после запятой в координатах?
misha_OD
объясните пожалуйста для чего нужно более двух знаков после запятой в координатах?
Якщо все обрізати до двох, то в процесі роботи буде накопичуватись помилка. Я вважаю, що краще працювати з максимальною точністю, а при експорті вже “обрізати” скільки треба.
Я помітив, що в деяких файлах площа показується в га, а в інших в м. кв. Але не можу знайти настройки, яка змінює одиниці в яких показується площа. Як це можна змінювати?
Я помітив, що в деяких файлах площа показується в га, а в інших в м. кв. Але не можу знайти настройки, яка змінює одиниці в яких показується площа. Як це можна змінювати?
В маске параметра “Площадь” #0 ID 0 можно указать /10000 0.0000,
где /10000 - делитель, переводящий кв.м в га, а 0.0000 - формат отображения
Еденицы площади зависят от маски параметра 0-Площа. В случае маски /10000 0.0000 это будут гектары, с округлением до кв. метра. С пустой маской - соответственно просто квадратные метры, если конечно ваш чертеж в метрах (а не футах, к примеру
).
Дякую всім! Це я взявся за шаблони, тому всяких різних питань буде виникати.