移动地理数据库 (.geodatabase) 是磁盘上单个文件中包含的各种类型 GIS 数据集的集合,可以存储、查询和管理空间数据和非空间数据。 移动地理数据库将自动提供给所有 ArcGIS Pro 用户,并可以使用多种方法创建,包括创建移动地理数据库地理处理工具,以及通过在工程文件夹中创建移动地理数据库。 有关创建移动地理数据库的步骤和其他选项的信息,请参阅创建移动地理数据库。
优势
移动地理数据库存储在 SQLite 数据库中,具有以下优势:
- SQLite 是一个应用领域广泛、稳定且值得信任的数据库。
- SQLite 是公共域中的开源数据库,因此不需要许可。
- SQLite 数据库受跨平台支持,并且存储在磁盘上的单个文件中,从而使其具有可移植性和高效的数据交换格式。
- SQLite 是一个功能齐全的关系数据库,允许查询和报告工作流,并支持诸如视图和索引等操作。
- SQLite 可互操作,并且在移动应用程序开发中普遍存在。
移动地理数据库使用 Esri ST_Geometry 空间类型。 可以使用 SQL 客户端通过 SQL 语句来访问空间数据,这些 SQL 语句实现了 ISO SQL/MM 空间标准和 OGC 的简单要素规范。 如果具有数据的 SQL 访问权限,则可以使用其他应用程序来查询或生成有关在移动地理数据库中存储的数据的报表。 有关如何启用 ST_Geometry 扩展模块的信息,请参阅将 ST_Geometry 加载到移动地理数据库以进行 SQL 访问。
警告:
使用 SQL 来更改或编辑在移动地理数据库内存储的数据集的数据或架构可能会损坏您的架构。
移动地理数据库是 ArcGIS Pro 和 ArcGIS Runtime 之间互操作工作流的基础。 将来,移动地理数据库将在 ArcGIS Runtime 和移动应用程序的 Esri 套件中启用增强的工作流和应用程序。
提示:
所有移动地理数据库都存储在 SQLite 数据库中,但并非所有 SQLite 数据库都是移动地理数据库。
数据集
移动地理数据库包含系统表、索引、触发器和视图,这些提供了地理数据库功能以与简单要素一起使用,例如点、多点、多面体、多边形、线几何和真实曲线。
您添加到移动地理数据库的数据可以存储在以下数据集类型中:
注:
有关要素类和表名长度以及其他大小限制的信息,请参阅移动地理数据库的大小和名称限制。
移动地理数据库支持以下地理数据库行为:
共享数据
您可以将数据从移动地理数据库共享到 ArcGIS Online 和 ArcGIS Enterprise 门户。 要共享 ArcGIS Pro 中的任何内容,您必须具有一个属于 ArcGIS 组织的帐户并且必须具备创建、更新和删除内容并发布的权限。
数据可以作为 web 要素图层、web 切片图层、矢量切片图层或 web 场景图层从移动地理数据库发布到 ArcGIS Online 或 ArcGIS Enterprise。 共享将所有数据复制到 ArcGIS Online 或 ArcGIS Enterprise 的 web 图层需要额外权限才能发布托管图层。
数据也可以作为地图图像图层从移动地理数据库发布到 ArcGIS Enterprise。 将引用注册数据的地图图像图层共享到 ArcGIS Enterprise 门户需要额外权限才能发布基于服务器的图层。
ArcGIS Enterprise 11 是从移动地理数据库发布数据的最低支持版本。 要发布地图图像图层,您必须将移动地理数据库放在一个文件夹中,该文件夹已注册到您在发布时将选择的 ArcGIS Server 站点。 有关 ArcGIS Pro 中数据注册的详细信息,请参阅管理注册的数据存储。 有关注册文件夹和所需权限的信息,请参阅使数据可供 ArcGIS Server 访问。
了解有关在 ArcGIS Pro 中共享您的工作或者有关移动地理数据库和 ArcGIS Enterprise 的详细信息。
属性
可以从 ArcGIS Pro 中的内容和目录窗格访问移动地理数据库中的数据集属性。 要素类属性对话框用于设置别名以及空间和属性索引,并在目录窗格中进行管理。
要打开要素类属性对话框,请在目录窗格或目录视图中右键单击表或要素类,然后单击属性。 在属性对话框中,某些属性是可编辑的,而其他属性是只读的。
数据管理
您只能在移动地理数据库上执行一些管理任务,包括创建、重命名和移动地理数据库。 移动地理数据库不包含身份验证或授权功能,一次只能供一个人或一个应用程序使用,并且在编辑时支持撤消和恢复。 地理数据库级别的任何操作只能通过 ArcGIS 来执行。 有关在移动地理数据库中进行编辑时如何应用锁的详细信息,请参阅移动地理数据库和锁定进程。
移动地理数据库 (.geodatabase) 以 SQLite 为基础构建而成。SQLite 是独立的数据库文件格式,将数据库存储在磁盘上的单个文件中,该文件可以位于目录中的任何位置。 此单个文件最多可容纳 2 TB 的数据,易于移植,在各个平台上均受支持。
SQLite 数据库文件有两个名称:
- 逻辑名称,即与 SQL 命令一起使用的 SQLite 数据库名称,无论数据库文件名如何,其名称均为 main。
- 物理文件名,这是数据库文件名的路径。
SQLite 数据库路径由文件路径、数据库名称和文件扩展名组成。
例如,如果您使用创建移动地理数据库地理处理工具来创建一个名为 Project1 的移动地理数据库,并将其存储在 Microsoft Windows 操作系统的 C:\ 盘的子文件夹中,则该移动地理数据库的数据库路径将类似于以下内容:C:\Data\GISData\Projects\Mobile_Geodatabase\Project1.geodatabase。
由于 SQLite 是关系数据库,因此您可以在第三方软件中使用 SQL 来访问移动地理数据库的内容。 使用 SQL 访问的 SQLite 数据库使用逻辑数据库名称。 使用 SQL 访问 SQLite 数据库时,名为 main 的数据库是为主数据库保留的,并且无论物理数据库文件名如何都可以使用该数据库。 SQLite 中的限定表名是 main.<table name>,SQLite 中的限定列名将采用 <table name>.<column name> 或 <database name>.<table_name>.<column name> 格式。
例如,如果您使用 SQL 从 ParcelOwners 表的 Tax_Value 和 Owner_Name 列中获取数据,请使用以下语句:SELECT Main.ParcelOwners.Owner_Name, Main.ParcelOwners.Tax_Value FROM Main.ParcelOwners。
通过 SQL 访问移动地理数据库中的数据不需要许可,因为底层软件 SQLite 不需要许可。