Возможно у вас в настройках поля стояло округление до целых. Как бы то ни было хорошо, что работает.
P.S. Не знаю какова дальнейшая судьба вашего скрипта, но рекомендую whatever_function переименовать во что-нибудь более соответствующее тематике. Это ведь просто шутка была...
Скрипт на питоне
-
- Активный участник
- Сообщения: 163
- Зарегистрирован: 28 июн 2012, 01:02
- Репутация: 84
- Откуда: Vladivostok
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 21 май 2013, 13:37
- Репутация: 1
- Откуда: Санкт-Петербург
Re: Скрипт на питоне
С этим потом разберусь, пока главное, что все считается. Большое спасибо!
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 21 май 2013, 13:37
- Репутация: 1
- Откуда: Санкт-Петербург
Re: Скрипт на питоне
А как переписать код, чтобы и значения M брались из таблицы (колонка Srednee) ?
-
- Активный участник
- Сообщения: 163
- Зарегистрирован: 28 июн 2012, 01:02
- Репутация: 84
- Откуда: Vladivostok
Re: Скрипт на питоне
Код: Выделить всё
# coding: utf-8
import arcpy
import sys
# Функция, которая считает вероятность
def whatever_function(a, K, M):
return a + K + M
# Входные параметры, теперь из два
table = sys.argv[1]
K = float(sys.argv[2])
# Имена входных полей в одной строке через точку с запятой
in_field = u'Dlina;Srednee'
out_field = u'Veroyatnost'
# Из значений полей составляем пары и добавляем их в in_field_values
rows = arcpy.SearchCursor(table, '', '', in_field)
in_field_values = []
for row in rows:
tmp = [row.getValue(u'Dlina'), row.getValue(u'Srednee')]
in_field_values.append(tmp)
del row
del rows
# Теперь значения а и М берем из соответствующих пар значений
rows = arcpy.UpdateCursor(table, '', '', out_field)
i = 0
for row in rows:
a = in_field_values[0]
M = in_field_values[1]
row.setValue(out_field, whatever_function(a, K, M))
rows.updateRow(row)
i += 1
del row
del rows
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 21 май 2013, 13:37
- Репутация: 1
- Откуда: Санкт-Петербург
Re: Скрипт на питоне
Спасибо!
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 2 гостя