ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
lesis@ya.ru
+7(916)615-42-77

ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L

Объявление

Для участия в работе закрытой, технической части форума нужно быть пользователем ГИС TopoL-L2 (10.0) и Зарегистрироваться!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » ВЫХОДНЫЕ ФОРМЫ, ОТЧЕТЫ, ИТОГИ » frVariable, число знаков после запятой, площадь УЧТЕНО


frVariable, число знаков после запятой, площадь УЧТЕНО

Сообщений 1 страница 42 из 42

1

Добрый день! В последнее время все чаще требуют показывать площадь до 4-х знаков после запятой. При установлении в frVariable.xml в строках площадей 4-х знаков после запятой, в главной таблице стоит 4 знака после запятой, а в выгружаемой форме (при нажатии "отчет") выводит в итоговый отчет только 2 знака после запятой. Где это можно поправить, если это вообще возможно. Проверял на деморегионе, правил 1 выдел по площади, и выводил отчет "по выбранным" ведомость выводит только 2 знака после запятой.
Версия 799

Отредактировано Sergey PKDV (05.06.2020 09:38:00)

2

Посмотрим.

3

Sergey PKDV написал(а):

В последнее время все чаще требуют показывать площадь до 4-х знаков после запятой. При установлении в frVariable.xml ...

В этом файле собраны настройки, которые влияют на округления и формат вывода в разных отчётных формах.
Но они никак не влияют на округления площадей в самой базе данных MDB, это настраивается через контекстное меню в дереве данных на уровне уч. лес-ва : "Параметры субъекта / БД", в диалоге страничка "Параметры". И нужно учесть, что при изменении настройки здесь точность автоматически сразу не изменится - площади и запасы уже вычислены и записаны в базу, максимум, чего Вы можете получить сразу после изменения настройки - нули в конце.

Чтобы площади реально были вычислены с большей точностью, надо вызвать "Совмещение и увязка всех площадей ..." (там можно настроить и точность вычисления) и переувязать площади с новой точностью. За основу программа берёт площади из карты - ГИС. На всякий случай проверьте, что в ГИС стоит точность площади до 4-ч знаков, это стандартная настройки в ЛесИС.

Заодно замечу, что точность площади выдела до 4-х знаков (кв. метров) при округлении площади квартала до целых гектар - это "нонсес", "чушь" - в среднем 5000 кв. метров программа искусственно будет "расталкивать" по выделам, чтобы увязка сработала.

4

Sergey PKDV написал(а):

в выгружаемой форме (при нажатии "отчет") выводит в итоговый отчет только 2 знака после запятой. Где это можно поправить, если это вообще возможно

frVariable.xml не поможет, так как ограничение в два знака сидит в базе "Данных по лесничеству".

Sergey PKDV написал(а):

В последнее время все чаще требуют показывать площадь до 4-х знаков после запятой.

Поясните, пожалуйста, на основании чего они требуют этого именно в этих отчетах? Расчеты пользований в спелых по таким объектам смысла делать нет. А ГЛР изначально ориентирован на га и тысячи га с одним знаком после запятой.
Как они предполагают сдавать материалы ГЛР? Как они предполагают распечатать форму 1 с такой разрядностью и с таким количеством граф в случае если они будут все заполнены?

5

Грешнов написал(а):

Поясните, пожалуйста, на основании чего они требуют этого именно в этих отчетах? Расчеты пользований в спелых по таким объектам смысла делать нет. А ГЛР изначально ориентирован на га и тысячи га с одним знаком после запятой.
Как они предполагают сдавать материалы ГЛР? Как они предполагают распечатать форму 1 с такой разрядностью и с таким количеством граф в случае если они будут все заполнены?

Работа не по лесному фонду. Участок "лесов, на землях населенных пунктов". В связи с чем требуются стандартные выходные материалы до 4-х знаков после запятой.
Также материалы ГЛР с 4-мя знаками после запятой требуют организации для перевода ЛФ в земли иных категорий (ООПТ к примеру). У них по кадастру 4 знака после запятой, они и требуют ГЛР на свою площадь, для перевода земель из ЛФ в земли ООПТ.
Запас насаждений их вообще не интересует, а вот площадь требуют в соответствии со своими кадастровыми документами.
Такие вещи, как "увязка", и "установленная площадь лесничества" их вообще не интересует.
Им нужно перевести ХХХХХ,ХХХХ гектар из ЛФ в земли ООПТ. Они и требуют предоставить им материалы ГЛР для перевода земель именно на эту площадь.

