Query Layer 介绍 题记 Query Layer 的具体介绍大家在 2010 年 Esri 中国北方用户大会分发的 ArcGIS 中国通讯上已经有《ArcGIS10 新特性之 Query Layer 介绍》,这里面就不做重复的说明了。下面所介绍的就是对文中没有涉及知识的相关补充。 概念 Query Layer 是通过 SQL 查询定义的图层或独立表。通过查询图层可将空间信息和非空间信息都存储在 DBMS 中,从而使这些信息可以轻松地整合到 ArcMap 中的各 GIS 项目。 其实就是把我们的空间数据图层的概念看作成后台数据库存储的表的概念,因为我们通常习惯于利用 SQL 语句来直接操作属性表,但是对空间数据图层来说在 ArcGIS10 之前是不支持的,鉴于大家对 SQL 的喜爱,Esri 在 ArcGIS10 就引入了 Query Layer,它就可以直接使用 SQL 语句进行查询或者空间数据与属性数据的联表查询。 使用前 必须采用当前使用的 ArcGIS 版本支持的 DBMS 版本。 查询图层定义中必须包括在查询图层中用作对象 ID 的唯一、非空的列或列组合。 根据所使用的 DBMS 类型,可能需要在 DBMS 中进行一些必要的配置来使用空间类型。 另外,根据 DBMS 类型,可能需要在从中创建查询图层连接的每个客户端计算机上进行一些配置。 特点 保存为文件 通过另存为图层文件 (.lyr)、创建图层包 (.lpk) 或通过地图包 (.mpk) 绑定地图和关联数据,查询图层可在用户之间、应用程序之间和其他地图文档之间轻松地实现共享。 其实这个文件与我们经常使用的 MXD 文件有异曲同工之妙,该文件并没有存储真正的查询数据信息,而是存储了服务器连接信息、查询过滤条件信息,这样也就保证我们随时可以查询最新的信息。 案例 为了证明新增数据可以同步在 Query Layer 显示,笔者进行了相关测试。 环境:Oracle 数据库、ArcMap10、ArcSDE10 1:新建一个 Query Layer 图层 2:选择数据连接 3:针对一个图层或者一个图层与普通表进行条件过滤或者联表查询条件过滤 4:参数添加完毕后,Query Layer 就可以加载到 ArcMap 上了,然后也可以另存为上面 所 说 的 相 关 格 式 文 件 。 假 如 我 们 将 Query Layer 存 储 为 XX.lyr 文 件 ,C:\Users\gis\AppData\Roaming\ESRI\Desktop10.0\ArcMap 文 件 夹 下 会 产 生 一 个***.qcf 存储 Query Layer 的连接信息文件。 5:编辑当前源数据文件,修改相关属...