擅长:python、mysql、java
<p>我已经从你和@jpmc26下面借用了代码。这段代码(减去刚才用于测试的<code>print</code>语句)应该适用于ArcMap的Field Calculator,但它只是Python代码。问题是,当一个范围的两端属于不同的类别时,您没有告诉我们您要做什么,所以现在我使用<code>else</code>语句来输出999。在</p>
<pre><code>def Reclass( Elevation ):
r_min, r_max = (float(s.strip()) for s in Elevation.split('-'))
print "r_min: {0}, r_max: {1}".format(r_min,r_max)
if r_min < 1 and r_max < 1:
return 0.333
elif r_min >= 1 and r_max >= 1 and r_min <= 3 and r_max <= 3:
return 0.666
elif r_min > 3 and r_max > 3:
return 1
else:
return 999
print Reclass("0 - 1.1")
print Reclass("5.2 - 10")
print Reclass("2 - 3")
print Reclass("0 - 0")
</code></pre>