很多时候,我们在使用ArcGIS进行属性数据编辑时,需要批量修改某些字段值,这时候ArcGIS提供的属性字段计算器(Field Calculator)就是一把利器。下面我就Field Calculator实际使用的经验跟大家来分享,希望对大家的使用能够起到一定的帮助。
       我遇到的问题是需要添加一个字段根据已有的字段(ID)来设置该字段的内容信息。ID是从1开始自增的字段,需要添加的是该ID对应的视频流访问地址(如:“assets/video/M2U00430.flv”),由于测试数据目前的视频只能提供(M2U00430-M2U00455)的数据。也就是说我需要把ID字段计算后与字符串拼合。
       Field Calculator使用有两种方式:A.简单模式;B.高级模式;
       首先,使用简单方式来做,思路就是对ID字段进行取余数据计算,也就是将ID除以26,就可以得到0-25的数据,然后累加30,再进行数值到字符的转换,最后拼接。
       操作如下:新建url字段,类型为文本类型,简单模式下选择Python脚本,然后输入表达式:"assets/video/M2U004"+str(int( !ID! %26+30))+".flv",其中%为取余;int为取整;str为数值转字符。
       
 
       对于简单的计算,简单模式就可以完成,不需要高级模式,但是为了便于大家掌握Field Calculator的使用,下来我们来看下如何在高级模式下来完成相应的操作。
   高级模式的操作界面如下图:
        所谓高级模式,就是在简单模式的对话框上勾选中间的显示代码块(Show Codeblock),然后就可以添加比较复杂的处理脚本,需要指出的Python脚本参数,大家注意下面调用函数的参数是字段名称加!!
 
      当然,因为是高级模式就可以引入其他的库,如random,那么我的函数也可以这么写:
      引用random函数库, x=random.randint(30,55)  result="assets/video/M2U004"+str(x)+".flv",这样更加方便。
      通过以上对比,大家也不难发现高级模式与简单模式的区别。还有很多朋友都有增加一个自增字段的需要,那么在高级模式下,就非常简单,添加脚本如下:
base=0
def idAdd():
    global base
    pStart=1
    pInterval=1
    if(base==0):
        base=pStart
    else:
        base=base+pInterval
    return base

在这还需要提醒大家的是Python脚本的语法格式,很多朋友复制网页的脚本,执行时经常会出现错误,基本都是缩进问题。另外,需要注意字段的数据类型以及计算结果的类型要对应。

       以上就是本人对于Field Calculator使用的一些心得,希望能对大家有所帮助,也欢迎大家就Field Calculator计算的技巧来一起讨论。
       更多细节,请参考官网

最新文章

  1. iOS开发Swift篇—(一)简单介绍
  2. C#中Math.Round()实现中国式四舍五入
  3. Struts2知多少(2) Struts2 是什么
  4. ASP.NET-【Excel】-将Excel中的数据批量加载到SQLserver数据库
  5. SDUT 3344 数据结构实验之二叉树五:层序遍历
  6. 骇客(Hacker)用语
  7. 彻底解决:请求被中止: 未能创建 SSL/TLS 安全通道
  8. Windows下Vundle插件BundleSearch命令出现错误解决方案
  9. ORACLE 如何查询被锁定表及如何解锁释放session
  10. JQuery获取与设置HTML元素的值value
  11. c/cpp中怎样切割字符串,相似于split的功能
  12. Java获取http和https协议返回的json数据
  13. C++ inline函数与编译器设置
  14. C# 使用 GDI+ 给图片添加文字,并使文字自适应矩形区域
  15. 循环结构for
  16. Mac 安装JRE 1.8
  17. 洛谷P3265 装备购买
  18. keepalived 的某台vip连接不通【原创】
  19. CentOS 6.9上inotify-tools 安装及使用方法
  20. jdk1.8

热门文章

  1. PCL-CMAKELIST书写格式
  2. Web3D
  3. 企业微信自建应用移动端动态获取li并给其事件问题总结
  4. 使用Python脚本分析你的网站上的SEO元素
  5. 3.11formdata的使用
  6. 信号量(Semaphore)
  7. 学以致用三十四-----python2.0加载图片
  8. cisco基本配置命令
  9. XML生成XAMl扩展
  10. Forward团队-爬虫豆瓣top250项目-项目总结