ПОМОЩЬ
ЛЕСОУСТРОЙСТВО
НАЧАЛО
ТАКСАЦИЯ
КАРТОГРАФИЯ
СОВМЕЩЕННЫЕ БД
ОФОРМЛЕНИЕ
От С.Н.Городничева:
Главное меню
|
|
Расчет производных показателей
В повыдельной базе данных есть показатели, которые не заполняются
таксатором в карточке, а рассчитываются программно по справочникам. Это –
запас выдела, искл. Категория защитности, хозяйственная секция, возраст
рубки, группа возраста, страты, признак неэксплуатационного 2 яруса,
класс пожарной опасности, методы лесовосстановления. Показатели Бонитет и Запас на 1 га включены сюда для контроля правильности заполнения их таксатором. Расчет обеспечивается специальным
инструментом. Вызов его осуществляется через "Повыдельные данные" на уровне уч. лесничества. "Режимы – Ввод - Правка" должен быть включен. Затем "Режимы - Расчетные показатели":
Расчетные показатели расположены сверху вниз в той последовательности, в которой необходимо рассчитывать данные. Для получения расчета по конкретному показателю нужно поставить курсор на его наименование и нажать кнопку "Расcчитать". Справа появится таблица с взаимозависимыми полями, которые нужны для контроля корректности расчета. В поле "БД" находятся данные из базы если они уже были рассчитаны ранее, в поле "Р" - данные по текущему расчету. Если данные в БД и Р различаются, то они выделяются красным цветом:
Если какой то выдел не попал в условия справочника поле "Р" заполняется значением "-999", специально, чтобы пользователь заметил эту ситуацию и обработал через справочник. То есть, для данного выдела нужно подобрать или создать новую строку в справочнике, определяющем данный показатель и заполнить ее так, что данный выдел (и другие аналогичные ему) получил корректное значение в поле "Р". Постепенно корректируя справочник нужно добиться, чтобы значений "-999" в поле "Р" не осталось.
ВНИМАНИЕ!!! После корректировки справочника до исчезновения "-999" если данные постепенно сохранялись в базу, необходимо перезапустить расчет! Так как из-за "-999", с учетом порядка обработки строк, расчет мог быть некорректным. Правильный расчет возможен только после полного устранения некорректных сочетаний.
Таблицу данных расчета можно скопировать в буфер обмена, нажав черный треугольник слева
от поля Метка, вставить в ECXEL и использовать как протокол при проверке правильности заполнения зависимых показателей в повыдельной базе данных и справочнике.
При анализе отклонений можно отфильтровать отклонения путем указания параметров отбора в нижней части окна. Причем у каждого показателя набор фильтров свой, например, у "Бонитета":
а у запаса на 1 га:
Исключенные категории защитных, Хозсекции, возраста...:
и т.п....
Например, при расчете (контроле) запасов можно "отсеять" молодняки, поставив галочку в окошке М 1га> и, подобрав в окошке справа значение запаса. Программа перестанет показывать выделы, запас которых ниже этого значения. Можно также отфильтровать выделы по проценту отклонения, например, указав 20% (указать допустимый размер отклонения по ЛУ совещанию и нормативам контроля):
Число выделов на экране сразу сокращается. Если указываемые отклонения - результат ошибки справочника или настроек, пользователь должен откорректировать справочник. Если ошибка в таксации - можно ее откорректировать согласно расчетным данным нажав кнопку "Сохранить" под кнопкой "Рассчитать" и данные таксации будут поправлены автоматически в соответствии с полем "Р".
Если Вы не готовы сразу принять все исправления можно сохранять данные частями. Для этого служит поле "Метка". С его помощью можно выделить только строки, подлежащие Сохранению. То есть, при нажатии кнопки "Сохранить" в базу запишутся только выделы, помеченные галочками в поле "Метка". При этом, выделением можно управлять через тот же черный треугольник слева от поля "Метка" - там можно снять и установить выделение, обратить его и т.п.:
Постепенно сужая диапазон отклонений можно поправить все значимые отклонения рассчитываемого параметра.
Таблицу можно сортировать для удобства работы, а также в случае если при пересчете сортировка сбивается. Такое бывает иногда даже с полями номер квартала и выдела. Сортировка обеспечивается кликом по шапке поля, подлежащего сортировке. Повторный клик приводит к обратной сортировке. Клик по шарке другого поля снимает сортировку с предыдущего. Если нужно отсортировать несколько полей, то последующие поля сортируются кликом с нажатой кнопкой Ctrl. При этом каждый последующий клик менят статус сортировки - возрастание, убывание, снято. Направление сортировки показывается при этом в шапке каждого поля, в данном примере квартал по возрастанию, выдел по убыванию:
Запас на 1 га
Данная задача зависит от справочника пород (KlsPoroda), в котором, для каждой встречающейся в регионе породы, должен стоять в поле "Номер таблицы запасов" из справочника определения запасов (LogZapasGa).
Запас на выделе
На этой закладке ошибок должно быть уже меньше. Принципы работы с ней -
идентичны предыдущей. Однако, запасы на выделе определяются после увязки
площадей, поэтому в случае если площади еще не увязаны определение
показателя откладывается.
Исключенные категории защитности
Эта закладка позволяет заполнить поле OZU кодом 888 для категорий защитности, исключенных из расчета главного пользования. Список таких категорий программа берет из справочника категорий защитности (KlsKatZach) - все категории, для которых поле "ИГП" (Исключение из главного пользования) помечено галочкой (True).
Можно нажать кнопку с дискетой вверху экрана и данные таксации будут поправлены автоматически.
Хоз.секция
Этот показатель программа рассчитывает, используя справочники
"Хозяйственные секции" (классификатор KlsHozSek) и "Хозсекции, коды возраста рубки..." (логический справочник LogHozSek).
Последний должен быть корректно составлен. В нем для каждой лесообразующей породы, категории защитности, ТЛУ, бонитета заполняется код возраста рубки, соответствующий действующим нормативам. При анализе, необходимо проверять, во всех ли выделах произведен рассчет, отметив курсором позицию Пусто внизу таблицы. Если при этом появился список нерассчитанных выделов, нужно закрыть форму, проверить и поправить справочник LogHozSek. Расчет повторяется до полного исчезновения списка выделов из позиции Пусто.
Коды возраста рубки (по ГУЛФ)
Для правильного определения кода возраста рубки используется справочник "Хозсекции, коды возраста рубки..." (LogHozSek)
. Если выявленные ошибки в справочнике были поправлены на этапе рассчета Хоз. секций, то при вычислении этого показателя, как правило, в позиции Пусто список выделов не появляется. Рассчетные данные записываются в БД кнопкой Сохранить.
Аналогично и в предложенной последовательности работают закладки определения класса возраста, группы возраста и класса пожарной опасности.
Класс пожарной опасности рассчитывается по справочнику
Определение класса пожарной опасности (LogPozharKls).
Признак неэксплуатационного 2 яруса определяется при условии
наличия в базе площадей и определенных на соответствующей закладке
запасов на выделе.
Лесовосстановление, способы
Этот показатель программа рассчитывает, используя справочники "Лесовосстановление, способы" (классификатор KlsLesVosTip) и "Лесовосстановление, определение способов" (логический справочник LogLesVosTip) для спелых насаждений.
Последний должен быть корректно составлен. В нем для каждого используемого показателя проставляются значения или их диапазоны и указывается код типа восстановления для каждой строки в соответствии с региональными НПА. Поля не значимые заполняются "*" - любое значение. Настраивая справочник нужно добиваться ухода из него значений "-999".
Сводная таблица показателей (чисто технические устаревшие сведения)
Показатель
Логический справочник
Запрос к БД |
Описание |
Бонитет
Бонитировочная таблица (LogBonitet)
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\Bonitet |
По возрасту, высоте и номеру бонитировочной таблицы (поле BonitetNomTab
справочника KlsPoroda) определяется бонитет.
Vysota100 - 1-ый бонитет, Vysota200 - 2-ой бонитет ... |
Запас
на 1 га
Запаса на 1 га определение (LogZapasGa)
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\ZapasGa
|
1) Вычисляется средняя высота яруса
VysotaIar
2) По справочнику KlsPoroda определяется номер таблицы
запасов ZapasNomTab. Ключ первая порода яруса.
3) По справочнику LogZapasGa определяется запас на 1 га ZapasGa. Ключи
VysotaIar, ZapasNomTab.
|
Запас
выдела
Нет логического справочника
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\ZapasVyd |
Запас выдела вычисляется как сумма
запасов ярусов на 1 га помноженная на площадь выдела. Предварительно
должен быть вычислен запас на 1 га
|
Исключенные
категории защитности
Нет логического справочника
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\OZU_888 |
Для выделов с категорией
защитности исключенной из РГП (KlsKatZasch:IGP=True) проставляется
OZU=888. В расчете участвуют выдела с OZU=0 и OZU=888 |
Хозяйственные
секции
LogHozSek
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\HozSek_VozRub |
Логический справочник составлен по
принципу справочника OprKlsPoj.dbf из ЛесИС1. Т.е. в справочник можно
добавлять новые поля одноименные полям БД. Под полем БД понимается поле
из запроса к БД (в данном случае
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\HozSek_VozRub). Синтаксис
логического справочника подразумевает использование списков и масок. На
данный момент не документировано. Для примера смотрим OprKlsPoj.dbf из
ЛесИС1. Программа шагает по выделам и определяет значение искомого
показателя в соответствии с требованиями справочника. В данном случае
определяли HozSek в зависимости от KatZasch, Tlu, TipLesa,... |
Возраст
рубки
LogHozSek
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\HozSek_VozRub |
См Хозяйственные секции |
Класс
возраста
LogVozRub
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\VozKls_VozGrpVyd |
1) Отбираем первую строку первого
яруса.
2) По TblVyd.VozRubki (код возраста рубки) подбираем строку в LogVozRub
(TblVyd.VozRubki=LogVozRub.VozRubkiKod).
3) Возраст рубки делим на продолжительнсть класса возраста.
KlsVoz=LogVozRub.VozrastRubki / LogVozRub.VozKlsProd.
4) Округляем класс возраста до целого KlsVoz=ROUND(KlsVoz+0.49,0) |
Группа
возраста
LogVozRub
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\VozKls_VozGrpVyd |
См 1 - 3 Класс возраста
4) Определяем группу возраста по первой породе первого яруса (первого
по порядку следования)
IIF(T4.VozrastPor>=S1.VozGrpMin7,7,
IIF(T4.VozrastPor>=S1.VozGrpMin6 and
T4.VozrastPor<VozGrpMin7,6,
IIF(T4.VozrastPor>=S1.VozGrpMin5 and
T4.VozrastPor<VozGrpMin6,5,
IIF(T4.VozrastPor>=S1.VozGrpMin4 and
T4.VozrastPor<VozGrpMin5,4,
IIF(T4.VozrastPor>=S1.VozGrpMin3 and
T4.VozrastPor<VozGrpMin4,3,
IIF(T4.VozrastPor>=S1.VozGrpMin2 and
T4.VozrastPor<VozGrpMin3,2,
IIF(T4.VozrastPor>=S1.VozGrpMin1 and
T4.VozrastPor<VozGrpMin2,1,))))))) |
Страты
LogStraty
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\Strata |
См Хозяйственные секции.
По LogStraty определяем TblVyd.Strata на основе других полей
справочника. |
Признак
неэксплуатационного 2-го яруса
LogIGP
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\IGP |
1) По справочнику LogIGP
подбирается строка с TblVydPoroda.Poroda=LogIGP.Poroda (в TblVydPoroda
отбирается первая строка яруса, т.е. PorodaNom=1).
2) Ставим IGP=TRUE у ярусов (Iarus < 10) с VOZ, DIM или ZAP меньше
чем в справочнике. Т.е. таким образом ярус исключается из главного
пользования.
2) В ярусах с GRPVOZ<=3 или OZU>0 не зависимо от справочника
пишем IGP=FALSE. Т.е. яруса не исключаем. |
Класс
пожарной опасности
LogPozharKls
_Les\ParametryZ.mdb\TekstSQL_KA\Calc\PozharKls |
См Хозяйственные секции.
По LogPozharKls определяем PozharKlsVyd на основе других полей
справочника. Поля одноименны полям БД. |
|