Помогите написать скрипт (VB или Python)
-
- Участник
- Сообщения: 68
- Зарегистрирован: 30 авг 2014, 11:11
- Репутация: 0
Помогите написать скрипт (VB или Python)
Здравствуйте!
Прошу Вашей помощи по написанию скрипта к 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
Прикладываю шейп-файл который можно использовать в качестве явного примера.
Надеюсь ничего не упустил.
Прошу Вашей помощи по написанию скрипта к 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
Прикладываю шейп-файл который можно использовать в качестве явного примера.
Надеюсь ничего не упустил.
- Вложения
-
Проекты.rar
- (87.66 КБ) 297 скачиваний
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
а нужен ли вам скрипт?непонятна степень требуемой автоматизации
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
- Вложения
-
calcAGR.txt
- (418 байт) 425 скачиваний
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
если не секрет, какие задачи в лесном хозяйстве вы решаете?
-
- Участник
- Сообщения: 68
- Зарегистрирован: 30 авг 2014, 11:11
- Репутация: 0
Re: Помогите написать скрипт (VB или Python)
Приогромное спасибо за труд! Можно и не скрипт, главное чтоб работало.gornak писал(а):а нужен ли вам скрипт?непонятна степень требуемой автоматизации
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
Сегодня обдумал, обкатал скрипт и понял, что будет не достаточно параметров для того чтобы получить верное значение для поля AGR, необходимо в зависимость добавить ещё одно поле, VMR . Что во много раз усложняет задачу

Не хотелось бы никого особо напрягать, к вечеру постараюсь представить полную зависимость.
Последний раз редактировалось destribution 05 ноя 2015, 03:59, всего редактировалось 1 раз.
-
- Участник
- Сообщения: 68
- Зарегистрирован: 30 авг 2014, 11:11
- Репутация: 0
Re: Помогите написать скрипт (VB или Python)
Пытаемся привести в соответствие группу возраста, т.е. значение AGR должно соответствовать классу возраста(AKL), всего по стандарту 4 класса возраста, а у нас по каким-то непонятным причинам их оказалось больше чем 4 . Судя по вопросу, вы тоже из лесного хозяйства...gornak писал(а):если не секрет, какие задачи в лесном хозяйстве вы решаете?

-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
если вы импортируете данные из топола, то для расшифровки гр возраста вам нужен файл GrpVoz.DBF из каталога с вашими данными, я не думаю что он отличается от общепринятого
1.Молодняки I гр. 1 Молодняки
2.Молодняки II гр. 1 Молодняки
3.Средневозрастные 2 Средневозрастные
4.Средневозр. вкл. в расчет 2 Средневозрастные
5.Приспевающие 3 Приспевающие
6.Спелые 4 Спелые
7.Перестойные 4 Спелые
- 0 -
т.е. для перекодировки вам необходимо только одно поле - собственно AGR
1.Молодняки I гр. 1 Молодняки
2.Молодняки II гр. 1 Молодняки
3.Средневозрастные 2 Средневозрастные
4.Средневозр. вкл. в расчет 2 Средневозрастные
5.Приспевающие 3 Приспевающие
6.Спелые 4 Спелые
7.Перестойные 4 Спелые
- 0 -
т.е. для перекодировки вам необходимо только одно поле - собственно AGR
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
разбивка 4 групп на 7 связана с алгоритмом вычисления расчетной лесосеки
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
***труд-минимальный, собака уже съедена
, поэтому я и пытаюсь узнать цель ваших упражнений вцелом,если она достойна, могу помочь(зачем повторять пройденный кем-то путь),но вопросы непосредственно по лх лучше перевести на лесной форум..

-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
проблема информатизации лх именно в отсутствии стандартовdestribution писал(а): всего по стандарту 4 класса возраста
-
- Участник
- Сообщения: 68
- Зарегистрирован: 30 авг 2014, 11:11
- Репутация: 0
Re: Помогите написать скрипт (VB или Python)
gornak
Данные импортируются из программы SOLI, там зашит какой-то другой справочник.
У вас есть какое-то альтернативное решение ?
Данные импортируются из программы SOLI, там зашит какой-то другой справочник.
У вас есть какое-то альтернативное решение ?
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
обработка лу в тополе делалась на основе солей,
судя по вашим значениям agr (0-7) справочник тот же или я не прав??? в противном случае вам необходимо построить "статистику":
порода-бонитет-группа лесов(целевое назначение)-класс возраста-группа возраста и по ней перекодировать
также вы должны учитывать,что на значение AGR влияет установленный возраст рубки на год вашего лесоустройства
альтернативного решения нет - есть опыт конвертации лесоустроительных баз данных
судя по вашим значениям agr (0-7) справочник тот же или я не прав??? в противном случае вам необходимо построить "статистику":
порода-бонитет-группа лесов(целевое назначение)-класс возраста-группа возраста и по ней перекодировать
также вы должны учитывать,что на значение AGR влияет установленный возраст рубки на год вашего лесоустройства
альтернативного решения нет - есть опыт конвертации лесоустроительных баз данных
-
- Участник
- Сообщения: 68
- Зарегистрирован: 30 авг 2014, 11:11
- Репутация: 0
Re: Помогите написать скрипт (VB или Python)
По хорошему да, нужна статистика. Если Вы имели такой опыт, то она наверняка имеется? Может её как-то можно применить на моем случае? у нас на предприятии есть таблица в которой как раз таки реализованы те положения в зависимости от которых можно вывести значение поля AGR, но превратить её в скрипт, думаю никто не захочет,поскольку там скорее всего понадобится много писанины и уйма времени, по крайней мере с моей точки зрения (языками программирования я не владею)
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
все намного проще,чем вы думаете,сформулируйте тз: имеется одно, необходимо получить другое по таким-то параметрам,единственно,что
1)думаю на гислабе не всем интересна теория лесоустроительных расчетов
2)хотелось бы понимать конечную цель работы,что бы не тратить время впустую
1)думаю на гислабе не всем интересна теория лесоустроительных расчетов
2)хотелось бы понимать конечную цель работы,что бы не тратить время впустую
-
- Активный участник
- Сообщения: 146
- Зарегистрирован: 30 авг 2015, 16:38
- Репутация: 25
- Контактная информация:
Re: Помогите написать скрипт (VB или Python)
не очень владею терминологией, под "статистикой" я подразумеваю зависимость группы возраста от указанных выше параметров в вашей "исходной" базе ее несложно получить из самой этой базы,допустим в экселеdestribution писал(а):По хорошему да, нужна статистика. Если Вы имели такой опыт, то она наверняка имеется? Может её как-то можно применить на моем случае?
-не совсем понимаю о чем речьdestribution писал(а):у нас на предприятии есть таблица в которой как раз таки реализованы те положения в зависимости от которых можно вывести значение поля AGR
- в конечном счете вы должны понимать, что распределение по группам возраста(пусть 1-4) будет зависеть от того какие возраста рубок вам сейчас нужны
Кто сейчас на конференции
Сейчас этот форум просматривают: Semrush [Bot] и 1 гость