ArcGIS字段计算器(Python篇) —— 群内问题汇总
来源:互联网 发布:sql insert 多行 编辑:程序博客网 时间:2024/05/17 08:05
博客开张,多多捧场。再给咱交流群打个广告。(全国最大ARCGIS技术交流QQ群:arcgis技术交流 47410747)
本博客全为原创,转载请注明蓝胖子。他人东西(云)笔记即可,不用记录在博客。
作为近年Esri支持得最好的脚本语言,Python能够在字段计算器中解决不少简单的属性问题(如编号、截位等)。ArcPy则是直接能够进行ArcGis二次开发。系统性文章目标太大,目前我会把群里面之前问的字段计算器问题以及ArcPy问题汇总。有字段计算器问题的兄弟们可以在群里面找蓝胖子,也可以找其他人员。解决了再到本帖汇总。
另注:python是对代码缩进要求很严格的编程语言。本博客统一采用4个空格作为缩进。
python很少使用分号,逗号一定使用英文半角。(同学们请注意)
问题一:多字段的最大、最小值
python的基础函数中有求数值的求和、最大、最小值函数,所以我们也可以直接使用的。
举例:假设有三个字段,NumA,NumB,NumC三个字段都是数值型的字段,我们需要求三个字段的最大值,并写入到MaxNum字段中。
只需在表达式中输入 max([NumA,NumB,NumC])即可。
最大值函数:max([NumA,NumB,NumC])
最小值函数:min([NumA,NumB,NumC])
多字段求和函数:sum([NumA,NumB,NumC])
最大值使用截图如下:
问题二:流水号编码
举例1:
举例描述:已有宗地图层,包含字段“地籍子区”、“特征码”、“宗地编码”按照 宗地统一编码 规则给图层内的宗地编码。
宗地统一编码规则:宗地编码 = "地籍子区" + "特征码" + 5位自然数流水号。
原始属性表截图:
字段计算器使用截图:
处理结果截图:
代码块如下:
dict={}def funZdbm(fldVal,tzm): if fldVal == None: return None if tzm == None: return None temp = 0 key = fldVal + tzm if dict.has_key(key) == True: temp = dict[key] strVal = key + str(temp+1).zfill(5) dict[key] = temp+1 return strVal else : dict[key] = 1 strVal = key + str(temp+1).zfill(5) return strVal
举例2:
描述:有文本型字段流水号,其中有两行记录已编号,需要续编其他记录,并在前面补零。保证流水号为6位数
原始属性表截图:
字段计算器使用截图:
处理结果截图:
代码块:
max = 504def funLsh(fldVal): global max fldVal = fldVal.strip() if fldVal == None or fldVal == "": max = max + 1 return str(max).zfill(6) else: return fldVal
问题三:文本型字段查重
描述: 检查宗地图层,将“宗地代码”字段有重复记录的内容标记出来,并将检查结果赋给"检查结果"字段。
原始属性表截图:
字段计算器使用截图:
处理结果截图:
代码块:(此代码在数据量太大的情况下慎用,估计会比较卡,预计十万以内还是可以承受,有异常可留言博主)
dict={}def adjRepeat(fldVal,id): if fldVal == None: return None temp = 0 strVal = "" if dict.has_key(fldVal) == True: temp = dict[fldVal] strVal = "宗地代码字段和FID为" + str(temp) + "的图元重复" return strVal else : dict[fldVal] = id return ""
- ArcGIS字段计算器(Python篇) —— 群内问题汇总
- arcgis 字段计算器 python方法
- ArcGIS字段计算器中的python函数
- ArcGIS字段计算器Python变量类型
- ArcGIS中字段计算器的问题
- ArcGIS 字段计算器
- arcgis字段计算器实例
- ArcGIS字段计算器分割字段中的字符串
- ArcGIS使用字段计算器python脚本整理三规合一图斑
- 在ArcGIS字段计算器中使用Python脚本将Text类型转换成整型
- flex开发问题汇总(+java,arcgis)
- ArcGIS 10.2字段计算器(Field Calculator)批量条件赋值用法总结
- ArcGIS 10.2字段计算器(Field Calculator)批量条件赋值用法总结
- Python版的ArcGIS栅格计算器模板
- ArcGIS教程:图斑整理之字段计算器使用技巧
- ArcGIS ModelBuilder 迭代器参数传入字段计算器方法
- ArcGIS Server9.3问题汇总
- ArcGIS Server9.3问题汇总
- 希尔排序(Shell_Sort)
- Instruments检查视图卡顿和优化
- RabbitMQ集群和高可用配置的技巧
- 看起来一片生机,胜利的
- 2.类和对象
- ArcGIS字段计算器(Python篇) —— 群内问题汇总
- Linux发行版列表
- iOS平台基于ffmpeg的视频直播技术揭秘
- 【小QのSpringBoot-翻译】Spring Boot官方参考指南-第二部分 入门
- 【征文】使用知识库是怎样一种感受
- nmon性能监控
- 彩色图+车牌颜色测试结果分析
- 前端规范
- 国内外期货、外汇、股指期货 交易时间(转载)