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)架构,并且通过在页面中使用可重用…

tomcat8日志乱码_Tomcat输出日志乱码解决

请先检查一下是不是由于log4J没有指定编码方式所导致的.log4j.appender.File org.apache.log4j.DailyRollingFileAppender#重点是看一下有没有这个,如果没有则加上.#加上之后需要将之前的日志文件删除,否则有可能不会重新写入日志.log4j.appender.File.Encoding UTF-8log4j.a…

使用Datastax Java驱动程序与Cassandra进行交互

今天,我这次返回了更多的Cassandra和Java集成,重点是使用Datastax Java驱动程序,而不是我已经写了很多文章的Spring Data Cassandra。 Spring Data实际上使用了Datastax驱动程序来与Cassandra进行交互,但是在其之上还附带了一些额…

java forkjoin MySQL_Java并发fork-join框架

fork-join框架允许在几个工作进程中断某个任务,然后等待结果组合它们。 它在很大程度上利用了多处理器机器的生产能力。 以下是fork-join框架中使用的核心概念和对象。ForkFork是一个进程,其中任务将其分成可以并发执行的较小且独立的子任务。语法Sum le…

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

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

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

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

Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫

最近,Oracle采用了一种新策略,即每六个月发布一次新的语言版本。 该策略假定只有每个第3版都将提供长期支持或LTS。 快速说明: 具有LTS的当前版本是Java 8; Java 9仅应在2018年3月之前获得支持,因此已经结束。 Java…

mysql从dos界面_从DOS界面进入MYSQL数据库

新手学习数据库,从比较简单的mysql开始。从DOS界面进入mysql数据库其实跟配置java环境变量一样,要先设置环境变量(右击我的电脑-属性-高级-环境变量)。找到mysql的安装位置,把安装目录下“...mysql\bin\"这个地址放到环境变量Path值中&a…

更快地重复访问Java的Java类名?

Claes Redestad在core-libs-dev邮件列表上发布了消息“ RRF:8187123 :(反映)Class#getCanonicalName和Class#getSimpleName是性能问题的一部分 ”,他在邮件列表中要求审查建议的更改“以启用缓存…

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算法并…

mysql 存储过程 插入记录_mysql 存储过程 插入记录

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

Java技巧:创建监视友好的ExecutorService

在本文中,我们将扩展具有监视功能的ExecutorService实现。 这种监视功能将帮助我们在实时生产环境中测量多个池参数,即活动线程,工作队列大小等。 它还将使我们能够衡量任务执行时间,成功任务计数和失败任务计数。 监控库 至于监…

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

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

mysql五大子句_MySQL的查询语句中可以使用以下哪个子句来表示分组查询

【多选题】人类行为遗传学工作者倾向于把人的行为遗传分为哪几类【填空题】MySQL的连接操作包括内连接、( )和交叉连接。【判断题】社会生活类尤其是人文风光类纪录片的解说则多用文学、 散文手法, 既抒情又有解释说明, 语言华丽富于美感,情感真挚浓郁。【单选题】1 、作业区边…

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

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

layui登录页面写入数据_layui基本使用(动态获取数据,并把需要的数据传到新打开的窗口)...

\n‘ ‘ \n‘ ‘ \n‘ ‘ \n‘ ‘ \n‘ ‘ \n‘ ‘ \n‘ ‘ ‘ item.TITLE ‘\n‘ ‘ ‘ item.ZDRQ ‘\n‘ ‘ \n‘ ‘ \n‘ ‘ \n‘ ‘ \n‘ ‘ ‘ item.CDATE ‘\n‘ ‘ ‘ item.TJR ‘\n‘ ‘ \n‘ ‘ \n‘ ‘ ‘‘//消息的跳转页面$(".xiaoxi").click(fu…

mysql 5.6自动任务_mysql定时执行某任务

查看event是否开启: show variables like %sche%;将事件计划开启: set global event_scheduler1;关闭事件任务: alter event e_test ON COMPLETION PRESERVE DISABLE;开户事件任务: alter event e_test ON COMPLETION PRESERVE ENABLE;简单实例.创建表 CREATE TABLE test(endti…