Query Layer介绍【DOC精选】.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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:编辑当前源数据文件,修改相关属性,使其在过滤条件之内。 6:重新加载Query Layer文件,发现并没有实时的将最新的数据给加载上去。 这是为什么呢? 解决方式:查看帮助,ArcGIS10有中文帮助,肯定让不少GISer为之疯狂。 如果在 ArcSDE 地理数据库中对版本化的要素类定义了查询,则查询将只返回基表中的数据;而不会返回添加表(Add 表)或删除表(Delete 表)中的任何信息。 看到这个信息就恍然大悟,原来这个Query Layer针对版本数据时这个概念啊!这点相似于版本与历史归档的关系。 感觉这个让用户有点不爽了,编辑完数据,必须实时的进行Compress,才能使数据进行同步了。 扩展 鉴于Query Layer可以保存为一个文件而不用保存数据的特点,我们在使用ArcGIS Engine开发的时候,也可以事先把我们经常要使用的查询语句所对应的数据以Query Layer的文件形式保存,到时候我们直接可以加载该*.lyr文件,然后再进行相关分析。 案例 在国土行业中,我们会使用地类图斑这个面状图层进行相关分析,因为该图层包含一个土地用途的字段(土地用途就是将不同的土地利用以不同的利用代码),因为该土地用途包含了我们使用的所有代码,但是我们有时候针对的数据往往可能是,我专门对耕地(011,012,013)或者建设用地(201等)这些进行分析或者统计,那么我们就可以事先创建不同的Query Layer进行分析,不用每次就进行先查询后分析的过程了。 Query Layer比较 Query Layer VS. Definition Query Definition Query:单个要素类、动态显示、非保存 只是对某一个要素类进行过滤条件的查询,而且这些数据不能以文件的形式保存(注意不是将数据导出,而是说,我进行该方式的查询,如果再一次使用同样的条件只能将Where条件重新输入。 Query Layer VS. Join Join:可以进行单个要素与属性表的连接,动态显示、非保存 这一点其实与上面的Definition Query比较类似。而且Join不能处理1对多的关系。 Query Layer VS. ArcSDE视图 ArcSD

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档