6

Sergey PKDV написал(а):

Они и требуют предоставить им материалы ГЛР для перевода земель именно на эту площадь.

Попробуем учесть.

7

Грешнов написал(а):

Попробуем учесть.

Спасибо

8

Подытожу.
Расширяем максимально возможную точность всех площадных полей в формах ГЛР 1, 2 и 5 до значения 4 знака после запятой. Запасы в форме 2 не трогаем?
Настройка реального значения вывода - как и раньше через frvariable.
FasReport отчеты если поплывут - настраивайте самостоятельно, у нас "художников" нет. А лучше - скооперируйтесь и сделайте совместно если это возможно.

9

Было бы неплохо если Вы перед выпуском обновления попробовали у себя с нашей учетной базой на деморегионе:
http://www.lesis.ru/support/F001R099_Uch.mdb
Пожалуйста, если устроит - не пытайтесь применить ее к своим данным (не демо), так как это тестовый вариант, не зафиксированный системой обновления структур баз данных. Самостоятельная правка структур, возможно, даст Вам сиюминутный эффект, но может вызвать череду ошибок как при автоматическом обновлении структур, так и при последующем использовании баз с незарегистрированной структурой.
Так что, просто скопируйте ее в свой (disk):\LesIS\2011\R099\F001R099_Uch.mdb (предыдущую версию сохраните), настройте на 4 знака площади ГЛР 1, 2 и 5 в frvariable и попробуйте. Если все нормально, то Д.А. добавит автоматическое обновление структуры этой БД во всех объектах, которые Вы будете   открывать.

10

Грешнов написал(а):

Расширяем максимально возможную точность всех площадных полей в формах ГЛР 1, 2 и 5 до значения 4 знака после запятой. Запасы в форме 2 не трогаем?

Выложена версия 802. В учетной базе автоматически меняется формат площадных полей до 4 знаков после запятой.
- тестируем сначала на деморегионе.
- делаем копию своих данных.
- тестируем на своих данных.
После этого можно работать.

11

Грешнов написал(а):

- тестируем сначала на деморегионе.
- делаем копию своих данных.
- тестируем на своих данных.
После этого можно работать.

Форма 1 и Форма 5 работают нормально. Форма 2 ГЛР по прежнему фиксирует только 2 знака после запятой.
В frVariable.xml :
<vrbGulf18Raz_Pls Name="ГУЛФ. Отчет. Форма №2. Площадь. Размерность. (1-га; 10-дес га; 1000-тыс га; 1000000-млн га;)"
    Value="1"
<vrbGulf18Dec_Pls Name="ГУЛФ. Отчет. Форма №2. Площадь. Число знаков после запятой."
    Value="4"

12

Грешнов написал(а):

Подытожу.
Расширяем максимально возможную точность всех площадных полей в формах ГЛР 1, 2 и 5 до значения 4 знака после запятой.

Как это быстро менять? К примеру: сегодня утром заказчик хочет 4 знака, вечером другому 1.
Как это быстро менять не влезая в дебри увязки площадей?

13

Юрий написал(а):

Как это быстро менять? К примеру: сегодня утром заказчик хочет 4 знака, вечером другому 1.
Как это быстро менять не влезая в дебри увязки площадей?

Речь идет не об увязке площадей, а об отчетах. Если база увязана на площадь с 4 знаками после запятой, отчет итоговый по ГЛР 1,2,5 выводит только 2 знака максимально, какие бы настройки не устанавливали в frVariable.xml.

http://forumupload.ru/uploads/0017/fb/db/81/t347881.jpg
http://forumupload.ru/uploads/0017/fb/db/81/t889294.jpg

14

Sergey PKDV написал(а):

Форма 1 и Форма 5 работают нормально. Форма 2 ГЛР по прежнему фиксирует только 2 знака после запятой.

Посмотрим еще раз именно эту форму. Видимо где то еще есть ограничение именно по ней и, видимо, в самом FR отчете, так как в БД и таблице все нормально..

15

Юрий написал(а):

Как это быстро менять? К примеру: сегодня утром заказчик хочет 4 знака, вечером другому 1.
Как это быстро менять не влезая в дебри увязки площадей?

