Аналитика
http://geosystema.net/forum/

Двойное округление расчетных параметров
http://geosystema.net/forum/viewtopic.php?f=5&t=118
Страница 1 из 1

Автор:  Павел Корыстин [ 01 фев 2006 16:25 ]
Заголовок сообщения:  Двойное округление расчетных параметров

Имеем объект площадью - 0.0660496 га
Маска параметра 'ID[0] Площадь' - /10000 0.000000,
т.е он принимает значение - 0.066050.

А расчетный параметр "=P[0]" (который ссылается на вышеуказанный)
имеет маску 0.0000, и он принимает значение - 0.0661. :?

меняем маску 'ID[0] Площадь' на /10000 0.0000,
получаем площадь - 0.0660 :roll:

Вобщем работает двойное округление. :(

Нельзя ли сделать так, чтоб маски параметров влияли только на отображение значений, а в памяти они бы хранились неокругленными? И при ссылке на маскированные параметры использовались бы неокругленные значения.

Я думаю так будет правильней. Ведь если сделать несколько расчетных параметров последовательно ссылающихся друг на друга и каждый будет округлятся, то можно накопить существенную ошибку. :!: (даже один метр как в моем случае - это уже проблема)

Автор:  Dmitriy Fedorov [ 01 фев 2006 20:01 ]
Заголовок сообщения: 

Так как есть по крайней мере логично и объяснимо.
Как бы еще больше не запутать.
В дигитале и так слишком много разного необъяснимого. :)

Автор:  Dkrav [ 01 фев 2006 21:19 ]
Заголовок сообщения: 

А зачем округлять до 6 знаков а потом до четырех? С математической точки зрения это совсем уж неправильно. Так можно и до десятков метров добежать

Автор:  Anton Gorpynich [ 02 фев 2006 08:53 ]
Заголовок сообщения: 

Действительно, было бы логичнее убрать маску для параметра ID[0], чтобы его значение оставалось с максимальной точностью, а уже для производных параметров задавать маски. По такому же принципу целесообразно делать и с другими параметрами.

Автор:  Павел Корыстин [ 02 фев 2006 12:09 ]
Заголовок сообщения: 

Dmitriy Fedorov писал(а):
Так как есть по крайней мере логично и объяснимо.


"логично и объяснимо" сделано в небезызвестной программе Microsoft Excel:
есть понятие "число десятич. знаков" в формате ячейки - влияет только на внешний вид значения, а в расчет принимается неокругленное значение.

а есть команда "ОКРУГЛ", которая действительно округляет число.

разные вещи, не правда ли...

Цитата:
А зачем округлять до 6 знаков а потом до четырех?

Поясню:
нам надо чтоб параметр ID[0]Площадь ОТОБРАЖАЛСЯ в гектарах с точностью 0.000000, поэтому в маске - /10000 0.000000.
Именно этот параметр, т.к. только он показывает суммарную площадь помеченных, а все остальные вычисляемые параметры типа "=P[0]" показывают '*'
А "=P[0]" округляется до четырех заков, т.к. именно в таком виде площадь дожна выглядеть на подписях, в выходных документах и экспортируемых файлах.
Цитата:
Действительно, было бы логичнее убрать маску для параметра ID[0]чтобы его значение оставалось с максимальной точностью

ХА!.. :lol: Убираем маску - получаем площадь В МЕТРАХ округленную по умолчанию до двух знаков, т.е. те же гектары до 6-ти знаков. Это максимальная точность?!
Картина в этом случае такая же:
"ID[0]"=660.50, "=P[0]"=0.0661, а на самом деле 0.0660496

Дело то в том что ОКРУГЛЕНИЕ ЕСТЬ ВСЕГДА, по умолчанию до 2-х знаков. И какую точность ни ставь, хоть 0.00000000000000, всегда найдется какой-нибудь случай типа 0.0660499999999 и с ним будут проблемы.

Проблем нет когда у всех параметров одинаковая маска и все они одинаково округляются. Но вот понадобилось нам, чтоб маска была разная. Чтоб видеть полщадь поточнее, а печатать округленную.

Ну так и давайте уберем округление ситемных параметров. Пускай маска действует на них как в Excel'е "формат ячейки". Будет "логично и объяснимо".

Кстати цитирую HELP:
Цитата:
Маски форматирования - это шаблоны представления значения параметров на панели Инфо, на карте, в отчетах и пр.

Именно "представления значения", ни слова об округлении.
А на деле?...
Я ж предлагаю сделать как в ХЕЛПе написано :wink:.
Либо не округлять только "фиксированные параметры".
Либо все параметры не округлять маской, сделав возможность округление какой-то другой командой в том же поле.

Автор:  Dkrav [ 02 фев 2006 13:13 ]
Заголовок сообщения: 

На счет метров по умолчанию, я уже пытался попросить разработчиков ввести настройку. Но не вышло :cry:
Если надо изменить систему исчисления заходишь в меню Сервис\разделить по площади. Там выбираешь гектары и нужную тебе точность. Настройки глобально меняют расчеты но только внутри активного объекта :(

Автор:  Павел Корыстин [ 02 фев 2006 15:02 ]
Заголовок сообщения: 

Dkrav писал(а):
Если надо изменить систему исчисления заходишь в меню Сервис\разделить по площади. Там выбираешь гектары и нужную тебе точность. Настройки глобально меняют расчеты но только внутри активного объекта :(

Это опять-таки меняется маска параметра ID[0]. гектары - значит маска - /10000

Тоже сомнительная логика. Почему параметры при разделении конкретного участка влияют на исчисление площади во всем файле? :?

Автор:  Dkrav [ 02 фев 2006 19:44 ]
Заголовок сообщения: 

делить уже ничего не нужно. Программа сама все переводит в гектары. Сумма площадей объектов будет с нужной тебе точностью!

Автор:  Dmitriy Fedorov [ 03 фев 2006 18:25 ]
Заголовок сообщения: 

Павел Корыстин писал(а):
а есть команда "ОКРУГЛ", которая действительно округляет число.
разные вещи, не правда ли...


Вот именно! Разные.
И в дигитале как раз и сделано по принципу ОКРУГЛ. А параметры те же ячейки, которые ссылаются одна на одну.

А если проблема в том, чтобы просто видеть общую сумму помеченых объектов, то может её и нужно решать?
Попросим разработчиков вместо * (звёздочки) подсчитывать суммы для вещественых вычисляемых параметров. Ну или функцию какую придумать типа SUM(P[]), которая подсчитывала сумму по указаному параметру для помеченых объектов.

Автор:  Павел Корыстин [ 06 фев 2006 11:29 ]
Заголовок сообщения: 

Dmitriy Fedorov писал(а):
И в дигитале как раз и сделано по принципу ОКРУГЛ. А параметры те же ячейки, которые ссылаются одна на одну.

Поторюсь, цитируя HELP:
Цитата:
Маски форматирования - это шаблоны представления значения параметров на панели Инфо, на карте, в отчетах и пр.

А зачем "сделано по принципу ОКРУГЛ", если "не просят"? Чаще всего это и приводит к сложностям...

Цитата:
Ну или функцию какую придумать типа SUM(P[])

Проще функцию ОКРУГЛ придумать, помоему

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/