ArcEngine中调用字段计算器的实现

本文介绍了在ArcEngine开发中,如何利用字段计算器工具批量为新字段赋值,以解决移动端不支持复杂label表达式的问题。通过C#代码调用Calculate Field工具,并详细讲解了代码实现过程,包括遇到的问题及解决方案,涉及Python表达式和codeblock的使用。
摘要由CSDN通过智能技术生成

 

  • 背景:

        在数据制作软件的开发过程中,建设用地管制区和土地用途区两个要素类需要将地类代码字段按既定规则翻译成中文标注。这个需求本身在PC端软件中非常好实现,也不需要复杂代码。那就是利用layer文件中的Label来实现:

label的Expression可以写简单的表达式来达到上述要求。

那我为什么非要利用二次开发中调用字段计算器来实现呢?原因是,数据制作软件做出来的数据是.geodatabase的格式,在移动端中并不支持layer中设置好的表达式。那么只能另辟蹊径了。首先想到的是,既然移动端不支持label的高级表达式(vb或者js或者python的脚本),那么何不新增一个字段,并根据规则将翻译好的值填入,然后制成.geodatabase供移动端用呢?目前来讲,貌似也是唯一选择。

  • 过程:

       首先要思考的问题是如何将翻译好的值填入新加的字段?肯定不能是一条一条的遍历或者手动操作。经过思考,决定利用字段计算器工具来实现,在新的需求前面优先考虑的必须是既有方案或者工具,有时候拿来主义是解决问题的首选。

那具体怎么操作?两个思路:

1、在arcgis中手动操作,对所有需要做字段翻译的要素类都进行操作。

2、在代码中进行字段计算器的调用。

这两个解决思路孰优孰劣?想必经过比较大家都很清楚。

最终我的决定是在代码中进行调用,说了这么多

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值