ArcGIS 中的查询图层是由 SQL 查询定义的数据库中的空间图层或独立表。您可以建立数据库连接,并从数据库中向您的地图中添加图层或表。由于查询图层将通过 SQL 对数据库表和视图进行直接查询,所以查询图层所使用的空间信息不需要位于地理数据库中。
当您从地理数据库添加空间表(要素类)至地图时,ArcGIS 从地理数据库系统表格读取空间信息来绘制要素。相反地,当您从数据库添加空间表至地图时,ArcGIS 查询数据库来确定其绘制要素所需要的信息,包括唯一标识符字段 (ObjectID)、图层是否包括 z 或 m 坐标、几何类型(点、交汇点、线或面)、空间参考以及数据的空间范围。ArcGIS 查询表格来获取信息,因为大多数数据库不存储每个图层的此信息。
您可以通过将表拖动至地图在 AcrMap 中创建查询图层,如上文所提,且 AcrGIS 定义了可从表中返回所有数据的 SQL 查询。您可以修改查询图层来筛选数据或将表连接至另一表格。此外,您可以使用新建查询图层对话框定义查询图层。这使您能够在绘制所有数据前建立 SQL 查询。如果您只想要地图中数据的子集,此功能大有用处。
每次在 ArcMap 中显示或使用该图层时都将执行该查询。这样,无需生成数据的副本或快照便可显示最新信息,这尤其适用于处理频繁更改的动态信息。查询图层功能适用于 ArcGIS 支持的所有 DBMS。
使用查询图层快速浏览
- 要使用地图中的查询图层,将表从数据库或地理数据库拖动至地图上,或使用新建查询图层对话框针对数据库中的表与视图定义一个查询。
- 查询图层类似于任何其他要素图层或单独表,所以这些图层可用于作为地理处理工具的输入来显示数据,或使用开发人员 API 通过编程方式进行访问。
- 在创建了查询图层后,您可以将其以图层文件 (.lyr) 保存,或用来创建图层包 (.lpk)。这样就可以很容易地与其他应用程序、地图文档和他人共享查询图层。