У меня проблемы с выражением для вычисления поля в ArcGIS 10.2. Я уже пробовал код в Python, и это сработало, но с небольшими изменениями, которые я должен был сделать для применения кода в ArcGIS, он не будет работать.Выражение Codeblock для ArcGIS с Python
PGIS_TXT
- столбец строк, как показано ниже, первое число - это числитель посылки, который я хочу извлечь из этой строки с помощью выражения Python.
PGIS_TXT = ["31\c\u\n\2","22","1","134","23\c\u\n\1"]
import re
def getnumerator(PGIS_TXT):
if (len(PGIS_TXT) > 3):
p=map(int, re.findall('\d+', PGIS_TXT))
b=p[:-1]
return b
else:
b= int(PGIS_TXT)
return b
эти цифры должны затем хранить в своей колонке flur_za
:
flur_za = getnumerator(!PGIS_TXT!)
Результат должен быть:
[31, 22, 1, 134, 23]
я получаю стандартную ошибку "Error 999999"
и сообщение "The field is not nullable [flur_za]"
Что не так с кодом?