创建查询图层

在 ArcMap 中使用新建查询图层 对话框来创建查询图层。必须首先创建与数据库的连接,之后才能创建查询图层。连接下拉列表显示可用的数据库连接。

建立了与数据库的连接后,在该数据库中找到的表和视图的列表填充了该对话框的左侧窗口。选择其中一个表后,该表的各个列将显示在右侧窗口中。

列出的用于数据库连接的表和列

注注:

数据库中的每一列都具有特定的数据类型。ArcGIS 可以处理最常用的数据库类型。但不支持某些不常用的数据库类型。如果属性列的类型为“未知”,这表明 ArcGIS 不支持该数据类型。指定某个查询时,必须在查询中排除数据类型为“未知”的所有列,或者将这些列的数据类型更改为 ArcGIS 支持的其他数据类型。

要了解有关 ArcGIS 支持的数据类型的详细信息,请参阅 ArcGIS 支持的数据类型

查询文本框中指定一个 SQL 查询。

构建查询时,通过双击表或者将该表从列表 窗口拖放到查询文本框中,可将整个表添加到查询文本框中。同样,通过双击表中的特定列或者将这些列从 窗口拖放到查询文本框中,也可将这些列添加到查询中。也可以输入特定查询,或者从外部应用程序剪切查询并将其粘贴到查询文本框中。

构建查询图层时,应使用特定于数据库的 SQL 语法。以下是常见的示例:SELECT * FROM Test.dbo.US_States。这将生成一个包含 US_States 表中所有行的查询图层。在 ArcMap 中,这将显示美国的所有州。有关构建 SQL 查询的详细信息,请参阅构建查询表达式

查询创建完成后,必须对其进行验证。在验证过程中,ArcGIS 尝试基于表返回的第一行确定查询图层的属性。

查询图层属性如下所示:

通过单击显示高级选项复选框并单击下一步验证查询图层后,您可以查看和修改这些属性。

查询图层的属性用于过滤从数据库返回 ArcGIS 的行。例如,如果您在具有多个 SRID 的表中拥有几何,则查询图层中设置的 SRID 属性将阻止数据库表中不与该 SRID 匹配的任何行显示在 ArcMap 中。

步骤:
  1. 新建查询图层对话框中,在名称文本框中指定要创建的查询图层的名称。此名称将显示在 ArcMap 内容列表中。
  2. 查询文本框中输入一个 SQL 查询。
  3. 查询创建完成后,必须对其进行验证。单击验证可确保查询语法正确并且返回的数据能够为 ArcGIS 所用。验证过程将在数据库中执行查询,并检查查询的结果集是否符合 ArcGIS 所实施的数据建模标准。只有当查询图层有效时,才会将其添加到 ArcMap。

    验证规则如下:

    • 结果集最多只能包含一个空间字段。
    • 结果集最多只能包含一个空间参考。
    • 结果集必须只有一种 shape 类型。
    • 结果集不得包含 ArcGIS 任何不支持的字段类型。

    如果由于任何原因而导致验证失败,系统将返回一条错误消息以便您修改查询。

    如果所使用的空间数据库中的数据执行的标准与 ArcGIS 不同,则验证尤为重要。

    提示提示:
    验证过程中,ArcGIS 将为查询图层设定维数、几何类型、空间参考、SRID 以及唯一标识符属性。这些值取决于查询返回的第一行。如果需要更改这些设置,可以通过高级选项 对话框进行。选中显示高级属性复选框可在新建查询图层对话框中显示高级选项页面。

    有关详细信息,请参阅高级选项页面的选择唯一标识符字段定义查询图层的空间参考

  4. 如果成功执行了查询验证,则可单击完成将该结果集以查询图层的形式添加到 ArcMap 中。
    注注:

    ArcMap 在您将图层拖动到地图时,计算该图层的范围。如果要添加一个包含大量要素的表,范围的计算则需要花费一段时间。如果了解数据范围或想要使用空间参考的范围,而不是等待对范围进行计算,则可以执行此操作。在计算范围 对话框上单击相应按钮。如果单击输入范围,则必须输入包括表中所有要素的有效范围。

    计算范围的备用方法

相关主题

5/10/2014