ArcGIS属性表的选择+属性表常用操作+属性域

一、属性表的选择

选择分为属性选择和位置选择,选择是属性操作的基础,属性表的批量操作和数据的提取都是靠选择来完成。

1、属性选择

属性选择可以在选择→按属性选择打开or在属性表选项→按属性选择打开。

属性选择支持SQL 语言查询,字段+操作符+值即可。其中:

  • “<>” 表示不等于,例如"XiaoBan"<>'9999';
  • “%” 表示通配符,例如"孙%",表示以孙开头的名字;
  • “_” 表示单字节通配符,例如"孙_"表示以孙字开头的只有两个字的名字;
  • “*” 表示通配符,相当于“_”;
  • “in” 表示范围,例如 in('孙其森','张三','李四')
  • “like”  表示表示指定模式,通常和通配符一起使用,如like '%其%'表示含有“其”的字符;
  • “not” 表示否定,例如 not like ,not in;
  • “and” 表示并列;
  • “or” 表示或者;

例如:枞阳县的小班中03 乡01、02、04 村的国家公益林小班中,乔木林地面积大于 10 亩或小于 1 亩的小班。

"XIANG" = '003' AND "CUN" in( '001' , '002' , '004' ) AND "SEN_LIN_LB"= '011' AND ("MIAN_JI"> 10 OR "MIAN_JI" <1)

2、位置选择

指两个图层之间的空间关系查询,如使用县界查询与县界相交的接图表图幅;选择→按位置选择。

目标图层&源图层空间关系类型:

  • 与源图层要素相交:相交返回与源要素完全或部分重叠的要素。
  • 在源图层要素的某一距离范围内:此运算符使用源要素周围的缓冲距离创建缓冲,并且返回所有与缓冲区域相交的要素。
  • 包含源图层要素:要被选中,源要素的几何(包括其边界)必须落在目标要素的几何之内。
  • 完全包含源图层要素:要被选择,目标要素的所有部分必须完全包含源要素的几何。此外,源要素不可接触目标要素的边界或与目标要素的边界重叠。
  • 包含(Cementini)源图层要素:除非源要素完全在目标要素的边界上,且没有任何部分位于目标要素内,否则此运算符的运算结果与“包含”运算符的相同。在这种特殊情况下,使用“包含(Clementini)”运算符不会选择目标要素,而使用“包含” 运算符则会选择目标要素。Clementini 运算规定面的边界独立于面的内部和外部。
  • 在源图层要素范围内:要被选中,目标要素的所有部分(包括边界)必须落在源要素的几何之内。
  • 完全位于源图层要素范围内:要被选中,目标要素的所有部分必须落在源要素的几何之内,并且不能接触源要素的边界。
  • 在(dementini)源图层要素范围内:除非目标要素完全在源要素的边界上,且没有任何部分位于源要素内,否则此运算符的运算结果与“在其他要素范围内”运算符的相同。在这种情况下,使用“在其他要素范围内 (Clementini)”运算符不会选择目标要素,而使用“在其他要素范围内”运算符则会选择目标要素。 Clementini 运算规定面的边界独立于面的内部和外部。
  • 与源图层要素完全相同:如果两个要素的几何严格相等,那么这两个要素被认为相同。要素类型必需相同,例如,您可使用此运算符来比较两个面图层,但将一个点图层与一个面图层相比会始终返回空选择集。
  • 接触源图层要素的边界:如果目标要素的几何与源要素的交集不为空,但是它们内部的交集为空,那么会选中目标要素。这是 Clementini 接触运算符的定义,所以如果目标要素接触(如 Clementini 所定义)源要素,那么目标要素会被选中。源要素与目标要素必须为线要素或者面要素。该运算符包含 Clementini 运算符,但对其进行了扩展。另外还支持以下情况:如果完全包含在面中的内部线或内部面的几何与该面的边界共线、共折点或者共端点,那么此内部线或者内部面会被选中。
  • 与源图层要素共线:用此方法,如果源要素与目标要素的几何有至少两个共用的连续折点,那么它们将被认为共线。源要素与目标要素必须为线要素或者面要素。
  • 与源图层要素的轮廓交叉:对于此运算符,它要求源要素与目标要素的边界必须至少共用一个边、折点或端点,但是不能共线。源要素与目标要素必须为线要素或者面要素。
  • 质心在源图层要素内:如果目标要素的几何质心落在源要素的几何之内或落在其边界上,那么使用该运算符可以选中目标要素。

3、选择要素

此外还有工具条上的选择要素工具,用于框选。选择要素工具→按矩形/多边形/套索/圆/线选择。

二、属性表的常用操作

可在图层上右击打开属性表,右击每个字段会弹出相应功能,支持排序,汇总和计算,属性表的操作支持选择集。

