ArcGIS 10.1 新特性之数据库
在 ArcGIS 10.1 中,您可以通过数据库连接 对话框直接连接和使用数据库。数据库中您有权访问的所有数据都将列出在连接之下。
连接成功后,就可以创建数据库用户、向现有表加载数据、添加或删除表、绘制空间数据以及发布服务。要编辑数据,可向 ArcGIS Spatial Data Server 发布可编辑要素服务,然后在 ArcGIS for Desktop 或 Web 应用程序中编辑此服务。有关详细信息,请参阅使用数据库快速浏览。
ArcGIS 中的数据库连接
创建连接
在 ArcGIS 10.1 中,数据库连接 对话框进行了简化,您只需输入较少的内容便可创建连接,此外,还对功能进行了扩展,使您能够连接到任何受支持的数据库,即使其中不包含任何企业级地理数据库。支持的数据库平台如下:
- IBM DB2
- Informix
- Microsoft SQL Server
- Windows Azure SQL Database
- Netezza
- Oracle
- PostgreSQL
首先,针对您的数据库管理系统 (DBMS) 安装数据库客户端,以便从 ArcGIS 连接到数据库。您可以从 DBMS 供应商处获取对应的数据库客户端。或者,对于除了 Netezza 之外的所有数据库安装数据库的客户端,您可以从 Esri 客户关怀中心门户下载对应的客户端安装程序。
然后,在 ArcGIS for Desktop 中打开数据库连接 对话框,选择要连接的数据库,然后提供连接信息。以下是连接到 PostgreSQL 数据库的一个示例:
可通过目录树中的“数据库连接”节点(以前称为“空间数据库连接”节点)访问此对话框。有关数据库连接的详细信息,请参阅 ArcGIS for Desktop 的数据库连接。
管理员可以创建一个包含必要信息的连接文件,并将其与其他用户共享。有关详细信息,请参阅预配置连接文件。
此外,也可使用新增的创建数据库连接地理处理工具来创建您的数据库连接。它所需要的输入信息与使用数据库连接 对话框时完全相同。此工具位于“数据库管理”工具箱的“工作空间”工具集中。
因为现在可以通过数据库连接 对话框或创建数据库连接工具连接到数据库,所以添加 OLE DB 连接 对话框已从目录树中移除。但是,如果需要,您也可将此工具重新添加到 ArcCatalog 中。有关详细信息,请参阅添加 OLE DB 连接。
连接时更新密码
如果您的数据库密码即将到期,ArcGIS 10.1 将拦截从数据库返回的警告或错误,并为您提供一个对话框,允许您创建新密码。
在 Oracle 或 PostgreSQL 数据库中安装 ST_Geometry 存储类型
新增的创建空间类型地理处理工具可用于在 Oracle 或 PostgreSQL 数据库中安装 ST_Geometry 存储类型及其所有子类型和函数。这样,您就可以使用 ST_Geometry 类型来存储和访问矢量数据而不必创建地理数据库。
创建拥有数据的数据库用户
两个新增地理处理工具可帮助您管理数据库或企业级地理数据库中的用户:创建数据库用户和创建角色。
通过使用创建数据库用户地理处理工具,您可以向 Oracle、PostgreSQL 或 SQL Server 中的数据库添加用户。创建的用户将自动被授予在数据库中创建对象所需的权限。如果您要向其添加用户的数据库角色已存在,则您可在创建用户时执行添加操作。
在 PostgreSQL 中,登录角色是在数据库集群中创建,而相应的方案在指定的数据库中创建。
在 SQL Server 中,将向 SQL Server 实例添加登录,在指定的数据库中创建用户,在数据库中创建相应的方案,并且将指定的数据库设置为用户的默认数据库。如果 SQL Server 实例中已存在操作系统或网络登录,则可以使用创建数据库用户工具将该登录添加到您指定的数据库,然后创建其相应的方案。
在 Oracle 中,在 Oracle 数据库中创建用户。如果已存在同名的操作系统或网络登录,则可以使用创建数据库用户创建指定的 Oracle 数据库中登录所映射到的数据库用户。
通过使用创建角色地理处理工具,你可以在 Oracle、PostgreSQL 或 SQL Server 中创建数据库角色。使用“创建角色”工具,还可以向数据库角色添加用户或用户列表,或从数据库角色移除用户或用户列表。
向数据库加载数据
在 ArcGIS for Desktop 中,您可以从多个数据库或地理数据库中复制数据集并粘贴到数据库中,在数据库中创建新的表和要素类,创建数据库表的视图,以及使用 ArcCatalog 中的“简单数据加载程序”或 ArcMap 中的“目录”窗口或者使用复制要素、复制行或追加地理处理工具向数据库表中加载记录。有关详细信息,请参阅使用数据库快速浏览。
使用数据库数据
无需创建查询图层,便可从数据库映射空间数据。可以将空间表从 ArcMap 目录 窗口中的数据库连接拖动到内容列表内。必要时,可以为数据指定唯一标识符字段和空间参考,这些数据会显示在地图中。
创建包含数据库数据的地图后,您可将这些数据发布到 ArcGIS for Server。如果要编辑数据,可以向 ArcGIS Spatial Data Server 发布一个可编辑的要素服务。
此外,还可以对您在数据库中所拥有的表执行以下操作:
- 重命名表。
- 删除表。
- 添加、删除或重命名字段。
- 截断表。
- 对其他用户或组授予或撤消权限。
- 添加由数据库维护的 ID 字段。如果想要通过一个发布到 ArcGIS Spatial Data Server 的要素服务来编辑数据,则必须具有一个由数据库维护的递增 ID 字段。
通过 ArcGIS for Desktop 建数据库视图
您可以基于数据库中的表或要素类来创建视图,方法是在目录树的“数据库连接”节点下右键单击数据库连接,指向新建,然后单击视图。在打开的对话框中,提供视图名称并构造 SQL 查询来定义该视图。有关详细信息,请参阅在 ArcGIS for Desktop 中创建数据库视图。
此外,还新增了用于创建数据库视图的地理处理工具:创建数据库视图工具。在您的数据库或企业级地理数据库中,您可以使用此工具或 Python 脚本来定义视图。
使用地理处理工具或 Python 脚本创建查询图层
您可以继续创建查询图层并使用它们来从 ArcMap 访问您的数据库数据。ArcGIS 10.1 中新增了以下用于创建查询图层的地理处理工具:创建查询图层工具。
此工具位于“数据管理”工具箱的“图层和表视图”工具集中。
为数据库表重建索引并更新数据库统计数据
表所有者可以使用重建索引地理处理工具或 Python 脚本来重建表的现有索引。该工具可用于同时为多个表重建索引。
要更新数据库表的数据库统计数据,表的所有者可以运行分析数据集地理处理工具或 Python 脚本。