验证字符串值 (Production Mapping)
正则表达式校验可以在要素类或表中搜索为每个字符串字段列出的文本字符串。字符串字段使用字母数字字符串作为值。这些字段包含要素的名称、测量值(高度、长度、宽度和面积)、z 值和元数据(例如,要素的创建日期)。
当找到与指定格式不匹配的字符串时,表行将作为校验结果返回。例如,如果要查找社保号码格式不正确的记录,可以在 SSN 字段中输入“\b[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]\b”。该校验返回具有此类值的记录,例如 123456789、123-ab-4567、1123-34-12345 和 123-4567。
当搜索多个字段时,它们相互独立运行。例如,如果同时具有“用户”字段和“日期”字段并且只有一个字段与表达式匹配,将返回要素一次。如果两个字段与表达式都不匹配,则返回要素两次,从而产生重复的记录。
还可以使用此校验查找空值。如果选中“搜索空值”复选框,则校验结果中将包含空值。取消选中复选框可以忽略空值。
可以在整个要素类、子类型或使用 SQL 查询选择的要素集上运行正则表达式校验。
定义了校验条件之后,便可配置注释和严重性评级。注释用于提供有关写入检查器表的要素的更具体描述,并将注释复制到检查器表中的“注释”字段。严重性评级用于指示校验结果在质量保证/质量控制过程方面的重要程度。数字越小,校验结果的优先级越高。
- 启动 ArcMap。
- 在主菜单上,单击自定义 > 工具条 > Data Reviewer。
-
单击 Data Reviewer 工具栏上的选择数据校验规则下拉箭头,再单击表校验旁边的加号 (+),然后单击正则表达式校验。
将显示正则表达式校验属性 对话框。
- 如有必要,在校验标题文本框中为校验输入唯一名称。注:
校验标题可用于描述使用该校验查找的条件。使用同一校验的多个实例来验证具有不同验证参数的相同要素类或表时,校验标题十分有用。
- 单击要素类/子类型下拉箭头,选择要运行校验的要素类和子类型。
这是要在其中搜索值的要素类。字符串字段的名称将出现在“正则表达式编辑器”区域中。
- 若要在整个要素类上运行校验并保存此设置,请选中始终在整个数据库上运行复选框。
- 若要在要素类的特定要素上运行校验,请单击 SQL 来构造 SQL 查询。
-
在要使用的字符串字段的正则表达式单元格中输入要搜索的字符串或正则表达式。
注:
文本字符串区分大小写。如果在字段值为全大写字母或大小写字母混用时使用小写字母,则校验结果将不准确。该校验使用 ATL 正则表达式引擎,因此某些元字符在 ATL 正则表达式中具有不同意思。
例如,要搜索除自己之外的所有操作者,可以在“操作者”字段中输出自己的名称作为正则表达式。要查找具有特定日期格式的要素,可以使用正则表达式定义日期格式。
提示:单击清除正则表达式可清除“正则表达式”列的内容。
- 根据需要重复步骤 8。
- 如果希望结果中包含空值,则选中搜索空值复选框。
- 如有必要,可在检查器备注区域的注释文本框中为校验结果输入描述性文本。
-
如有必要,单击严重性下拉箭头并在检查器备注区域中选择指示校验结果优先级的值。
严重性可指示校验结果的重要性。优先级的范围在 1 至 5 之间,1 为最高优先级,5 为最低优先级。
- 单击确定。
-
单击 Data Reviewer 工具条上的运行数据校验按钮 。
将弹出要验证的要素 对话框。
-
在“要验证的要素”区域中选择选项。
- 选择集 - 针对当前在地图中选择的要素运行校验。
- 当前范围 - 针对当前地图范围(由地图比例控制)运行校验。
- 定义查询 - 针对基于定义查询(已为要素类创建)显示的要素运行校验。
- 整个数据库 - 针对要素类中的所有要素运行校验。
-
要仅针对已在版本化的工作空间中编辑的要素运行校验,可选中仅更改的要素复选框。
注:
仅更改的要素选项仅可用于版本化数据库。
- 单击确定。
校验在要验证的要素 对话框中指定的范围内运行。
校验完成后,将弹出校验结果对话框。
- 执行以下其中一项操作:
- 如果要在浏览要素 窗口中浏览结果,请选择浏览结果选项。
- 如果已启动了检查器会话并且要记录检查器表中的结果,请选择写入检查器表选项。
- 单击确定。