Помогите написать скрипт (VB или Python)

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Помогите написать скрипт (VB или Python)

Сообщение destribution » 04 ноя 2015, 16:42

Здравствуйте!
Прошу Вашей помощи по написанию скрипта к 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 скачиваний

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 04 ноя 2015, 18:23

а нужен ли вам скрипт?непонятна степень требуемой автоматизации
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
Вложения
calcAGR.txt
(418 байт) 425 скачиваний

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 04 ноя 2015, 18:28

если не секрет, какие задачи в лесном хозяйстве вы решаете?

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать скрипт (VB или Python)

Сообщение destribution » 05 ноя 2015, 03:49

gornak писал(а):а нужен ли вам скрипт?непонятна степень требуемой автоматизации
предлагаю:
поменяйте расширение на .cal и загрузите в калькулятор поля
Приогромное спасибо за труд! Можно и не скрипт, главное чтоб работало.
Сегодня обдумал, обкатал скрипт и понял, что будет не достаточно параметров для того чтобы получить верное значение для поля AGR, необходимо в зависимость добавить ещё одно поле, VMR . Что во много раз усложняет задачу :(
Не хотелось бы никого особо напрягать, к вечеру постараюсь представить полную зависимость.
Последний раз редактировалось destribution 05 ноя 2015, 03:59, всего редактировалось 1 раз.

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать скрипт (VB или Python)

Сообщение destribution » 05 ноя 2015, 03:53

gornak писал(а):если не секрет, какие задачи в лесном хозяйстве вы решаете?
Пытаемся привести в соответствие группу возраста, т.е. значение AGR должно соответствовать классу возраста(AKL), всего по стандарту 4 класса возраста, а у нас по каким-то непонятным причинам их оказалось больше чем 4 . Судя по вопросу, вы тоже из лесного хозяйства... :)

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 09:55

если вы импортируете данные из топола, то для расшифровки гр возраста вам нужен файл GrpVoz.DBF из каталога с вашими данными, я не думаю что он отличается от общепринятого
1.Молодняки I гр. 1 Молодняки
2.Молодняки II гр. 1 Молодняки
3.Средневозрастные 2 Средневозрастные
4.Средневозр. вкл. в расчет 2 Средневозрастные
5.Приспевающие 3 Приспевающие
6.Спелые 4 Спелые
7.Перестойные 4 Спелые
- 0 -

т.е. для перекодировки вам необходимо только одно поле - собственно AGR

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 09:57

разбивка 4 групп на 7 связана с алгоритмом вычисления расчетной лесосеки

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 10:01

***труд-минимальный, собака уже съедена :wink: , поэтому я и пытаюсь узнать цель ваших упражнений вцелом,если она достойна, могу помочь(зачем повторять пройденный кем-то путь),но вопросы непосредственно по лх лучше перевести на лесной форум..

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 10:10

destribution писал(а): всего по стандарту 4 класса возраста
проблема информатизации лх именно в отсутствии стандартов

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать скрипт (VB или Python)

Сообщение destribution » 05 ноя 2015, 11:32

gornak
Данные импортируются из программы SOLI, там зашит какой-то другой справочник.
У вас есть какое-то альтернативное решение ?

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 11:59

обработка лу в тополе делалась на основе солей,
судя по вашим значениям agr (0-7) справочник тот же или я не прав??? в противном случае вам необходимо построить "статистику":
порода-бонитет-группа лесов(целевое назначение)-класс возраста-группа возраста и по ней перекодировать
также вы должны учитывать,что на значение AGR влияет установленный возраст рубки на год вашего лесоустройства

альтернативного решения нет - есть опыт конвертации лесоустроительных баз данных

destribution
Участник
Сообщения: 68
Зарегистрирован: 30 авг 2014, 11:11
Репутация: 0

Re: Помогите написать скрипт (VB или Python)

Сообщение destribution » 05 ноя 2015, 17:25

По хорошему да, нужна статистика. Если Вы имели такой опыт, то она наверняка имеется? Может её как-то можно применить на моем случае? у нас на предприятии есть таблица в которой как раз таки реализованы те положения в зависимости от которых можно вывести значение поля AGR, но превратить её в скрипт, думаю никто не захочет,поскольку там скорее всего понадобится много писанины и уйма времени, по крайней мере с моей точки зрения (языками программирования я не владею)

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 21:42

все намного проще,чем вы думаете,сформулируйте тз: имеется одно, необходимо получить другое по таким-то параметрам,единственно,что
1)думаю на гислабе не всем интересна теория лесоустроительных расчетов
2)хотелось бы понимать конечную цель работы,что бы не тратить время впустую

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Помогите написать скрипт (VB или Python)

Сообщение gornak » 05 ноя 2015, 21:52

destribution писал(а):По хорошему да, нужна статистика. Если Вы имели такой опыт, то она наверняка имеется? Может её как-то можно применить на моем случае?
не очень владею терминологией, под "статистикой" я подразумеваю зависимость группы возраста от указанных выше параметров в вашей "исходной" базе ее несложно получить из самой этой базы,допустим в экселе
destribution писал(а):у нас на предприятии есть таблица в которой как раз таки реализованы те положения в зависимости от которых можно вывести значение поля AGR
-не совсем понимаю о чем речь
- в конечном счете вы должны понимать, что распределение по группам возраста(пусть 1-4) будет зависеть от того какие возраста рубок вам сейчас нужны

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя