arcgis渔网分割提取栅格图_【操作】ArcGIS中字段的合并、分割、提取

由于种种原因,可能涉及到要对ArcGIS属性字段进行合并、分割、提取等操作,我们可以在Excel中进行运算,然后连接到ArcGIS中,这里主要介绍下通过属性表字段计算器的操作方法。

3e438715761aacf528ead968cc69caec.png

目标

① 合并“名称”、“代码”字段内容到新建字段“用地”,中间以“-”字符连接。

② 以“-”为界,拆分“用地”字段分别到新建字段“名称2”和“代码2”。

bfdca8aa358355022804b1948f308a1b.png

说明

ArcMap的字段计算器提供了两种脚本语言的支持用以计算,两种脚本语言是VBScript与Python,这里也分别进行操作一下。

3fd2494de33b9de760d2ef5df0437c8a.png

01字段的合并

操作

① 添加字段,取名“用地”,类型设置为“文本”。

② 方法一:在“用地”字段上右键,选择“字段计算器”;解析程序选择“VB脚本”,输入框输入:[名称] & "-" & [代码],点击确定。

③ 方法二:在“用地”字段上右键,选择“字段计算器”;解析程序选择“Python”,输入框输入:!名称! + "-" + !代码!,点击确定。

解释

① 在VBScript中,字符串之间的连接使用“&”运算符;

② 在Python中,字符串之间的连接使用“+”运算符;

③ 在ArcMap的字段计算器里,VBScript语句中字段用[field_Name]的样式输入,Python语句中字段用!field_Name!的样式输入。

02基于字符顺序进行分割提取

操作

①添加两个字段,分别取名“名称2”和“代码2”,类型设置为“文本”。

②方法一:在“名称2”字段上右键,选择“字段计算器”;解析程序选择“VB脚本”,输入框输入:Left( [用地] , 2 ),点击确定;同理,“代码2”输入VB代码为:Right( [用地] , 4 )

44d4ca3eb1c6594c22051a979353827f.png

③方法二:在“用地2”字段上右键,选择“字段计算器”;解析程序选择“Python”,输入框输入:!用地![:2],点击确定;同理,“代码2”输入Python代码为:!用地![-4:]

39c8e0a65768aa322cdaa397e9ac7c1b.png

解释

① 所有符号一定使用英文半角

② VBScript字符串函数:Left 函数和Right 函数。

Left 函数:返回一个包含自字符串左侧起指定数量字符的变量(字符串型)。(获取字段前n个字符)

Right 函数:返回一个包含自字符串右侧起指定数量字符的变量(字符串型)。(获取字段后n个字符)

③ 在 Python 中,字符串字段中的字符可以通过索引和分割操作进行访问。索引操作将在索引位置提取字符,而分割操作则会提取一组字符。

在Python 中,通过“[]”操作符获取字符串中字符,通过“[ : ]”截取字符串中的一部分。例如已知a字段的值为字符串 "Hello",a[1]即为'e',a[1:4]即为'ell'。

03基于特定字符进行提取分割

有时候字段的字符串结构并不统一规整,如“林地-03”与“设施农用地-0501”,这时候用以上方法提取字段就行不通了。这里,我们可以利用字符串中共有的特定字符“-”来分割。

fa83c1788e1b69dc2bdd8ecf970f524d.png

操作

① 添加两个字段,名称根据情况自取,这里分别取名“名称2”和“代码2”,数据类型设置为“文本”。

②方法一:在“名称2”字段上右键,选择“字段计算器”;解析程序选择“VB脚本”,输入框输入:Left( [用地],InStr( [用地],"-" ) -1),点击确定;“代码2”输入VB代码为:Mid( [用地],InStr( [用地],"-" )+1 )

84141e67c2f87b4f795d616fe5a58c15.png

