移动地理数据库

移动地理数据库 (.geodatabase) 是磁盘上单个文件中包含的 GIS 数据集的集合,可以存储、查询和管理空间数据和非空间数据。 移动地理数据库将自动提供给所有 ArcGIS AllSource 用户,并可以使用多种方法创建,包括创建移动地理数据库地理处理工具,以及通过在工程文件夹中创建移动地理数据库。 有关创建移动地理数据库的步骤和其他选项的信息,请参阅创建移动地理数据库

移动地理数据库一次仅供一位用户或一个应用程序使用。

警告:

切勿将移动地理数据库存储在文件共享或云驱动器上以供多人访问,除非文件共享或云驱动器不允许写入权限。 要共享移动地理数据库的内容,可以复制、移动、通过电子邮件发送或将其写入 USB 设备,以便需要访问其内容的人员从其本地驱动器进行访问。

优势

移动地理数据库存储在 SQLite 数据库中,具有以下优势:

  • SQLite 是一个应用领域广泛、稳定且值得信任的数据库。
  • SQLite 是公共域中的开源数据库,因此不需要许可。
  • SQLite 数据库受跨平台支持,并且存储在磁盘上的单个文件中,从而使其具有可移植性和高效的数据交换格式。
  • SQLite 是一个功能齐全的关系数据库,允许查询和报告工作流,并支持诸如视图和索引等操作。
  • SQLite 可互操作,并且在移动应用程序开发中普遍存在。

移动地理数据库使用 Esri ST_Geometry 空间类型。 可以使用 SQL 客户端通过 SQL 语句来访问空间数据,这些 SQL 语句实现了 ISO SQL/MM 空间标准和 Open Geospatial Consortium (OGC) 的简单要素规范。 如果具有数据的 SQL 访问权限,则可以使用其他应用程序来查询或生成有关在移动地理数据库中存储的数据的报表。 有关如何启用 ST_Geometry 扩展模块的信息,请参阅将 ST_Geometry 加载到移动地理数据库以进行 SQL 访问

警告:

使用 SQL 来更改或编辑在移动地理数据库内存储的数据集的数据或架构可能会损坏地理数据库架构。

移动地理数据库是 ArcGIS AllSourceArcGIS Maps SDKs 之间互操作工作流的基础。 将来,移动地理数据库将在 ArcGIS Maps SDKs 和移动应用程序的 Esri 套件中启用增强的工作流和应用程序。

提示:

所有移动地理数据库都存储在 SQLite 数据库中,但并非所有 SQLite 数据库都是移动地理数据库。

数据集

移动地理数据库包含系统表、索引、触发器和视图,以提供除了允许您使用简单要素(例如点、多点、多面体、多边形、线几何和真实曲线)之外的其他地理数据库功能。

您添加到移动地理数据库的数据可以存储在以下数据集类型中:

注:

有关要素类和表名长度以及其他大小限制的信息,请参阅移动地理数据库的大小和名称限制

移动地理数据库支持以下地理数据库行为:

共享数据

您可以将数据从移动地理数据库共享(发布)到 ArcGIS OnlineArcGIS Enterprise 门户。 要共享 ArcGIS AllSource 中的内容,您必须具有一个属于 ArcGIS 组织的帐户并且必须具备创建、更新和删除内容并发布的权限

数据可以作为 web 要素图层web 切片图层矢量切片图层web 场景图层从移动地理数据库发布到 ArcGIS OnlineArcGIS Enterprise。 要共享将所有数据复制到 ArcGIS OnlineArcGIS Enterprise 的 web 图层,需要创建和发布托管图层的权限

数据也可以作为地图图像图层从移动地理数据库发布到 ArcGIS Enterprise。 要将引用注册数据的地图图像图层共享到 ArcGIS Enterprise 门户,需要创建内容和发布基于服务器的图层的权限

ArcGIS Enterprise 11 是从移动地理数据库发布数据的最低支持版本。 要发布地图图像图层,您必须将移动地理数据库放在一个文件夹中,该文件夹已注册到您在发布时将选择的 ArcGIS Server 站点。 有关 ArcGIS AllSource 中数据注册的详细信息,请参阅管理注册的数据存储。 有关注册文件夹和所需权限的信息,请参阅使数据可供 ArcGIS Server 访问

了解有关ArcGIS AllSource 中共享您的工作或者有关移动地理数据库和 ArcGIS Enterprise 的详细信息。

数据集属性

可以从 ArcGIS AllSource 中的内容目录窗格访问移动地理数据库中的数据集属性。 要素类属性对话框用于设置别名以及空间和属性索引。

要打开要素类属性对话框,请在目录窗格或目录视图中右键单击表或要素类,然后单击属性。 在要素类属性对话框中,某些属性是可编辑的,而其他属性是只读的。

移动地理数据库中的要素类属性

数据管理

移动地理数据库无需身份验证或授权即可访问其内容。 因此,有权访问移动地理数据库的所有人都可以编辑其数据。 编辑移动地理数据库中的数据时,可撤消和重做编辑操作。

提示:

有关在移动地理数据库中进行编辑时如何应用锁的信息,请参阅移动地理数据库和锁定进程

移动地理数据库管理

您只能在移动地理数据库上执行一些管理任务,包括创建重命名移动压缩地理数据库。

仅限通过 ArcGIS 执行与地理数据库功能进行交互的所有操作。

如上所述,移动地理数据库 (.geodatabase) 以 SQLite 为基础构建而成。SQLite 是独立的数据库文件格式,将数据库存储在磁盘上的单个文件中,该文件可以位于目录中的任何位置。 此单个文件最多可容纳 2 TB 的数据,易于移植,在各个平台上均受支持。

SQLite 数据库文件有两个名称:

  1. 逻辑名称,即与 SQL 命令一起使用的 SQLite 数据库名称,无论数据库文件名如何,其名称均为 main。
  2. 物理文件名,这是数据库文件名的路径。
移动地理数据库中的表属性

SQLite 数据库路径由文件路径、数据库名称和文件扩展名组成。

例如,如果您使用创建移动地理数据库地理处理工具来创建一个名为 Project1 的移动地理数据库,并将其存储在 Microsoft Windows 操作系统的 C: 盘的子文件夹中,则该移动地理数据库的数据库路径将类似于以下内容:C:\Data\GISData\Projects\Mobile_Geodatabase\Project1.geodatabase

由于 SQLite 是关系数据库,因此您可以在除了 ArcGIS 之外的软件中使用 SQL 来查看移动地理数据库的内容。 使用 SQL 访问的 SQLite 数据库使用逻辑数据库名称。 使用 SQL 访问 SQLite 数据库时,名为 main 的数据库是为主数据库保留的,并且无论物理数据库文件名如何都可以使用该数据库。 SQLite 中的限定表名是 main.<table name>SQLite 中的限定列名将采用 <table name>.<column name><database name>.<table_name>.<column name> 格式。

例如,如果您使用 SQL 从 ParcelOwners 表的 Tax_ValueOwner_Name 列中获取数据,请使用以下语句:SELECT Main.ParcelOwners.Owner_Name, Main.ParcelOwners.Tax_Value FROM Main.ParcelOwners