在 ArcMap 中使用新建查询图层 对话框来创建查询图层。必须首先创建与数据库的连接,之后才能创建查询图层。连接下拉列表显示可用的数据库连接。
建立了与数据库的连接后,在该数据库中找到的表和视图的列表填充了该对话框的左侧窗口。选择其中一个表后,该表的各个列将显示在右侧窗口中。
在查询文本框中指定一个 SQL 查询。
构建查询时,通过双击表或者将该表从列表 窗口拖放到查询文本框中,可将整个表添加到查询文本框中。同样,通过双击表中的特定列或者将这些列从列 窗口拖放到查询文本框中,也可将这些列添加到查询中。也可以输入特定查询,或者从外部应用程序剪切查询并将其粘贴到查询文本框中。
构建查询图层时,应使用特定于数据库的 SQL 语法。以下是常见的示例:SELECT * FROM Test.dbo.US_States。这将生成一个包含 US_States 表中所有行的查询图层。在 ArcMap 中,这将显示美国的所有州。有关构建 SQL 查询的详细信息,请参阅构建查询表达式。
查询创建完成后,必须对其进行验证。在验证过程中,ArcGIS 尝试基于表返回的第一行确定查询图层的属性。
查询图层属性如下所示:
- 唯一标识符字段 — 这是 ArcGIS 用于唯一标识图层的一个或多个字段。
- 维数 — 该属性决定图层坐标是否包含存储路径数据的 m 值和存储 3D 数据的 z 值。
- 几何类型 — 该属性决定图层是点、多个点、线还是面。
- 空间参考 — 该属性是图层的坐标系和其他相关空间属性。
- SRID — 这是图层的空间参考标识符,用于确保查询仅返回具有相同空间参考标识符的几何。
通过单击显示高级选项复选框并单击下一步验证查询图层后,您可以查看和修改这些属性。
查询图层的属性用于过滤从数据库返回 ArcGIS 的行。例如,如果您在具有多个 SRID 的表中拥有几何,则查询图层中设置的 SRID 属性将阻止数据库表中不与该 SRID 匹配的任何行显示在 ArcMap 中。
- 在新建查询图层对话框中,在名称文本框中指定要创建的查询图层的名称。此名称将显示在 ArcMap 内容列表中。
- 在查询文本框中输入一个 SQL 查询。
- 查询创建完成后,必须对其进行验证。单击验证可确保查询语法正确并且返回的数据能够为 ArcGIS 所用。验证过程将在数据库中执行查询,并检查查询的结果集是否符合 ArcGIS 所实施的数据建模标准。只有当查询图层有效时,才会将其添加到 ArcMap。
验证规则如下:
- 结果集最多只能包含一个空间字段。
- 结果集最多只能包含一个空间参考。
- 结果集必须只有一种 shape 类型。
- 结果集不得包含 ArcGIS 任何不支持的字段类型。
如果由于任何原因而导致验证失败,系统将返回一条错误消息以便您修改查询。
如果所使用的空间数据库中的数据执行的标准与 ArcGIS 不同,则验证尤为重要。
- 如果成功执行了查询验证,则可单击完成将该结果集以查询图层的形式添加到 ArcMap 中。