③方法二:在“用地2”字段上右键,选择“字段计算器”;解析程序选择“Python”,输入框输入:!用地![: !用地! .index("-")],点击确定;同理,“代码2”输入Python代码为:!用地![ !用地! .index("-")+1:]

5a34f9d9b95611b59eec6197a6a6e7ee.png

解释

① Mid 函数:返回一个包含字符串中指定数量字符的变量(字符串型)。

MID(text, start_num, num_chars)

start_num:必选,从左起第几位开始截取。

num_chars:VB语言中可选,如果省略,将指定为从Start参数位置开始向右到字符串结尾的所有字符数。

② InStr 函数:返回指定了一个字符串在另一个字符串中首次出现的位置的变量(长整型)。

③ index( ):在python语言中检测选择字符是否包含在指定范围内,如果是返回该字符开始出现的索引值

7a193560cd8d93bb59556c2558b9fca4.png0dd037e659fa55f9886dbaf801048307.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ds排序--希尔排序_图解直接插入排序和希尔排序

前言这次我们介绍插入类排序中的 直接插入排序 和 希尔排序 。对于直接插入排序,虽然它的时间复杂度也是 O(n^2) ,但是在元素 有序或近乎有序 的情况下,时间复杂度可以降为 O(n) ,效率比 O(nlogn) 的算法还要高。然而对于大规模的…

jsf 配置_JSF Tomcat配置示例

jsf 配置JavaServer Faces (JSF)是一个Web应用程序框架,旨在简化基于Web的用户界面的开发集成。 它用于开发和构建服务器端用户界面组件,并在Web应用程序中使用它们。 JSF技术基于Model-View-Controller (MVC)架构,并且通过在页面中使用可重用…

无法加载可扩展计数器_多核可扩展计数器

无法加载可扩展计数器到处都需要计数器,例如,查找应用程序的关键KPI,应用程序的负载,服务的请求总数,用于查找应用程序吞吐量的一些KPI等。 由于所有这些需求,并发复杂性也增加了,这使这个问题…

linux忘记mysql密码_linux下忘记mysql root密码解决办法 | 系统运维

引言:在linux系统中,如果忘记了MySQL的root密码,有没有办法重新设置新密码呢?答案是肯定的,下面教大家一个比较简单的重置MySQL root密码的办法:1、编辑MySQL配置文件my.cnf系统运维www.osyunwei.com温馨提…

mysql中cast函数_mysql中cast函数的使用 用于强制类型转换 (转载)

