Python高效办公|ArcGIS批量编码
时间:2022-06-23
本文章向大家介绍Python高效办公|ArcGIS批量编码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
01 前言
首先给各位读者道个歉,公众号停更了半个月。不过,罗罗攀满血复活,从这周起,开始重新更新,每周一、三、五早上9点20,不见不散。
其次,感谢故人兄对于本篇文章的技术指导。
02 问题描述
在工作项目中,对于数据都要进行唯一编码,有的时候是录入一行数据就进行一次编码,但这种方法效率太慢。下图是项目中编码的要求:
- 不同土地利用类型需要不同缩写,例如,居民点对应JM。
- 编码为4位数,而且不同类型都是从0001开始。
- 编码在ArcGIS中完成,要么使用VB,要么使用Python。
03 解决思路
首先,说一下解决的思路:
① 对于土地利用类型的缩写,有两种方法,一是整理成索引表格,到时候利用代码进行索引,第二种,自己定义一个字典进行索引。
考虑到类型不多,加上要共享给同事,选择在代码中定义字典(这样就不用共享表格,比较方便和稳定)。
② 对于按不同土地类型进行顺序编码问题,这里可以先定义一个空字典,土地利用类型为key,值计数为value,最后格式化数据即可。
04 解决代码
以下为解决的代码:
from collections import defaultdict
index_dict = {
u'采石场':'CS',
u'工矿用地':'GK',
u'能源设施':'NY',
u'交通设施':'JT',
u'旅游设施':'LY',
u'养殖场':'YZ',
u'居民点':'JM',
u'农业用地':'NT',
u'其他人工设施':'QT',
u'道路':'DL'
}
m = defaultdict(int)
def code(x):
m[x] += 1
return index_dict[x] + '-' + "{0:04d}".format(m[x])
code( !一级类型! )
这里特别注意 defaultdict 的方法,读者可以自行学习。
在ArcGIS中使用字段计算器,进行如下设置就行了。
今天的分享就到这了,又是充实(摸鱼)的一天。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python脚本破解压缩文件口令实例教程(zipfile)
- 使用keras实现Precise, Recall, F1-socre方式
- Python Django搭建网站流程图解
- Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
- keras自定义损失函数并且模型加载的写法介绍
- pandas DataFrame运算的实现
- Python流程控制语句的深入讲解
- 在keras里面实现计算f1-score的代码
- Keras官方中文文档:性能评估Metrices详解
- Django QuerySet查询集原理及代码实例
- Python中zipfile压缩文件模块的基本使用教程
- 基于nexus3配置Python仓库过程详解
- Python Django中间件使用原理及流程分析
- keras读取h5文件load_weights、load代码操作
- 简单了解Python变量作用域正确使用方法