Страница 1 из 1
Помогите написать скрипт (VB или Python)
Добавлено: 04 ноя 2015, 16:42
destribution
Здравствуйте!
Прошу Вашей помощи по написанию скрипта к Arcgis(можно на языке VD или Python) для калькулятора поля, в следующей зависимости....
если AKL =1 или <3 и MK=2 то AGR =1
если AKL >2, но <6 и MK=2 то AGR =2
если AKL >5, но <8 и MK=2 то AGR=3
если AKL >7 и MK=2 то AGR=4
если AKL =0 и MK=1 то AGR =0
если AKL =1 или <3 и MK=1 то AGR =1
если AKL >2, но <6 и MK=1 то AGR =2
если AKL >5, но <9 и MK=1 то AGR=3
если AKL >8 и MK=1 то AGR=4
если AKL =0 и MK=1 то AGR =0
Прикладываю шейп-файл который можно использовать в качестве явного примера.
Надеюсь ничего не упустил.
Re: Помогите написать скрипт (VB или Python)
Добавлено: 04 ноя 2015, 18:23
gornak
а нужен ли вам скрипт?непонятна степень требуемой автоматизации
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
Re: Помогите написать скрипт (VB или Python)
Добавлено: 04 ноя 2015, 18:28
gornak
если не секрет, какие задачи в лесном хозяйстве вы решаете?
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 03:49
destribution
gornak писал(а):а нужен ли вам скрипт?непонятна степень требуемой автоматизации
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
Приогромное спасибо за труд! Можно и не скрипт, главное чтоб работало.
Сегодня обдумал, обкатал скрипт и понял, что будет не достаточно параметров для того чтобы получить верное значение для поля AGR, необходимо в зависимость добавить ещё одно поле, VMR . Что во много раз усложняет задачу
Не хотелось бы никого особо напрягать, к вечеру постараюсь представить полную зависимость.
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 03:53
destribution
gornak писал(а):если не секрет, какие задачи в лесном хозяйстве вы решаете?
Пытаемся привести в соответствие группу возраста, т.е. значение AGR должно соответствовать классу возраста(AKL), всего по стандарту 4 класса возраста, а у нас по каким-то непонятным причинам их оказалось больше чем 4 . Судя по вопросу, вы тоже из лесного хозяйства...

Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 09:55
gornak
если вы импортируете данные из топола, то для расшифровки гр возраста вам нужен файл GrpVoz.DBF из каталога с вашими данными, я не думаю что он отличается от общепринятого
1.Молодняки I гр. 1 Молодняки
2.Молодняки II гр. 1 Молодняки
3.Средневозрастные 2 Средневозрастные
4.Средневозр. вкл. в расчет 2 Средневозрастные
5.Приспевающие 3 Приспевающие
6.Спелые 4 Спелые
7.Перестойные 4 Спелые
- 0 -
т.е. для перекодировки вам необходимо только одно поле - собственно AGR
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 09:57
gornak
разбивка 4 групп на 7 связана с алгоритмом вычисления расчетной лесосеки
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 10:01
gornak
***труд-минимальный, собака уже съедена

, поэтому я и пытаюсь узнать цель ваших упражнений вцелом,если она достойна, могу помочь(зачем повторять пройденный кем-то путь),но вопросы непосредственно по лх лучше перевести на лесной форум..
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 10:10
gornak
destribution писал(а): всего по стандарту 4 класса возраста
проблема информатизации лх именно в отсутствии стандартов
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 11:32
destribution
gornak
Данные импортируются из программы SOLI, там зашит какой-то другой справочник.
У вас есть какое-то альтернативное решение ?
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 11:59
gornak
обработка лу в тополе делалась на основе солей,
судя по вашим значениям agr (0-7) справочник тот же или я не прав??? в противном случае вам необходимо построить "статистику":
порода-бонитет-группа лесов(целевое назначение)-класс возраста-группа возраста и по ней перекодировать
также вы должны учитывать,что на значение AGR влияет установленный возраст рубки на год вашего лесоустройства
альтернативного решения нет - есть опыт конвертации лесоустроительных баз данных
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 17:25
destribution
По хорошему да, нужна статистика. Если Вы имели такой опыт, то она наверняка имеется? Может её как-то можно применить на моем случае? у нас на предприятии есть таблица в которой как раз таки реализованы те положения в зависимости от которых можно вывести значение поля AGR, но превратить её в скрипт, думаю никто не захочет,поскольку там скорее всего понадобится много писанины и уйма времени, по крайней мере с моей точки зрения (языками программирования я не владею)
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 21:42
gornak
все намного проще,чем вы думаете,сформулируйте тз: имеется одно, необходимо получить другое по таким-то параметрам,единственно,что
1)думаю на гислабе не всем интересна теория лесоустроительных расчетов
2)хотелось бы понимать конечную цель работы,что бы не тратить время впустую
Re: Помогите написать скрипт (VB или Python)
Добавлено: 05 ноя 2015, 21:52
gornak
destribution писал(а):По хорошему да, нужна статистика. Если Вы имели такой опыт, то она наверняка имеется? Может её как-то можно применить на моем случае?
не очень владею терминологией, под "статистикой" я подразумеваю зависимость группы возраста от указанных выше параметров в вашей "исходной" базе ее несложно получить из самой этой базы,допустим в экселе
destribution писал(а):у нас на предприятии есть таблица в которой как раз таки реализованы те положения в зависимости от которых можно вывести значение поля AGR
-не совсем понимаю о чем речь
- в конечном счете вы должны понимать, что распределение по группам возраста(пусть 1-4) будет зависеть от того какие возраста рубок вам сейчас нужны