例子:SELECTstr_to_date(concat(year(a.tb_time),date_format(a.tb_time,%m),01),%Y%m%d) tb_time,cast(a.category_id as char) category_id,a.category_name,sum(a.tendered_sum)/sum(a.winbid) tendered_sum,sum(a.winbid_sum)/sum(a.winbid) winbid_avgfrom( SE…

dht11温湿度传感器_Arduino不调用库实现DHT11数据读取

DHT11概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性…

rete_RIP RETE时间来获得PHREAKY

rete我刚刚完成了有关新规则算法PHREAK的高级文档,PHREAK是混合推理中的一个文字游戏。 它仍然有点粗糙和高水平,但希望仍然很有趣。 它建立在ReteOO之上,非常好阅读。 ReteOO算法 ReteOO是在3、4和5系列发行版中开发的。 它采用了RETE算法并…

java如果把字符串转成对象_Java中的重复对象:不仅仅是字符串

当Java应用程序消耗大量内存时,它本身就会出现问题,并可能导致GC压力增加和GC暂停时间过长。在我之前的一篇文章中,我讨论了Java中常见的内存浪费源:重复字符串。两个 java.lang.String 对象, a 并 b 在重复时 a ! b &…

批处理 设置电脑最佳性能_批处理最佳做法

批处理 设置电脑最佳性能大多数应用程序至少具有一个批处理任务,在后台执行特定的逻辑。 编写批处理作业并不复杂,但是您需要了解一些基本规则,我将列举一些我发现最重要的规则。 从输入类型的角度来看,处理项目可以通过轮询处理…

JVM体系结构:JVM类加载器和运行时数据区

各位读者好! 在JVM系列的上一篇文章中,开发人员了解了Java虚拟机(JVM)及其体系结构。 本教程将帮助开发人员正确回答以下主题的问题: ClassLoader子系统 运行时数据区 1.简介 在继续之前,让我们看一下Ja…

mysql5.6特性_MySQL5.6新版本特性

MySQL已发布新的系列版本5.6.x,如果打算升级的朋友可以尝试,虽然目前没有收到新版本的使用反馈,但凭借MySQL占据市场份额来看,新版本的确值得期待。五大特性:优化器的改进MySQL Optimizer 团队做了大量的工作为了不断的…

java计算整数出现的次数_[剑指offer题解][Java]1到n整数中1出现的次数

前言众所周知,《剑指offer》是一本“好书”。如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白。对于剑指offer题解这个系列,我的写作思路是,对于看过文章的读者,能够做到…

mysql 更改root密码及 主机_设置更改root密码(远程,本地)、连接mysql、mysql常用命令...

设置更改root密码1、将mysql加入环境变量中[rootcentos7 ~]# grep mysql /etc/profileexport PATH/usr/local/mysql/bin/:$PATH2、直接登录,无密码[rootcentos7 ~]# mysql -uroot3、方式一:设置密码[rootcentos7 ~]# mysqladmin -uroot password 123456W…

从NetBeans运行和调试WildFly Swarm应用程序

使用NetBeans的Java EE开发人员习惯于直接在NetBeans所选择的应用程序服务器中运行和调试其瘦战应用程序。 在开发打包为ber或镂空jars的微服务时,您期望使用相同的轻松方式进行运行和调试。 好消息是您可以。 在本文中,我将逐步演示如何在NetBeans中运行…

hazelcast入门教程_Hazelcast入门

hazelcast入门教程7月,我写了一个博客向Java开发人员介绍erlang,重点介绍了这两种语言之间的一些异同。 erlang虚拟机具有许多令人印象深刻的内置功能,其中之一是它们独立于位置且可以相互通信。 这意味着可以通过编写很少的代码行在VM之间同…

[MEGA DEAL]完整的Java编程训练营(94%折扣)

成为Java Master的10门课程(83.5小时):使用JavaFX的设计UI,利用设计模式,Master Multithreading等 嘿,怪胎, 本周,在我们的JCG Deals商店中 ,我们提供了另一个超值优惠…

java重排序_Java内存模型FAQ(四)重排序意味着什么?

译者:Alex在很多情况下,访问一个程序变量(对象实例字段,类静态字段和数组元素)可能会使用不同的顺序执行,而不是程序语义所指定的顺序执行。编译器能够自由的以优化的名义去改变指令顺序。在特定的环境下,处理器可能会…

JVM体系结构101:了解您的虚拟机

Java虚拟机(JVM)架构和Java字节码101的初学者速成班 Java应用程序无处不在,它们在我们的手机,平板电脑和计算机上。 在许多编程语言中,这意味着要多次编译代码才能使其在不同的OS上运行。 对于作为开发人员的我们来说…

flask对mysql数据库增删改查_Flask学习(三) - Flask-SQLAlchemy对数据库增删改查

Flask-SQLAlchemy对数据库增删改查安装pip install flask-sqlalchemy具体不多说了,主要是对数据库进行简单的增删改查,上代码,看注释app.route(/)def index():#增加article1 Article(titletest1, contentthe first test)db.session.add(arti…

带有Jersey的JAX-RS教程,用于RESTful Web服务

在当今世界,数据扮演着非常重要的角色。 如此众多的应用程序将各种类型的数据用于不同的操作,所以最重要的方面是应用程序之间的通信。 当应用程序可以通信时,它们之间的数据共享变得容易。 就像在亚洲运行的应用程序向在欧洲运行的应用程序…