麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS操作教程(64)ArcMap中的查询图层

关于查询图层

查询图层是一个由 SQL 查询定义的图层或独立表。通过查询图层可将空间信息和非空间信息都存储在 DBMS 中,从而使这些信息可以轻松地整合到 ArcMap 中的各 GIS 项目。由于查询图层将通过 SQL 对数据库表和视图进行直接查询,所以查询图层所使用的空间信息不需要位于地理数据库中。

在 ArcMap 中显示或使用该图层时都将执行该查询。这样,无需生成数据的副本或快照便可显示最新信息,这尤其适用于处理频繁更改的动态信息。查询图层功能适用于 ArcGIS 支持的所有 DBMS。

查询图层支持的数据库

IBM DB2 数据库

要使用查询图层显示来自 DB2 数据库的空间数据,必须将该数据库注册到 DB2 Spatial Extender,并且在您用来连接数据库的计算机上安装 IBM Data Server Runtime Client for DB2。

DB2 Spatial Extender

必须首先在 DB2 Spatial Extender 中注册 DB2 数据库,然后才能使用 ST_Geometry 空间类型。如果不确定连接的数据库对 ST_Geometry 是否可用,请联系 GIS 管理员或数据库管理员。

IBM Data Server Runtime Client for DB2

在客户端计算机上安装 DB2 客户端应用程序。从 ArcGIS 建立连接时,可将客户端配置为连接到特定 DB2 数据库,或者使用非数据源名称 (DSN-less) 连接字符串进行连接。您可从 Esri 客户关怀中心门户下载,也可从 IBM 获得 IBM Data Server Runtime Client for DB2。

IBM Informix 数据库

要使用查询图层显示来自 Informix 数据库的空间数据,必须将该数据库注册到 Informix Spatial DataBlade,并且在您用来连接数据库的计算机上安装并配置 Informix IConnect 客户端。

Informix Spatial DataBlade

必须首先在 Informix Spatial DataBlade 中注册要使用的 Informix 数据库,然后才能使用 ST_Geometry 空间类型。如果不确定连接的数据库对 ST_Geometry 是否可用,请联系 GIS 管理员或数据库管理员。

Informix IConnect

在客户端计算机上安装 Informix IConnect 应用程序并配置 Setnet32 应用程序。除非要使用无 DSN 的连接字符串连接到 Informix,否则必须配置开放式数据库连通性 (ODBC) 连接。

Microsoft SQL Server 数据库

要使用查询图层显示来自 SQL Server 数据库的空间数据,您必须在客户端计算机上安装受支持版本的 SQL Server Native Client。

Netezza 数据仓库设备

要使用查询图层显示来自 Netezza 数据库的空间信息,您必须安装 Netezza 空间包。还必须在 ArcGIS 客户端计算机上安装 Netezza ODBC 驱动程序并配置数据源名称。

Netezza 空间包

您可将以下两种包用于 Netezza 数据库:传统 Netezza Spatial 包和 Netezza Spatial Esri 包。

如果使用的是传统 Netezza Spatial 包,ArcGIS 则要求将空间列命名为 shape。如果该列的名称不为 shape,则需在表中创建一个视图并将该空间列名称的别名设为 shape。

您对所用空间包的选择将影响配置 Netezza ODBC 驱动程序的方法。

Netezza ODBC 驱动程序

必须安装 Netezza ODBC 驱动程序并配置数据源名称。可以从 IBM 获得 Netezza 驱动程序。有关安装和配置 ODBC 驱动程序的信息,请参阅由 Netezza 提供的文档。

如果使用的是传统 Netezza Spatial 包,那么设置 ODBC 数据源名称时就必须将该选项设为优化 ASCII 字符集。 如果使用的是 Netezza Spatial Esri 包,那么配置 ODBC 数据源名称时,请勿将该选项设为优化 ASCII 字符集。

Oracle 数据库

要使用查询图层显示来自 Oracle 数据库的空间数据,该数据库中必须存在空间类型。此外,还必须在您用来连接数据库的计算机上安装并配置 Oracle 客户端。

Oracle 中的空间类型

在 Oracle 中支持两种可以在查询图层中使用的空间类型:ST_Geometry 和 SDO_Geometry。

在 Oracle 中创建企业级地理数据库时安装 ST_Geometry 空间类型,或者可以使用 创建空间类型地理处理工具在 Oracle 数据库中安装该空间类型。使用 ST_Geometry 空间类型还需要配置 Oracle EXTPROC。GIS 管理员或数据库管理员将通知您数据库是否已经配置为使用这种空间类型。Oracle Locator 对象,包括 SDO_Geometry 类型,默认情况下均存在于 Oracle 数据库中。因此,您可在不进行其他安装的情况下访问SDO_Geometry 类型;但若要访问全部 SDO_Geometry 函数,则可能需要在数据库中安装 Oracle Spatial。

Oracle 客户端

在客户端计算机上安装 Oracle Net 应用程序。可从 Esri 客户关怀中心门户获取 Oracle Instant Client 或从 Oracle 获取 Instant 或完整客户端。

PostgreSQL 数据库

要使用查询图层显示来自 PostgreSQL 数据库的空间数据,该数据库中必须存在空间类型。此外,还必须在您用来连接数据库的 ArcGIS 客户端的 bin 目录中放置 PostgreSQL libpq 文件。

PostgreSQL 中的空间类型

在 PostgreSQL 中支持两种可以在查询图层中使用空间类型:ST_Geometry 和 PostGIS geometry。

ST_Geometry 类型可以在 PostgreSQL 中创建企业级地理数据库时安装,也可以使用 创建空间类型地理处理工具在 PostgreSQL 数据库中安装。 PostGIS 几何类型必须单独安装在 PostgreSQL 数据库服务器上。一旦安装完毕,所使用的数据库必须通过 PostGIS 模版数据库创建或者必须配置为使用 PostGIS,这样才能够使其存储 PostGIS 几何类型。

联系 GIS 管理员或数据库管理员来确定数据库是否已经配置为使用这些空间类型中的任何一种。

Teradata 数据库

要使用查询图层显示来自 Teradata 数据库的空间数据,必须在您用来连接数据库的计算机上安装 Teradata GSS 客户端、ICU 库和 ODBC 驱动程序,并且配置数据源。

在 ArcGIS 客户端计算机上依次安装 Teradata ICU 库、GSS 客户端和 ODBC 驱动程序。您可从 Teradata 获取这些文件。 然后,为 Teradata 数据库配置数据源名称。 ArcGIS 要求将 Teradata 要素类中的空间列命名为 shape。如果该列的名称不为 shape,则需在表中创建一个视图并将该空间列名称的别名设为 shape。

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)