如何根据属性表中的字段值引用数据库里的制图表达规则?

我想问一下如果引用数据库里的制图表达规则,有没有办法就是根据我的属性表字段值直接覆盖掉的,像图中我是要根据要素代码字段去匹配制图表达的,但是我导入库里的制图表达规则后他只会默认的导入一种。当开始对他编辑的话,是可以手动选择对应的规则的,就是有没有一种统一根据字段值赋值的办法
mmexport1618498590800.png mmexport1618498586663.png
已邀请:

zsf - SGG

赞同来自:

查看此图层(要素类)的“属性”——“符号系统”时,你会发现RuleID字段内容——实际上是一个整数。可能3103013对应的是1,3103023对应的是2。处理的办法有3种:
1、按要素代码排序,分类选择后,对RuleID进行字段计算或多要素属性赋值;
2、使用多个IF-ELSE分支的代码块的字段计算器;
3、用arcpy.da.UpdateCursor对RuleID进行赋值;大致代码如下
import arcpy
with arcpy.da.UpdateCursor(u"D:\\AAA.gdb\\RESA",[u"要素代码","RuleID"]) as cursor:
for row in cursor:
if row[0]==3103013:
row[1]=1
elif row[0]==3103023:
row[1]=2
elif row[0]==3103033:
row[1]=3
...
...
cursor.updateRow(row)

        

要回复问题请先登录注册