前面文章提出关于字段计算的相关问题,经过这几天摸索,发现并没有困难到非写vba的程度。只要建立好相关表格及其之间连接关系,就可以轻松完成字段计算的目的。

大概过程如下:

1、在arcCatalog下建立数据表

建立原始数据表:data

data

OBJECTID    f1    f2    f1_score    f2_score    total_score
1        r1    r1   
2        r1    r2   
3        r2    r1   
4        r2    r2   
5        r3    r1   
6        r3    r2   

建立打分规则表:f1_rule、f2_rule

f1_rule

OBJECTID    factor_name    rule_name    rule_score    factor_weight
1        f1        r1        100        .25
2        f1        r2        80        .25
3        f1        r3        60        .25

f2_rule

OBJECTID    factor_name    rule_name    rule_score    factor_weight
1        f2        r1        100        .75
2        f2        r2        50        .75

2、在arcMap下建立表关联(join)

1)用data表f1字段与f1_rule表rule_name字段建立关联
2)用data表f2字段与f2_rule表rule_name字段建立关联

3、用arcToolbox的calculate value工具计算字段

1)单个因素计算:f1_score = rule_score x factor_weight;f2_score = rule_score x factor_weight
2)因素总分计算:total_score = f1_score + f2_score

整个过程很简单,如果再把第2步和第3步用model封装一下,基本上就完成“办公自动化”啦!
posted on 2007-04-15 19:24  YuL  阅读(986)  评论(6编辑  收藏  举报