打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ArcGis中字段计算器及字段运算符
1、字段计算器是什么?
字段计算器,一般即为属性字段计算器,是对字段属性进行快速计算,提高运行效率的一个工具模块,其可以采用编程语言如:vb、Python进行对话输入操作,也可直接使用模块工具用属性字段和一些简单运算符进行计算。其打开方式有如下途径:选中内容列表中的要素内容>单击右键>跳出下拉条>选中打开属性表>选中属性表需计算的字段并单击>字段计算器。如图18-1,所示即为字段计算器。
图18-1:
2、字段有几种形式?
如图18-2,所示为ArcGis中常见的几种字符类型。分别是整数字符型:短整型和长整型,小数点字符型:浮点型和双精度型,文本型,日期。
图18-2:
3、字段运算符的含义?
是文件地理数据库、shapefile、coverage 和其他基于文件的数据源所支持的查询运算符的完整列表。个人地理数据库和 ArcSDE 地理数据库也支持这些运算符,但这些数据源可能使用不同的语法。
1、算术运算符
算术运算符用于对数值进行加、减、乘、除的运算。
算术运算符
表18-1
运算符
描述
*
乘法算术运算符
/
除法算术运算符
+
加法算术运算符
-
减法算术运算符
2、比较运算符
使用比较运算符可以将两个表达式进行比较。
比较运算符
表18-2
运算符
描述
<
小于。适用于字符串(基于字母顺序进行比较)、数值和日期。
<=
小于或等于。适用于字符串(基于字母顺序进行比较)、数值和日期。
<>
不等于。适用于字符串(基于字母顺序进行比较)、数值和日期。
>
大于。适用于字符串(基于字母顺序进行比较)、数值和日期。
>=
大于或等于。适用于字符串(基于字母顺序进行比较)、数值和日期。例如,以下查询将选择名称的开头字母是 M 到 Z  的所有县:      "COUNTY_NAME" >= 'M'
[NOT] BETWEEN x AND y
选择值大于等于 x且小于等于 y的记录。当前面有 NOT 时,将选择值在指定范围之外的记录。例如,以下表达式将选择值大于等于 1 且小于等于 10 的所有记录:"OBJECTID" BETWEEN  1 AND 10这与以下表达式等效:"OBJECTID"  >= 1 AND OBJECTID <= 10但是,在查询具有索引的字段时使用包含 BETWEEN 的表达式效率会更高。
[NOT] EXISTS
如果子查询返回至少一条记录则返回 TRUE;否则返回 FALSE。例如,如果 OBJECTID 字段包含一个值 50,则以下查询将返回 TRUE:EXISTS (SELECT * FROM  parcels WHERE "OBJECTID" = 50)只有文件地理数据库、个人地理数据库和 ArcSDE 地理数据库支持 EXISTS。
[NOT] IN
如果记录的某个字段包含多个字符串或值的其中一个,那么选择这条记录。当表达式前面包含 NOT 时,如果记录的某个字段不包含多个字符串或值的任何一个,那么将选择这条记录。例如,以下表达式将搜索四个不同的州名称:"STATE_NAME" IN  ('Alabama', 'Alaska', 'California', 'Florida')对于文件地理数据库、个人地理数据库和 ArcSDE 地理数据库,此运算符还可用于子查询: "STATE_NAME" IN  (SELECT "STATE_NAME" FROM states WHERE "POP" >  5000000)
IS [NOT] NULL
选择指定字段为空值的记录。如果 NULL 前面有 NOT,则将选择指定字段中包含任意值的记录。例如,以下表达式将选择 POPULATION 中包含空值的所有记录:"POPULATION" IS  NULL
x [NOT] LIKE y [ESCAPE  '转义字符']
将 LIKE 运算符(不是 = 运算符)与通配符结合使用可以构建对部分字符串的搜索。例如,以下表达式将从美国州名中选择 Mississippi 和 Missouri:"STATE_NAME" LIKE  'Miss%'
百分号 (%) 表示该处可以是任意数量的任何字符:一个字符、一百个字符或无字符。此外,如果您希望在查询时通配符仅代表一个字符,可使用下划线 (_)。例如,以下表达式将找到 Catherine Smith 和 Katherine Smith:"OWNER_NAME" LIKE  '_atherine Smith'
百分号和下划线通配符适用于任何基于文件的数据或多用户地理数据库数据。LIKE 表达式的两侧都要有字符数据。如果需要访问非字符数据,请使用 CAST 函数。例如,以下查询将返回整数字段 SCORE_INT 中以 8 开头的数值:CAST ("SCORE_INT"  AS VARCHAR) LIKE '8%'
要在搜索字符串中包含百分号或下划线,请使用 ESCAPE 关键字来将另一种字符指定为转义字符,该字符表示紧接其后的是真正的百分号或下划线。例如,以下表达式将返回任何包含 10% 的任何字符串,例如 10% DISCOUNT 或 A10%:"AMOUNT" LIKE  '%10$%%' ESCAPE '$'
在查询个人地理数据库时,使用通配符“*”代表任意数量的字符,而使用“?”来代表一个字符。还可以使用井号 (#) 通配符来表示匹配单个数字(数值型值)。例如,以下查询将从个人地理数据库返回宗地编号 A1、A2 等等: [PARCEL_NUMBER] LIKE  'A#'
注:表格引用自ArcGis
3、逻辑运算符
逻辑运算符
表18-3
运算符
描述
AND
结合两个条件,如果两个条件都为 true 则选择该记录。例如,以下表达式将选择面积大于 1,500 平方英尺且有一个能容纳 2 台以上汽车的车库的所有房屋:"AREA" > 1500 AND "GARAGE" >  2
OR
结合两个条件,如果两个条件中至少有一个为 true 则选择该记录。例如,以下表达式将选择面积大于 1,500 平方英尺或有一个能容纳 2 台以上汽车的车库的所有房屋:"AREA" > 1500 OR "GARAGE" > 2
NOT
选择与表达式不匹配的记录。例如,以下表达式将选择除 California 之外的所有州:NOT "STATE_NAME" =  'California'
注:表格引用自ArcGis
4、字符串运算符
逻辑运算符
表18-3
运算符
描述
||
同时返回连接两个或多个字符串表达式后得到的字符串。
FIRST_NAME ||  MIDDLE_NAME || LAST_NAME
注:表格引用自ArcGis
5、字段计算器中的运算符
字段简单运算符
表18-5
运算符
说明
示例
结果
x + y
x 加上 y
1.5 + 2.5
4
x - y
x 减去 y
3.3 - 2.2
1.1
x * y
x 乘以 y
2.0 * 2.2
4.4
x / y
x 除以 y
4.0 / 1.25
3.2
x // y
x 除以 y(向下取整除法)
4.0 / 1.25
3
x % y
x 模 y
8 % 3
2
-x
x 的负数表达式
x = 5
-5
-x
+x
x 不变
x = 5
5
+x
x ** y
以 x 为底数,y 为指数的幂
2 ** 3
8
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第三章 Visual Foxpro数据基础
Arcgis中的栅格计算
ArcGIS属性表之字段计算器
Visual FoxPro 系列
VBA程序的运算符
CMD/DOS下符号的作用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服