ArcMap 10.1,Windows 7 64位专业版。
我无法正确标记氯化物值。问题在于“if [Chloride]> 0:”表达式。标签呈现“Chloride”中的所有值。当Chloride字段的值为-99时,标签表达式应该使'Cl_txt'字段不是'Chloride'字段。
“Chloride”具有Long数据类型。 “Cl_text”是文本。我试过“if if long([Chloride])> 0:”。使用long,整个标签不会呈现Chloride值> 0,但-99值表示Cl_txt值为“NR”。我也试过用float([Chloride])转换并获得与使用float相同的结果。
奇怪的是,DTW渲染得很好。 DTW_ft是浮点数据类型。
def FindLabel( [gisID], [DTW_ft], [dtw_txt], [feat_date], [aka_name], [Chloride], [Cl_txt]):
L = "MISC-" + str( [gisID] ) + '\n'
L += "DTW: "
if float([DTW_ft]) > 0:
L += [DTW_ft] + " ft"
else:
L += [dtw_txt]
L += '\n'
L += "Cl: "
if [Chloride] > 0:
L += [Chloride]
else:
L += [Cl_txt]
L += '\n'
L += [feat_date]
return L