80字符带空格 段错误_【超详细】ArcGIS字段计算器分割字段中的字符串
最近在整理植物数据,数据本来是以excel进行存储,但是其中涉及到要对字段进行分割,由于对excel的相关函数不熟悉于是想着能不能用arcgis的字段计算器进行解决,经过摸索成功地解决了自己遇到的问题,并记录下来,如下:
1、目的:用arcgis的字段计算器将字段基于特殊字符进行分割,并将分割后的数据保存在对应的新创建的字段中;
2、案例效果图:
(将OID编号为33的“桦木科鹅耳枥属”以“科”为特殊字符,分割成“桦木科”和“鹅耳枥属”,其它记录以此类推)
3、案例具体实现:
a、由于原始数据是保存在excel中,所以需要将excel数据添加到arcgis中,需要注意的是arcgis只能添加.xls格式的excel表,而不能添加.xlsx格式的excel表,后者会报“连接到数据库失败。出现基础数据库错误。没有注册类。”错误。截图如下:
当添加进.xls格式的数据表后,将其导出为arcgis自身支持的.dbf格式的数据,这样便于后期添加字段等操作。
b、在.dbf属性表中分别添加“ke”和"shu"两个字段,数据类型都设置为“文本”类型。
c、首先要从“分类”字段的记录中将形如“***科***属”记录的“***科”字符串部分分割出来。在“ke”字段上右键,在弹出的窗口中选择“字段计算器”;
d、在弹出的“字段计算器”中输入以下VB代码“Left( [分类] ,InStr( [分类] ,"科" ) )”,再点击确定,即可提取“***科”部分内容。
e、同理,在“shu”字段上右键,在弹出的窗口中选择“字段计算器”输入以下VB代码“Mid( [分类] ,InStr( [分类],"科" )+1)”,再点击确定,即可提取“***属”部分内容。
4、原理:
关于字段计算器中VB字符串函数的解释:
索引值 1 2 3 4 5 6 7 8
以:“安息香科安息香属”为例,代号为“a”
(1)、Left 函数:返回一个包含自字符串左侧起指定数量字符的变量(字符串型)。
MyStr = Left(a, 1) 输出结果:安
(2)、Right 函数:返回一个包含自字符串右侧起指定数量字符的变量(字符串型)。
MyStr = Right(a, 1) 输出结果:属
(3)、Mid 函数:返回一个包含字符串中指定数量字符的变量(字符串型)。
MidWords = Mid(a, 5) 输出结果:安息香属
(4)、InStr 函数:返回指定了一个字符串在另一个字符串中首次出现的位置的变量(长整型)。
MyPosition = InStr(a, "科") 输出结果:4
(5)、Replace 函数:返回一个字符串,在该字符串中,指定的子串已替换为另外一个子串若干次(次数已指定)。
NewString = Replace(a, "科", "种") 输出结果:安息香种安息香属
(6)、Chr 函数:返回一个包含与指定字符代码关联的字符的字符串。
(7)、& 运算符:对两个表达式强制执行字符串串联。
picdir= [pic] + [id] +".jpg" 输出结果:如下图
(8)、其它,如下:
like '%省道%' 查询字段中具有“省道”的字样,部分具有也行
Left( [RoadNum],4 ) 保留字段前四个字符
"S"+Left( [NAME],3 ) EG:201省道 -》》 S201
LTrim([NAME]) 清除字段左边的空格
RTrim([NAME]) 清除字段右边的空格
Left([NAME],2) 获取字段前两个字符
Right([NAME],2) 获取字段后两个字符
Replace([NAME],Left([NAME],3),"") 将字段前三个字符清除
Replace( [SEC_ID] ,Left( [SEC_ID],4 ),"B480")
5、扩展
例如:
(1)、将105°47‘24.42’‘E和28°36’32.40‘’N的经纬度数据分布分割成“***度”、“***分”和“***秒”可以使用上述分割方法,只需修改分割字符即可。
(2)、将“250x360x400”的长宽高数据分割成“长”、“宽”和“高”三个字段,可以采取类似的方法,如下:
用到VB脚本函数公式:
1、计算长度:Left( [field],InStr( [field],"x" )-1 )
2、计算宽度:Left(Mid( [field],InStr( [field],"x" )+1 ),InStr( Mid( [field],InStr( [field],"x" )+1 ),"x" )-1)
3、计算高度:Mid(Mid( [field],InStr( [field],"x" )+2),InStr(Mid( [field],InStr( [field],"x" )+1),"x"))
其中field为对应的包含长宽高的字段 。
(3)、案例:arcgis字段属性表清除字符串类型字段中的引号““”,如下图:
由于是采用VB脚本进行字段计算,所以需要用VB的标准对字段中的引号““”进行处理,在VB中用两个双引号转义表示字符串内容中的一个双引号。
依据此方法成功清除了字段中的引号。
- END -
ArcGIS中进行影像裁剪的几种方法汇总7.72GB ARCGIS ERDAS ENVI干货教程网盘下载在ArcGIS中提取DEM的单元高程点ArcGIS中建立缓冲区技巧讲解
80字符带空格 段错误_【超详细】ArcGIS字段计算器分割字段中的字符串相关推荐
- 超详细图文教程:3DS Max 中创建低多边形游戏长剑模型-下部
推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在由两部分组成的教程的第一部分中,我向您展示了如何: 剑柄建模 为剑的护手建模 剑刃建模 在本教程系列的第二部分中,我将向您展示如何: ...
- java 主动抛出 段错误_段错误产生的原因~
原文:https://blog.csdn.net/qq_29350001/article/details/53780697 一.什么是段错误? 一旦一个程序发生了越界访问,cpu 就会产生相应的保护, ...
- springboot超详细教程_超详细便当袋教程 || 特殊时期,自己带饭最安心!
持续受疫情影响,闷在家里的广大网友们早就坐不住了.尤其是最近各地复工陆续开始,小心心是不是开始躁动了?终于可以出门放飞自我,放肆吃吃喝喝了嘛? 再忍一忍呀同志们!疫情还没结束,病毒还没被消灭,为了你和 ...
- c printf 段错误_错误:预期声明在C中的printf之前指定
c printf 段错误 The main cause of this error is - missing opening curly brace ({), before the printf() ...
- 超十万字_超详细SSM整合实践_手动实现权限管理
SSM整合_基础配置 SSM框架中包含Spring,SpringMVC,Mybatis.而Spring与SpringMVC都是Spring Framework的模块,无需整合.只需将Mybatis与S ...
- url获取网站信息不包含网页源文件内的标签_超详细的网站内部seo优化教程
很多人把seo分为站内和站外,也有人把seo分为搜索需求覆盖,收录,排序,展现和数据分析,结果是一样的,看待seo的角度有所不同.网站内部即站内seo优化教程主要从站内讲解如何做seo.另外,一篇文章 ...
- rtmp测试地址_超详细搭建多码率测试环境(成为流媒体高手必经之路)
0.引言 关注我的朋友,应该都知道,前面我们讲解了如何搭建srs流媒体服务器,链接如下.由于srs流媒体服务器是不支持多码率测试环境,所以不能在上次的环境上继续演示.那本篇文章就要给出一个新方案,就是 ...
- 金蝶软件怎么过账_超详细!金蝶财务软件实操流程
超详细! 金蝶财务软件实操流程 有外币:录入凭证→审核凭证→凭证过账→期末调汇→凭证审核→凭证过账→结转损益 →凭证审核→凭证过账→期末结账, 没有外币:录入凭证→审核凭证→凭证过账→结转损益→凭证审 ...
- mysql+sql语句赋值语句_超详细的SQL语句语法汇总
一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句)INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSER ...
最新文章
- 05Observer/Event(观察者)模式
- 设置nginx 防止上传恶意脚本
- 【BZOJ3681】Arietta,主席树优化网络流
- 上计算机课睡觉检讨书400,小学生上自习课睡觉检讨书
- html 将光标移动到某行,如何将QTextBrowser(其中包含html表)的光标移动到PyQt5中的特定行?...
- Html 小插件4 百度搜索代码
- 一次简单的软件系统培训计划安排
- Oracle XDB组件的重建
- NoteFirst的Word插件(WordAddIn)安装过程中遇到的问题和解决方案
- .gitignore文件不生效
- DSPE-PEG4-Mal分子式:C56H103N2O15P的分子量介绍
- 瞬态抑制二极管TVS的基本知识
- 1943中途岛海战2020年8月22日海龟画图版(原雷电模拟升级版)
- ksql整合debezium创建连接器出现500
- 基于MindSpore复现Deeplabv3—语义分割
- Windows编程画太极图
- EMC文件服务器,emc存储服务器
- 西甲联赛|DaoCloud > # Hello World
- iOS代码混淆原理初探
- Java SE 第四十八,九,五十讲 Map深入详解及遍历Map的两种实现手段 Map.Entry详解与作业要求,作业讲解...
热门文章
- AB测试实战案例讲解及踩坑事项
- 《ROS机器人程序设计》期中测评试卷 (ROS2)
- 活动预告 | CodeWisdom 软件智能化开发与运维学术报告系列 第5期(高祥 北京航空航天大学)...
- Linux Debian利用Dockefile将Python的py文件项目代码打包为Docker Podman镜像
- 云计算年度点评2015-2016
- access通配符模糊查找_在Access 2010中使用通配符条目
- pythonaccess系统_Win7(64位系统)中用Python连接access数据库(access2010)
- 解决红旗linux6SP2 鼠标单击变双击的问题
- 无法创建注册表项 XXXXX 请确保您有足够的权限访问该注册表项
- 汽车式起重机液压系统的设计