Если бы лесное и прочее руководство и НПА не требовали УВЯЗКИ, чтобы все суммы (пусть даже искусственно искажаемых) площадей "били", а готовы были бы смиряться с разбежками округления, то можно было бы просто перенастроить точность выдачи площадей (в ГИС они всё равно посчитаны до 1 м. кв.). А если увязка по НПА обязательна, то - НИКАК! Только переувязкой.

16

Sergey PKDV прав - увязка не виновата, в повыдельной БД все правильно, речь только об отчете.
1. В c:\Program Files (x86)\LesIS\TopoL_L2\Xml\frVariable.xml параметр vrbGulf18Dec_Pls = 4
2. Учетная БД по форме 2 формируется  как надо - с 4 знаками (в свойствах F001R099_Uch.mdb площадные поля имеют 4 знака и в интерфейсе я вижу 3.0199)
3. Захожу в конструктор FR-формы ГЛР 2 - в Code все также как и по форме ГЛР 1, идет приравнивание рабочей переменной параметру из настроечного файла.
4. В свойствах полей не нашел чего-либо, что намекало бы на преобразование 3-4 знаков после запятой в 2 знака.
Так что, там где то в самой форме сидит что то, что я не заметил или в коде программы.

17

Дмитрий Александрович нашел ограничение в файле c:\Program Files (x86)\LesIS\TopoL_L2\Sql\Gulf_Report_F2_Temp.sql
Его содержимое нужно поправить - все 18,2 заменить на 16,4.
Оно должно выглядеть так:

Код:
CREATE TABLE Gulf_Report_F2_Temp
(
	KatZasch_Text MEMO                    --виды лесов по целевом назначению	(текст)
	,KatZasch LONG                        -- ...                 (код)
	,Poroda_LesIS LONG                    	--порода (код LesIS)
	,Poroda_Gulf LONG                    	--порода (код GULF)
	,Poroda_Sokr TEXT(20)                    --порода (короткий текст)
	,F1	TEXT(100)                        --порода (текст)
	,F2 LONG                        	--код возраста рубки
	,F3 NUMERIC(16,4)                    	--площадь,	всего
	,F4 NUMERIC(16,4)                    	--    	1 класс возраста
	,F5 NUMERIC(16,4)                    	--    	2 ...
	,F6 NUMERIC(16,4)                    	--    	средневозрастные
	,F7 NUMERIC(16,4)                    	--    	приспевающие
	,F8 NUMERIC(16,4)                    	--    	спелые и перестойные
	,F9 NUMERIC(16,4)                    	--    	перестойные
	,F10 NUMERIC(16,4)                    	--запас,	всего
	,F11 NUMERIC(16,4)                    	--    	1 класса возраста
	,F12 NUMERIC(16,4)                    	--    	2 ...
	,F13 NUMERIC(16,4)                    	--    	средневозрастные
	,F14 NUMERIC(16,4)                    	--    	приспевающие
	,F15 NUMERIC(16,4)                    	--    	спелые и перестойные
	,F16 NUMERIC(16,4)                    	--    	перестойные
	,F17 NUMERIC(16,4)                    	--общий средний прирост
	,F18 NUMERIC(16,4)                    	--средний возраст
)

Или подождите сегодняшнее обновление.

18

Грешнов написал(а):

Или подождите сегодняшнее обновление.

Перезалита версия 802 со снятыми ограничениями в дробности в форме 2 ГЛР.

19

Спасибо. Все работает

20

Sergey PKDV написал(а):

Речь идет не об увязке площадей, а об отчетах. Если база увязана на площадь с 4 знаками после запятой,

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

21

Юрий написал(а):

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

В файле c:\Program Files (x86)\LesIS\TopoL_L2\Xml\frVariable.xml в соответствующем параметре нужной формы проставьте 1. Возможно, для правки потребуются права администратора.

22

frVariable при изменении параметров по средним таксационным показателям меняется только формула состава число знаков после запятой. Остальные параметры не меняются. При изменении единиц измерения меняется наименование в шапке (к примеру с га на тыс.га, а в таблице остаются га).

23

Sergey PKDV написал(а):

Остальные параметры не меняются. При изменении единиц измерения меняется наименование в шапке (к примеру с га на тыс.га, а в таблице остаются га).

Посмотрим.

24

Sergey PKDV написал(а):

frVariable при изменении параметров по средним таксационным показателям меняется только формула состава число знаков после запятой. Остальные параметры не меняются. При изменении единиц измерения меняется наименование в шапке (к примеру с га на тыс.га, а в таблице остаются га).

