ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

创建查询图层

可以使用新建查询图层对话框以构成一个 SQL 查询,用于定义地图中的查询图层。

提示:

在目录窗口中根据数据库连接将数据库要素类、表或视图拖动到地图上时,ArcMap 将自动创建一个查询图层,用于从该要素类、表或视图中选择所有行和字段。但是,此操作仅适用于数据库,不适用于企业级地理数据库。

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

计算范围的备用方法

以下内容是有关如何使用新建查询图层对话框来创建查询图层的概述:

  1. 连接到数据库。

    在 ArcGIS 中创建查询图层的第一步是与所要查询的数据库建立连接。可以在目录树中创建数据库连接,如 ArcMap 中的数据库连接部分所述,也可以在新建查询图层对话框中创建连接。

  2. 选择表。

    与数据库建立连接后,在该数据库中找到的表和视图的列表将显示在新建查询图层对话框中。选择其中一个表后,将显示该表的各个列。

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

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

    有关详细信息,请参阅 ArcGIS 中支持的 DBMS 数据类型。

  3. 定义 SQL 查询。

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

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

    构建查询图层时,应使用特定于数据库的 SQL 语法。以下是常见的示例:SELECT * FROM Test.myuser.US_States。这将生成一个包含 US_States 表中所有行的查询图层。在地图中,这将显示美国的所有州。

    有关构建 SQL 查询的详细信息,请参阅构建查询表达式。

  4. 验证 SQL 语句。

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

    在验证过程中,ArcGIS 将尝试基于表中返回的第一行确定查询图层的属性。

    查询图层的属性用于过滤从数据库返回 ArcGIS 的行。例如,如果要素类中的要素使用不同的 SRID,则查询图层中设置的 SRID 属性将用于防止数据库表中与该 SRID 不匹配的任何行显示在地图中。

  5. 请指定唯一标识符或者使用在验证期间由 ArcGIS 找到的标识符。

    唯一标识符是 ArcGIS 用于标识表中各行的一个或多个字段。

  6. 对于包含空间列的要素类或视图,可以定义以下内容,或者使用在验证时 ArcGIS 检测到的默认值:
    • 维数 - 决定图层坐标是否包含存储路径数据的 m 值和存储 3D 数据的 z 值。
    • 几何类型 - 决定图层将存储点、多点、线或面要素。
    • 空间参考 - 图层的坐标系和其他相关空间属性。

      有时,ArcGIS 可能无法根据为数据库中某些要素设置的当前 SRID 值准确地确定空间参考。在这种情况下,查询图层将具有未知空间参考,您必须手动定义一个空间参考。要特别注意的是,为查询图层定义空间参考并不会对数据进行重新投影,而只是定义在 ArcGIS 内绘制查询结果地图时应使用的空间参考。

    • SRID - 这是图层的空间参考标识符,用于确保查询仅返回具有相同空间参考标识符的几何。如果查询图层不包含空间字段,则 SRID 值将为空。如果设定了该值,则结果集中将排除所有不包含指定几何 SRID 值的要素。

请按照以下步骤在地图中创建查询图层:

  1. 在新建查询图层对话框中,在名称文本框中指定要创建的查询图层的名称。此名称将显示在 ArcMap 内容列表中。
  2. 单击连接以连接到包含要查询的表的数据库。

    随即打开管理连接对话框。在这里,您可以选择现有数据库连接、创建连接以及编辑或删除现有连接。

  3. 选择现有连接或创建与数据库的连接。
    • 要创建数据库连接,请单击新建。将显示数据库连接对话框。按 ArcMap 中的数据库连接中的描述提供连接信息。新连接被添加到现有连接列表时,键入该连接的描述性名称,然后单击确定。
    • 要使用现有连接,请从现有连接列表中选择该连接,然后单击确定。
  4. 在查询文本框中输入一个 SQL 查询。
  5. 单击验证可确保查询语法正确并且返回的数据能够为 ArcGIS 所用。验证过程将在数据库中执行查询,并检查查询的结果集是否符合 ArcGIS 所实施的数据建模标准。仅当图层定义有效时,才会将查询图层添加到地图。

    验证规则如下:

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

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

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

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

    1. 选择一个或多个字段,这些字段包含可唯一标识图层中各行的值。有关详细信息,请参阅唯一标识符字段。
    2. 从下拉菜单中选择几何类型。仅所选几何类型的要素将会显示在查询结果集中。
    3. 单击选择以选择要用于空间参考的坐标系,或者通过单击导入从现有数据集中导入空间参考。
  6. 如果已成功验证查询,并且已设置所需的任何高级选项,请单击完成以将结果集作为查询图层添加到地图中。

有关更改查询图层属性的信息,请参阅修改查询图层。

相关主题

  • 修改查询图层
  • 导出查询图层
  • 空间参考

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明