地理空间要素表达式概述

表达式是查询中指定其条件的部分。查询将计算数据并仅返回符合查询条件的数据的子集。

例如,您可以创建表达式来指定所有面积超过 4000 平方英尺的地块。包含此表达式的查询仅显示或选择符合上述条件的地块。

一个完整的查询还指定以下内容:

例如,您可以查询地图中的要素图层,并根据其是否符合查询条件来显示或隐藏其数据。

在实际操作中,可以在建立表达式之前,通过选择要查询的要素类或图层来指定数据集。可以指定在选择用于生成表达式的命令时要应用的操作。例如,在 AutoCAD Map 3D 工具集 中选择“添加到具有查询功能的地图”“搜索以选择”

根据选择的命令,用于创建表达式的对话框的标题栏会有所不同。无论对话框的名称是什么,其内容基本相同。

使用表达式可以过滤地理空间数据、选择数据的子集、计算值或将数据从一种数据类型转换为其他数据类型。使用文字表达式可以格式化文字字符串以进行显示,例如格式化为标签。使用数值表达式可以将数学函数应用到具有数值的特性。

根据选择的命令,标题栏中的文字会发生更改。

创建表达式的基本步骤

要创建表达式,请执行以下基本步骤:

使用表达式的方式 说明
计算特性

可以基于一个或多个特性的值过滤或选择数据。

简单的表达式用于计算一个特性,但可以创建使用多个特性或多个值的复杂表达式。例如,可以创建一个表达式,用于显示人口多于 50000 但少于 100000 的县。

过滤表达式的结果必须是布尔运算值。

创建计算

可以基于现有值计算新值。例如,可以执行以下操作:

  • 计算多边形的面积或线性要素的长度。
  • 将文字字符串转换为日期格式,并向结果日期添加日或月。
执行转换

转换会将数据值从一种数据类型更改为另一种数据类型。例如,如果数据存储以文本方式保留日期值,您可将这些值转换为日期字符串。然后可以对其使用日期函数

还可以将数字字符串或文字字符串转换为特定的数字格式(例如,单精度数或双精度数)。可以将数值转换为文字字符串,例如,提取子字符串或查找字符串中的字符数。

创建文字表达式

通过文字表达式可以分析和操作字符串。例如,可以执行以下操作:

  • 格式化多行标签。
  • 将多个特性连接为一个条目。例如,将 First_NameLast_Name 连接为 Full_Name
  • 查找文字字符串的长度或某一文字字符串在另一文字字符串中的位置。
  • 将文字字符串转换为全部大写或全部小写的字符。
  • 修剪或添加文字字符串的开头或末尾。
  • 将一组字符替换为另一组字符。
创建数值表达式

数值表达式仅对数值进行运算。这些表达式使用数学函数,通过这些数学函数可以分析和操作数字字符串。例如,使用数值表达式可以执行以下操作:

  • 向上或向下舍入值。
  • 获得值的平方根、使用三角函数或者确定某一数字被另一数字除后所得的余数。
  • 获得一组值的平均值或中间值。
使用表达式过滤要素数据

通过过滤,可以使用数据的子集。例如,如果地图包括加利福尼亚州的所有郡,则可以创建一个过滤器,仅显示人口超过 50,000 的郡。

使用表达式执行以下操作:

使用表达式对要素设置标签

设计地图样式时,使用文字表达式数值表达式确定标签的内容。

在拆分/合并规则中使用表达式

使用 AutoCAD Map 3D 工具集 中的表达式确定合并或拆分要素后指定特性值的方法。