Отчет поправлен в текущей версии 811. Скачайте ее заново, установите и проверяйте.

25

Добрый день.

Площадь в отчетах:

В дереве лесничеств (на уровне участкового в параметрах) установлено 4 знака после запятой;
В свойствах проекта 4 знака после запятой;
При работе с геоданными установлена галочка на 4 знака после запятой;
Вопрос:

Как установить в отчетах? Показывает только один знак, в информации и в форуме не нашла, прошу прощения.

http://forumupload.ru/uploads/0017/fb/db/196/t429194.png

26

itHabRusolovo написал(а):

Как установить в отчетах?

Д.А. смотрит.

27

Актуализировано, в следующей версии настройка формата площади по параметрам БД будет работать. Модуль старый, разрабатывался в 2010-11 гг., тогда повсеместного учёта формата/точности показа площади ещё не было.

28

Дмитрий Александрович написал(а):

Актуализировано, в следующей версии настройка формата площади по параметрам БД будет работать.

Версия 844 выложена. Пробуйте.

29

Добрый день. Обнаружили следующую ошибку:
Когда площади определены с точностью до 0,0001 га, и площадь каких либо выделов менее 0,005 га, то средние таксационные показатели на весь участок программа не считает.
Есть подозрения, что при расчете средних таксационных программа округляет до 0,01, и, если после округления получается 0,00 - то выдает ошибку:
"Floating point division by zero."

Версия тополь 10.0.27.815, староватая, конечно, сейчас до последней обновлюсь, проверю на последней версии.

30

Обновил тополь до 10.0.27.852. Проблема сохранилась.

31

Sergey PKDV написал(а):

средние таксационные показатели на весь участок программа не считает.

А в c:\Program Files (x86)\LesIS\TopoL_L2\Xml\frVariable.xml Вы этот отчет настроили? Что и где поставили?

32

Изначально просто своими прошлыми файлами пересохранил, сейчас вернул те, которые при установке шли и настроил везде где "Площадь. Число знаков после запятой" - установил значение "4".
в том числе и

<vrbStpDec_Pls Name="Средние таксационные показатели. Площадь. Число знаков после запятой."
    Value="4"

Ошибка "Floating point division by zero." всё равно повторяется.

Отредактировано Sergey PKDV (20.10.2021 09:27:33)

33

Данная ошибка возникает только когда в расчет средних таксационных попадает один или несколько выделов, площадь которых меньше 0,005 (что в округлении до сотых дают 0,01). Площадь в "средних таксационных показателях" также не меняется на 4 знака после запятой, только 2

34

Sergey PKDV написал(а):

Число знаков после запятой" - установил значение "4".

Понятно. Программист посмотрит.

35

Sergey PKDV написал(а):

Площадь в "средних таксационных показателях" также не меняется на 4 знака после запятой, только 2

Да, есть такое. Изучим.

Sergey PKDV написал(а):

Есть подозрения, что при расчете средних таксационных программа округляет до 0,01, и, если после округления получается 0,00 - то выдает ошибку:
"Floating point division by zero."

Пока программист смотрит округления, проверьте у себя еще раз корректность баз, потому, что на деморегионе мне не удалось повторить эту ситуацию:

Sergey PKDV написал(а):

Когда площади определены с точностью до 0,0001 га, и площадь каких либо выделов менее 0,005 га, то средние таксационные показатели на весь участок программа не считает....
Данная ошибка возникает только когда в расчет средних таксационных попадает один или несколько выделов, площадь которых меньше 0,005

Поставил 0.004 в нескольких выделах и получил отчет по всему объекту.
У нас где то была уже разобрана ситуация, когда деление на ноль возникало в отчетах если было пустым поле  не площади, а каких то других параметров, кажется, в категории защитных или группе возраста, уже не помню - нужно поискать по форуму. Погоняйте лесничество в расчетных показателях и в анализе распределений - поподбивайте итоги по всем полям основных макетов, чтобы в площадях не было "-".

36

Грешнов написал(а):

У нас где то была уже разобрана ситуация, когда деление на ноль возникало в отчетах если было пустым поле  не площади, а каких то других параметров, кажется, в категории защитных или группе возраста, уже не помню - нужно поискать по форуму.

Вот, нашел:
Расчетная лесосека ошибка floating point division by zero ОТВЕТИЛИ
Думаю, что у Вас что то подобное, проверьте.

