Форум сайта python.su
import arcpy #Подключение модуля инструментов геообработки
import sys #Подключение модуля стандартной библиотеки Python
from math import * #Подключение модуля математических функций
#Задается функция, которая считает вероятность
def probability_function(a, K, M):
return (((M*a)**K)*exp(-M*K))/K
#Входные параметры
table = sys.argv #Длины участков железной дороги L
K = float(sys.argv) #Число пожаров K
M = float(sys.argv) #Среднее число пожаров M
in_field = u'Dlina;Srednee_chislo_PZ' #Название входных полей
out_field = u'Probability' #Название выходного поля
#Создаем курсор, считывающий пары из значений входных полей, кото-рый поместит #их в список in_field_values
rows = arcpy.SearchCursor(table, ‘', ’', in_field)
in_field_values =
for row in rows:
tmp =
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
M = in_field_values
row.setValue(out_field, probability_function(a, K, M))
rows.updateRow(row)
i += 1
del row
del rows
Выдаёт ошибку UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 1-6: ordinal not in range(128)
Что не так, подскажите
Офлайн
В начале файла *.py не указана его кодировка. Попробуйте удалить все русские комментарии
Офлайн
doza_andкак указать его кодировку?
В начале файла *.py не указана его кодировка. Попробуйте удалить все русские комментарии
Офлайн
Теперь вот что пишет
Прикреплённый файлы: Безымянныйпр.png (170,9 KБ)
Офлайн
Ну дык вы не передали параметр при вызове скрипта. Скорее всего вы просто нажали в PyScripter кнопку пуск, а у вас скрипт берет данные из параметров коммандной строки
..... table = sys.argv[1] #Длины участков железной дороги L K = float(sys.argv[2]) #Число пожаров K M = float(sys.argv[3]) #Среднее число пожаров M .....
[code python][/code]
Отредактировано PEHDOM (Июнь 4, 2017 16:42:59)
Офлайн
PEHDOMВообще мне нужно это проделать в питоне в arcgis, там по идеи должно появиться окно, куда я должна вписать данные(путь к таблице, число пожаров)..но там мне пишет вот что
Ну дык вы не передали параметр при вызове скрипта. Скорее всего вы просто нажали в PyScripter кнопку пуск, а у вас скрипт берет данные из параметров коммандной строки
Прикреплённый файлы: питон1.png (22,1 KБ)
Офлайн
Yana21Не знаю как там в архгисе, окуда оно окно должно брать, но ваш скрипт кушает эти данные из параметров коммандной строки.
Вообще мне нужно это проделать в питоне в arcgis, там по идеи должно появиться окно, куда я должна вписать данные(путь к таблице, число пожаров)..но там мне пишет вот что
[code python][/code]
Отредактировано PEHDOM (Июнь 5, 2017 23:42:50)
Офлайн