1、计算几何

在可编辑字段表头上右击会弹出计算几何的对话框,用于计算周长、面积等属性,注意单位的选择。

2、属性表排序

右击弹出高级排序对话框。

3、导出属性表

导出成 dbase 表,支持选择集,用 excel 打开查看编辑,在选项→导出中打开。

4、计算字段

计算字段可以批量修改属性表或给字段赋值,功能强大,在表头上右击选择计算字段打开对话框。

VBA字符串函数列表:

  • Trim(string) 去掉 string 左右两端空白
  • Ltrim(string) 去掉 string 左端空白
  • Rtrim(string) 去掉 string 右端空白
  • Len(string) 计算 string 长度
  • Left(string, x) 取 string 左段 x 个字符组成的字符串
  • Right(string, x) 取 string 右段 x 个字符组成的字符串
  • Mid(string, start,x) 取 string 从 start 位开始的 x 个字符组成的字符串
  • Ucase(string) 转换为大写
  • Lcase(string) 转换为小写
  • Space(x) 返回x 个空白的字符串
  • Asc(string) 返回一个integer,代表字符串中首字母的字符代码
  • Chr(charcode) 返回string,其中包含有与指定的字符代码相关的字符

VBA 时间函数:

  • Now 返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。
  • Date 返回包含系统日期的 Variant (Date)。
  • Time 返回一个指明当前系统时间的 Variant (Date)。
  • Timer 返回一个 Single,代表从午夜开始到现在经过的秒数。
  • TimeSerial(hour, minute, second) 返回一个 Variant (Date),包含具有具体时、分、秒的时间。
  • DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) 返回Variant (Long)的值,表示两个指定日期间的时间间隔数目
  • Second(time) 返回一个 Variant (Integer)其值为 0 到 59 之间的整数,表示一分钟之中的某个秒
  • Minute(time) 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一小时中的某分钟
  • Hour(time) 返回一个 Variant (Integer),其值为 0 到 23 之间的整数,表示一天之中的某一钟点
  • Day(date) 返回一个 Variant (Integer),其值为 1 到 31 之间的整数,表示一个月中的某一日
  • Month(date)返回一个 Variant (Integer),其值为 1 到 12 之间的整数,表示一年中的某月
  • Year(date) 返回 Variant (Integer),包含表示年份的整数。
  • Weekday(date, [firstdayofweek]) 返回一个 Variant (Integer),包含一个整数,代表某个日期是星期几。

VBA数字函数:

  • Abs 返回参数的绝对值,其类型和参数相同
  • Atn 返回一个 Double,指定一个数的反正切值
  • Cos 返回一个 Double,指定一个角的余弦值
  • Exp 返回 Double,指定 e(自然对数的底)的某次方
  • Fix 返回参数的整数部分
  • Hex 返回代表十六进制数值的 String
  • Int 返回参数的整数部分
  • Log 返回一个 Double,指定参数的自然对数值
  • Oct 返回 Variant(String),代表一数值的八进制值
  • Rnd 返回一个包含随机数值的 Single
  • Round 返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果
  • Sgn 返回一个 Variant(Integer),指出参数的正负号
  • Sin 返回一个 Double,指定参数的 sine(正弦)值
  • Sqr 返回一个 Double,指定参数的平方根
  • Tan 返回一个 Double 的值,指定一个角的正切值

VBA 运算符

  • 当表达式有多种运算符时,处理优先级顺序:算术运算符→比较运算符→逻辑运算符。
  • 所有比较运算符有相同的优先级,即按它们出现的顺序从左到右进行处理;
  • 字符串连接运算符 (&) 不是算术运算符,但是就其优先级而言,它在所有算术运算符之后,而在所有比较运算符之前。
  • Is 运算符是对象引用的比较运算符,它并不比较对象或对象的值,而只判断两个对象引用是否引用了相同的对象。

三、属性域

属性域是用来定义多个属性字段的值的范围。属性域可以在创建图层和字段的同时一起创建,也可以通过工具箱→数据管理工具→属性域工具来创建和删除。

使用属性域可针对特定字段限制可供选择的值,从而有助于确保数据完整性。对编码值域的验证是通过限制下拉列表中的字段值来实现的。在编辑过程中会自动验证值域范围,如林业常用字段森林类别,定义了商品林、国家级公益林、省级公益林、地方公益林等范围;

打开 catalog,在数据库上右击,选择属性,选择属性域栏。

当字段类型为整形、双精度、单精度类型时,属性域类型可选为范围;每建一个属性域,可在编码值中填写编码和对应的描述,属性域创建完成后,可在要素类上右击选择属性,选择字段栏,选择对应的属性域。

完成后即可在属性表中选择使用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值