37

Грешнов написал(а):

Пока программист смотрит округления, проверьте у себя еще раз корректность баз, потому, что на деморегионе мне не удалось повторить эту ситуацию:

Поставил 0.004 в нескольких выделах и получил отчет по всему объекту.
У нас где то была уже разобрана ситуация, когда деление на ноль возникало в отчетах если было пустым поле  не площади, а каких то других параметров, кажется, в категории защитных или группе возраста, уже не помню - нужно поискать по форуму. Погоняйте лесничество в расчетных показателях и в анализе распределений - поподбивайте итоги по всем полям основных макетов, чтобы в площадях не было "-".

На деморегионе тоже такое пробовал - ошибка вылезает. Но при определенных условиях.
На моем участке попался всего один выдел по преобладающей породе "ильм" с площадью 0,0012 га. Потом я начал искать ошибку, по отборам, и она вылезала всегда, когда площадь маленькая попадалась.
После Вашего сообщения отключил только тот выдел, всё остальное программа посчитала, когда мелкие выделы просуммировались.

Данную ошибку можно повторить и на деморегионе: если по всем выделам с преобладанием ольхи (ольха выбрана, потому что ее меньше всего) поставить площадь 0,0004 га, то получаем данную ошибку.

Также проверял на деморегионе средние таксационные "по выбраным" только по 1 выделу 1 квартала 1 участка чтобы определить с какого порога площади появляется данная ошибка.

Получил результат - с площадью 0,0019 га программа считает, когда площадь 0,0018 га - уже выдает данную ошибку.

Отредактировано Sergey PKDV (21.10.2021 02:03:14)

38

Sergey PKDV написал(а):

Получил результат - с площадью 0,0019 га программа считает, когда площадь 0,0018 га - уже выдает данную ошибку.


Хотя теперь становиться непонятно, почему если выбирать только ольху (52 выдела на деморегионе) и по ней ставить площадь 0,0004 га - в сумме площадь получается 0,0208 - тоже выдает ошибку. Начал тестировать по ольхе, когда везде площадь 0,0008 га - программа считает, если поставить 0,0007 га - выдает ошибку.

Поэтому какой порог по площади и когда конкректно может возникнуть ошибка, не могу понять.

39

Обычно столь мелкие выдела мы избегаем, просто попался один объект, где по координатам утверждёны границы зеленых зон лесфонда, и был межевой план с координатами ЛЭП, которая стоит на кадастровом учете и идет по границе зеленой зоны и "нарезает" такие мелкие выделы. Избежать такие выделы, мы в данной ситуации не можем.

Да, думаю и в дальнейшем часто придется сталкиваться с столь мелкими кусочками выделов.

40

Sergey PKDV написал(а):

Данную ошибку можно повторить и на деморегионе: если по всем выделам с преобладанием ольхи (ольха выбрана, потому что ее меньше всего) поставить площадь 0,0004 га, то получаем данную ошибку.

Спасибо! Теперь получилось воспроизвести и программисты смогут посмотреть.

41

Sergey PKDV написал(а):

Да, думаю и в дальнейшем часто придется сталкиваться с столь мелкими кусочками выделов.

Вышла сегодняшнюю 854-ю версию. Ключеров постарался обработать в ней эти ситуации - с малыми площадями, выводом в отчет 0.000Х и делением на "ноль". Попробуйте. Я смог проверить только на одном своем примере по деморегиону.

42

Грешнов написал(а):

Попробуйте. Я смог проверить только на одном своем примере по деморегиону.

Попробовал - всё работает, всё считает и выводит в отчет как полагается. Спасибо.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » ВЫХОДНЫЕ ФОРМЫ, ОТЧЕТЫ, ИТОГИ » frVariable, число знаков после запятой, площадь УЧТЕНО



Почтовый адрес для ЗАКАЗНЫХ писем:
С.П.Грешнов, +7(916)615-42-77, 108832, А/Я №1
НЕ ИСПОЛЬЗОВАТЬ курьерскую доставку!!!
E-Mail: lesis@ya.ru
Вопросы общего характера:
+7(916)615-42-77
РОССИЙСКАЯ ФЕДЕРАЦИЯ
Общество с ограниченной ответственностью "ЛЕСИС"
ОГРН: 1035007204902, ИНН: 5036046400, КПП: 503601001