24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1299  |  回复: 6

zzahkj

木虫 (著名写手)

[求助] ArcGIS属性计算器,怎么让属性参与计算?已有1人参与

CODE:
if (!MEAN_ASP!>= 22.5) and (!MEAN_ASP!<67.5):
A='NE'
elseif (!MEAN_ASP!>= 67.5) and (!MEAN_ASP!<112.5):
A='E'
elseif (!MEAN_ASP!>= 112.5) and (!MEAN_ASP!<157.5):
A='SE'
elseif (!MEAN_ASP!>= 157.5) and (!MEAN_ASP!<202.5):
A='S'
elseif (!MEAN_ASP!>= 202.5) and (!MEAN_ASP!<247.5):
A='SW'
elseif (!MEAN_ASP!>= 247.5) and (!MEAN_ASP!<292.5):
A='W'
elseif (!MEAN_ASP!>= 292.5) and (!MEAN_ASP!<337.5):
A='NW'
else:
A='N'

难道不是把MEAN_ASP直接参与计算吗?怎么弄都不正确
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

不要迷恋哥,哥只是一个过客!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

CODE:
def zz(A):
  if (A>= 22.5) and (A<67.5):
    return 'NE'
  elif (A>= 67.5) and (A<112.5):
    return 'E'
  elif (A>= 112.5) and (A<157.5):
    return 'SE'
  elif (A>= 157.5) and (A<202.5):
    return 'S'
  elif (A>= 202.5) and (A<247.5):
    return 'SW'
  elif (A>= 247.5) and (A<292.5):
    return 'W'
  elif (A>= 292.5) and (A<337.5):
    return 'NW'
  else:
    return 'N'

不要迷恋哥,哥只是一个过客!
2楼2014-04-07 10:02:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

以上代码无误,已经解决!
还有个问题:
我一楼的elseif写错了但即使改为elif还是有问题
不要迷恋哥,哥只是一个过客!
3楼2014-04-07 10:06:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

两种写法,第一种,可以运行正确
CODE:
def zz(A):
  if (A>= 22.5) and (A<67.5):
    return 'NE'
  elif (A>= 67.5) and (A<112.5):
    return 'E'
  elif (A>= 112.5) and (A<157.5):
    return 'SE'
  elif (A>= 157.5) and (A<202.5):
    return 'S'
  elif (A>= 202.5) and (A<247.5):
    return 'SW'
  elif (A>= 247.5) and (A<292.5):
    return 'W'
  elif (A>= 292.5) and (A<337.5):
    return 'NW'
  else:
    return 'N'

而第二种就运行,错误了
如下:
CODE:
if (!MEAN_ASP!>= 22.5) and (!MEAN_ASP!<67.5):
  A='NE'
elif (!MEAN_ASP!>= 67.5) and (!MEAN_ASP!<112.5):
  A='E'
elif (!MEAN_ASP!>= 112.5) and (!MEAN_ASP!<157.5):
  A='SE'
elif (!MEAN_ASP!>= 157.5) and (!MEAN_ASP!<202.5):
  A='S'
elif (!MEAN_ASP!>= 202.5) and (!MEAN_ASP!<247.5):
  A='SW'
elif (!MEAN_ASP!>= 247.5) and (!MEAN_ASP!<292.5):
  A='W'
elif (!MEAN_ASP!>= 292.5) and (!MEAN_ASP!<337.5):
  A='NW'
else:
  A='N'

不是太懂,请教大家?难道不一样?
不要迷恋哥,哥只是一个过客!
4楼2014-04-07 10:17:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dlmufei

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
zzahkj: 金币+20, 有帮助, 谢谢回帖! 2014-04-08 18:49:03
你这是VB的脚本代码吧,我建议直接用字段计算器一步一步算!
牛逼是自己干出来的!
5楼2014-04-08 13:29:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzahkj

木虫 (著名写手)

引用回帖:
5楼: Originally posted by dlmufei at 2014-04-08 13:29:39
你这是VB的脚本代码吧,我建议直接用字段计算器一步一步算!

Python脚本 已经解决了 见楼上 谢谢
不要迷恋哥,哥只是一个过客!
6楼2014-04-08 18:48:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Bob911116

银虫 (小有名气)

引用回帖:
4楼: Originally posted by zzahkj at 2014-04-07 10:17:12
两种写法,第一种,可以运行正确def zz(A):
  if (A>= 22.5) and (A<67.5):
    return 'NE'
  elif (A>= 67.5) and (A<112.5):
    return 'E'
  elif (A>= 112.5) and (A<157.5):
    re ...

是不是没有对A进行预先声明?我也不是很懂,可以讨论吧
7楼2014-04-16 13:25:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zzahkj 的主题更新
信息提示
请填处理意见