Arcpy学习笔记(一):查看ArcGis数据库中的数据

通过将数据库表从 ArcMap 内的目录窗口拖动到地图,您可以查看数据库表中的数据。完成后,ArcMap 将在地图中创建一个查询图层。

先说下什么是查询图层:

查询图层是存储在 ArcMap 地图中的 SQL 查询。 您可通过查询图层访问数据库中的空间和非空间表和视图。由于查询图层直接使用 SQL 访问数据库,因此数据不必是企业级地理数据库的一部分,但是您可以根据需要为企业级地理数据库表和要素类定义查询图层。例如,您可能没有数据库中创建视图的权限,但您希望对要素类中将显示在地图中的数据进行限制。您可以在地图中创建查询图层,该查询图层将仅从要素类中选择某些字段或值。

怎么闯将查询图层:

请通过定义 SQL 查询的方式创建查询图层。查询将针对您指定的数据库中的表和视图运行,如果查询包含空间列,则结果集将作为图层添加到地图上;如果查询不包含空间列,则结果集将作为独立表添加到地图上。

定义查询图层的 SQL 查询是一个静态 SQL 语句,每次在地图中显示或使用图层时都会在数据库内部执行 SQL 查询。这样即可在不复制或捕捉数据的情况下看到最新的信息。在处理频繁变动的动态信息时,此功能大有用处。

使用查询图层时,请谨记以下信息:

  • 特定数据库管理系统支持查询图层。
  • 要使用地图中的查询图层,可以将数据库中的表拖拽到地图中,或者使用新建查询图层对话框对数据库或企业级地理数据库中的表或视图定义查询。
  • 将数据库表添加或拖动到地图时,ArcMap 会自动创建一个查询图层,该查询图层将从表中选择所有字段和行。 您可以通过从图层属性修改查询图层定义来更改地图中的可用内容。
  • 或者,您可以在将数据添加到地图之前定义查询图层。您必须使用此方法为企业级地理数据库中的数据定义查询图层。
  • 查询图层和地图中的任何其他要素图层或独立表一样;可将其用作地理处理工具的输入来显示数据,或使用开发人员 API 通过编程方式进行访问。
  • 创建查询图层后,您可以将其保存为图层文件 (.lyr) 或用其创建一个图层包 (.lpk)。这样您就可以与其他应用程序、地图文档和其他人员共享查询图层了。
  • 您可以将数据从查询图层导出到另一个数据库或企业级地理数据库。

哪些数据将显示在地图上面:

将数据从数据库添加到地图时,将应用以下规则:

  • 未映射到 ArcGIS 数据类型的数据类型不会显示在 ArcGIS 中。
  • 要素类必须包含一个空间参考和一种几何类型:点、线或面。ArcGIS 通过表的元数据或表中第一行确定空间参考和几何类型。如果无法确定空间参考,则系统将提示您提供空间参考信息。仅显示该类型的要素和空间参考。
  • 要素类可以仅包含一个空间列。ArcGIS 将使用遇到的第一个空间列(从左到右读取要素类)。如果您的表包含多个空间列,且您不想使用第一个空间列,则请修改查询图层以包括另一空间列。
  • ArcGIS 不会对表和字段名称放置分隔符。地图上不会显示名称或字段名称中需要分隔符的表。有关详细信息,请参阅数据库数据和 ArcGIS
  • 要素必须通过 ArcGIS 几何验证

向地图添加数据库数据:

以下步骤介绍了 ArcMap 中数据的查看方法:

  1. 启动 ArcMap,打开目录窗口,然后连接到数据库。

    您将看到数据库中具有访问权限的表的列表。包含空间列(要素类)的表具有一个位于底部的方形表图标

    未知实体类型的空间表

  2. 在目录树中单击表将其选中。

    如果数据包含空间列,则双击该表即可连接。图标将发生变化以反映 ArcMap 确定的几何类型已存储在表中。

  3. 要查看数据,可以将表从目录窗口拖动到内容列表或地图中。
  4. 如果 ArcMap 无法确定显示要素类所需的某些信息,新建查询图层对话框将自动打开以允许您定义缺少的信息。提供所需的信息后,单击完成。
  5. 如果拖入了要素类,ArcMap 将计算数据的空间范围。
    • 如果要素类含有少量要素,则可以使用 ArcMap 完成计算;这样通常不会花费太长时间而且结果将较为准确。
    • 但是,如果要添加一个包含大量要素的要素类,范围的计算则需要花费较长时间。如果了解数据范围或想要使用空间参考的范围,而不是等待 ArcMap 计算范围,则可以执行此操作。在计算范围对话框上单击相应按钮。如果单击输入范围,则必须输入包括表中所有要素的有效范围。如果单击使用空间参考范围,则数据范围将设置为要素类空间参考的完整范围。

    要素类(或表)在内容列表中列出,空间数据在地图上进行绘制。

  6. 要查看要素类和表中的属性数据,右键单击内容列表中的表并单击打开。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值