实际操作中我们一般会将编号字段定义为文本型,因为编号不是序号,序号是一个递增数值,而编号往往是一个数字串代码. 本篇无说明的均使用VBScript语句1.怎么编号?最简单的编号—>直接在编号字段使用字段计算器将FID字段值+1计算过来便是. BH=[FID]+ 作者:yzhyingcoolArcGis交流群:博客:https://www.cnblogs.com/yzhyingcool/ 这应该只能叫做序号值,还不够,还有一个问题需要我们去解决,因为编号往往是一个数字代码,它一般是由区域代码或者类…
该“标注”系列博文的标注引擎使用“标准标注引擎(standard label engine)”,这个概念如不知道,可不理会,ArcGis默认标注引擎就是它. 写着写着发现ArcGis标注的破事儿好多啊,要想写得自己能看懂着实得费把力气,好想弃坑~~~ 作者:yzhyingcoolArcGis交流群:博客:https://www.cnblogs.com/yzhyingcool/ 一.开始标注 在“内容列表”的图层上右键,打开“图层属性”对话框,切换到“labels(标注)”页. 要想显示标注,得先…
先来点儿背景知识铺垫: ArcMap的字段计算器提供了两种脚本语言的支持用以计算,两种脚本语言是VBScript与Python. 多数人选择使用前者,因为它的基本函数和Excel的函数貌似一样.注意我这里用了一个“貌似”,虽然Excel函数与VB函数有着千丝万缕的关系,但它毕竟不是VB函数(ArcMap里用VBScript),把Excel函数照搬进ArcMap的计算器,许多是不可以运行的.使用VBScript函数正确的打开方式应该是查询VBScript帮助.至于VB.VBA.VBScript啥关…
这里所说的重复是指完成重复的,不是叠在一起的两个或多个要素,这种应该叫做“压盖”或“重叠”.重复往往是在合并多Shpfile文件时不小心重复导入造成的. 这里提供一种可能的解决办法,数据无价,请备份! 本篇使用Python语句 暂不说如何处理,先获取要素的一些几何属性.下文中所有的语句使用Python解析. !shape.type!要素的类型,返回一个文本值,点线面(point,polyline,polygon)等.这个想不出有啥用来 对于面要素(polygon):!shape.area!计算要…
ArcGis 字段计算器表达式可以保存为一个扩展名为.cal的文件,该文件的实质是一个文本文件,编码方式为 UTF-16-LE. 官方的说明是“ArcGIS 应用程序使用 UTF-16-LE 编码读写 .cal 文件.只要输出使用 UTF-16-LE 编码编写,其他应用程序(如记事本)可用于创建或修改 .cal 文件.使用任何其他编码将导致文件无法加载到代码段中.” 在记事本编辑后保存时编码方式应选用Unicode. 在.net中读写应使用Encoding.Unicode. 例: string…
ArcGIS字段计算器分割字段中的字符串 实例:在一个字段中存有长宽高三个属性数据,以x分割.例如sss为字段名(字段属性为文本类型),数据格式为:100x200x300,利用字段计算器分别将三个数存入到对应的len.wid.hei.字段中. 用到VB脚本函数公式: 1.计算长度:Left( [field],InStr( [field],"x"  )-1 ) 2.计算宽度:Left(Mid( [field],InStr( [field],"x"  )+1 ),InS…
最近要处理个简单数据,一个字段中为文本类型,包含各种描述.要求是包含平方米的数值提取出来,变成数值,如果包含多个,则把各个值累加起来. 比如 字段值为 “非法占用100平方米” 处理后结果为 100 字段值为 “工棚3间” 处理结果为0 字段值为 “工棚3间,瓦屋2间,非法占用100平方米” 处理结果100 字段值为 “工棚100平方米,瓦屋100平方米” 处理结果为200 由于一直写.net,上述功能在.net中做起来并不麻烦.但是觉得应该是字段计算器写写就解决的问题,懒得在用.net搭.就尝…
arcgis字段计算器 一.VB脚本 1.取某字段前几位或者后几位 ) ) 2.合并字段,中间加符号 Dim a if [ZDDM2] ="" Then a= [ZDDM1] else a= [ZDDM1] + "/" + [ZDDM2] end if 3.ifelse判断 dim u then u="a" then u="b" end if 注意:不管有多少个if,只要写一个end if 就行. 4.统一赋值 5.模糊查询…
1.前言       前些日子有人问我ArcMap中要让某个字段的值实现自增有什么方法?我首先想到像SQL Server中对于数值型字段可以设置自增.所以我打开ArcCatalog查看发现只提供默认值,没办法只能看一下字段计算器中是否有更好的方法.开始我的方法是在字段计算器中将要自增的值等于默认的OBJECTID值,但是问题又来啦,如果删除一个对象后OBJECTID值变乱,又不能实现自增.本人学习的主要语言是c#,对于字段计算器所支持的VB脚本和Python不了解,对于c#来说写一个for循环很…
multi_match查询 multi_match查询提供了一个简便的方法用来对多个字段执行相同的查询. NOTE 存在几种类型的multi_match查询,其中的3种正好和在“了解你的数据”一节中提到的几种类型相同:best_fields,most_fields以及cross_fields. 默认情况下,该查询以best_fields类型执行,它会为每个字段生成一个match查询,然后将这些查询包含在一个dis_max查询中.下面的dis_max查询: { "dis_max": {…