I am (re-)learning ArcGIS for a new job after couple of years on PostGIS (and QGIS/pyqgis) and can't figure out how I can address a Field within the pre-logic-block of the field calculator.
Pre-Logic-Field:
def createStyleField(kindofuse):
if kindofuse == 'wa':
listofrelevantfields= {
1: ['level1', 'level1_wa'],
2: ['level2', 'level2_wa']
}
elif kindofuse == 'ge':
listofrelevantfields= {
1: ['level1', 'level1_ge'],
2: ['level2', 'level2_ge']
}
elif kindofuse == 'gi':
listofrelevantfields= {
1: ['level1', 'level1_gi'],
2: ['level2', 'level2_gi']
}
results = {}
for levelkuerzel, liste in listofrelevantfields.iteritems():
for entry in liste:
if '!' + entry + '!' == 1: ## THIS IS WHERE I AM TRYING TO ADDRESS A FIELD
results[levelkuerzel] = True
break
else:
continue
for i in range(1, 5) : #up to 5 levels, the lowest will be returned
try:
if results[i] == True:
return unicode(i)
except KeyError as err:
continue
except Exception as err:
raise err
return 0
And the other Field:
createStyleField('wa')
I need this for a couple of more complex calculations with a big number and case-dependent selection of fields. How do I do this?
Or should I address this issue totally different?