可以使用新建查询图层对话框以构成一个 SQL 查询,用于定义地图中的查询图层。
以下内容是有关如何使用新建查询图层对话框来创建查询图层的概述:
- 连接到数据库。
在 ArcGIS 中创建查询图层的第一步是与所要查询的数据库建立连接。可以在目录树中创建数据库连接,如 ArcMap 中的数据库连接部分所述,也可以在新建查询图层对话框中创建连接。
- 选择表。
与数据库建立连接后,在该数据库中找到的表和视图的列表将显示在新建查询图层对话框中。选择其中一个表后,将显示该表的各个列。
数据库中的每一列都具有特定的数据类型。ArcGIS 可以处理最常用的数据库类型。但不支持某些不常用的数据库类型。如果属性列的类型为未知,这表明 ArcGIS 不支持该数据类型。指定某个查询时,必须在查询中排除数据类型为“未知”的所有列,或者将这些列的数据类型更改为 ArcGIS 支持的数据类型。
有关详细信息,请参阅 ArcGIS 中支持的 DBMS 数据类型。
- 定义 SQL 查询。
在查询文本框中指定一个 SQL 查询。
构建查询时,通过双击表或者将该表从表列表窗口拖放到查询文本框中,可将整个表添加到查询文本框中。同样,通过双击表中的特定列或者将这些列从列窗口拖放到查询文本框中,也可将这些列添加到查询中。也可以输入特定查询,或者从外部应用程序剪切查询并将其粘贴到查询文本框中。
构建查询图层时,应使用特定于数据库的 SQL 语法。以下是常见的示例:SELECT * FROM Test.myuser.US_States。这将生成一个包含 US_States 表中所有行的查询图层。在地图中,这将显示美国的所有州。
有关构建 SQL 查询的详细信息,请参阅构建查询表达式。
- 验证 SQL 语句。
查询创建完成后,必须对其进行验证。在验证过程中,ArcGIS 将尝试基于表中返回的第一行确定查询图层的属性。
在验证过程中,ArcGIS 将尝试基于表中返回的第一行确定查询图层的属性。
查询图层的属性用于过滤从数据库返回 ArcGIS 的行。例如,如果要素类中的要素使用不同的 SRID,则查询图层中设置的 SRID 属性将用于防止数据库表中与该 SRID 不匹配的任何行显示在地图中。
- 请指定唯一标识符或者使用在验证期间由 ArcGIS 找到的标识符。
唯一标识符是 ArcGIS 用于标识表中各行的一个或多个字段。
- 对于包含空间列的要素类或视图,可以定义以下内容,或者使用在验证时 ArcGIS 检测到的默认值:
- 维数 - 决定图层坐标是否包含存储路径数据的 m 值和存储 3D 数据的 z 值。
- 几何类型 - 决定图层将存储点、多点、线或面要素。
- 空间参考 - 图层的坐标系和其他相关空间属性。
有时,ArcGIS 可能无法根据为数据库中某些要素设置的当前 SRID 值准确地确定空间参考。在这种情况下,查询图层将具有未知空间参考,您必须手动定义一个空间参考。要特别注意的是,为查询图层定义空间参考并不会对数据进行重新投影,而只是定义在 ArcGIS 内绘制查询结果地图时应使用的空间参考。
- SRID - 这是图层的空间参考标识符,用于确保查询仅返回具有相同空间参考标识符的几何。如果查询图层不包含空间字段,则 SRID 值将为空。如果设定了该值,则结果集中将排除所有不包含指定几何 SRID 值的要素。
请按照以下步骤在地图中创建查询图层:
- 在新建查询图层对话框中,在名称文本框中指定要创建的查询图层的名称。此名称将显示在 ArcMap 内容列表中。
- 单击连接以连接到包含要查询的表的数据库。
随即打开管理连接对话框。在这里,您可以选择现有数据库连接、创建连接以及编辑或删除现有连接。
- 选择现有连接或创建与数据库的连接。
- 要创建数据库连接,请单击新建。将显示数据库连接对话框。按 ArcMap 中的数据库连接中的描述提供连接信息。新连接被添加到现有连接列表时,键入该连接的描述性名称,然后单击确定。
- 要使用现有连接,请从现有连接列表中选择该连接,然后单击确定。
- 在查询文本框中输入一个 SQL 查询。
- 单击验证可确保查询语法正确并且返回的数据能够为 ArcGIS 所用。验证过程将在数据库中执行查询,并检查查询的结果集是否符合 ArcGIS 所实施的数据建模标准。仅当图层定义有效时,才会将查询图层添加到地图。
验证规则如下:
- 结果集最多只能包含一个空间字段。
- 结果集最多只能包含一个空间参考。
- 结果集必须只有一种 shape 类型。
- 结果集不得包含 ArcGIS 不支持的任何字段类型。
如果由于任何原因而导致验证失败,系统将返回一条错误消息以便您修改 SQL 查询。
如果所使用的空间数据库中的数据执行的标准与 ArcGIS 不同,则验证尤为重要。
验证过程中,ArcGIS 将为查询图层设定维数、几何类型、空间参考、SRID 以及唯一标识符属性。这些值取决于查询返回的第一行。如果您需要更改这些设置,请选中显示高级属性复选框以显示高级选项对话框并设置以下任意一项:
- 选择一个或多个字段,这些字段包含可唯一标识图层中各行的值。有关详细信息,请参阅唯一标识符字段。
- 从下拉菜单中选择几何类型。仅所选几何类型的要素将会显示在查询结果集中。
- 单击选择以选择要用于空间参考的坐标系,或者通过单击导入从现有数据集中导入空间参考。
- 如果已成功验证查询,并且已设置所需的任何高级选项,请单击完成以将结果集作为查询图层添加到地图中。
有关更改查询图层属性的信息,请参阅修改查询图层。