迁移到文件地理数据库

在各种类型的地理数据库中,文件地理数据库与个人地理数据库最为相似,因为它们都被设计为由单个用户进行编辑且不支持地理数据库版本化。对它们的操作方式也都相同,无论是显示、查询、编辑、处理数据,还是开发应用程序。但是,这两者之间还是存在一些重要的差异。例如,个人地理数据库具有 2 GB 的存储限制,而文件地理数据库则没有存储限制,且结构化查询语言 (SQL) 语法在二者间也稍有不同。如果您习惯于使用个人地理数据库,但想要迁移到文件地理数据库,本主题指出了这些差异并介绍如何着手。

有关文件地理数据库与个人地理数据库及 ArcSDE 地理数据库之间差异的简介,请参阅地理数据库类型栅格数据在地理数据库中的存储方式

创建新文件地理数据库

要创建一个空的新文件地理数据库,在 Catalog 目录树中右键单击某个文件系统文件夹,指向“新建”,然后单击“文件地理数据库”。有关详细信息,请参阅创建文件地理数据库

迁移现有数据

文件地理数据库具有可自定义单个数据集存储方式的配置关键字。复制与粘贴或导入数据时,虽然默认值通常是适合的,但也可以指定关键字。有关详细信息,请参阅文件地理数据库的配置关键字

创建新数据集

在个人地理数据库中创建要素数据集、要素类、栅格目录、栅格数据集和表的方法与在个人地理数据库中的创建方法相同:右键单击地理数据库或要素类,指向“新建”,然后单击想要创建的项。有关详细信息,请参阅以下主题:

使用 ArcCatalog 创建新数据集

在地理数据库中创建栅格数据集

在地理数据库中创建栅格目录

创建空要素类或表之后,从 Catalog 目录树将数据加载到其中。有关详细信息,请参阅关于将数据加载到现有要素类和表中以及导入栅格数据集

与个人地理数据库不同,无论何时创建新的文件地理数据库要素类、栅格目录、栅格数据集或表,也无论是通过 Catalog 目录树还是地理处理工具,都可以指定配置关键字。配置关键字用于定义数据的存储和访问方式。有关可用关键字的描述,请参阅文件地理数据库的配置关键字

编辑、显示和查询数据

数据集无论是在文件地理数据库中还是个人地理数据库中,它们在 ArcCatalog 和 ArcMap 中看起来都是一样的。同样,除空间索引和 SQL 查询之外(下面会介绍),对数据集的操作方式也相同。所有接受个人地理数据库数据集作为输入的命令和工具同样也接受文件地理数据库数据集。

个人地理数据库要素类的空间索引使用无法修改的单倍格网大小。而文件地理数据库要素类则使用可随时修改的高达三倍的格网大小。ArcGIS 在某些更新操作结束时会自动重新构建空间索引,以确保索引及其格网大小处于最优状态。然而,在极少数情况下,可能需要手动重新计算索引。有关详细信息,请参阅设置空间索引

查询文件地理数据库所使用的 SQL WHERE 子句语法与查询 coverage、shapefile 及其他基于文件的数据源的语法相同,但增加了一些功能,例如支持子查询。因此,WHERE 子句语法是有别于个人地数据库的。ArcGIS 中用于创建 SQL 表达式的对话框可帮助您对要查询的数据使用正确的 WHERE 子句语法,因为它们利用适当的分隔符列出字段名称和值。而且还为您选择相关的关键字和运算符。然而,如果为个人地理数据库中的某个图层定义了一条 WHERE 子句,则一旦将此图层的源数据移动到文件地理数据库之后,这条子句可能不会对同一图层起作用。以下是 WHERE 子句不起作用的可能原因:

用于个人地理数据库的 WHERE 子句语法

用于文件地理数据库的等效语法

[STATE_NAME] = 'California'

"STATE_NAME" = 'California'

[OWNER_NAME] LIKE '?atherine smith'

"OWNER_NAME" LIKE '_atherine smith'

[STATE_NAME] = 'california'(需要进行不区分大小写的搜索时)

LOWER("STATE_NAME") = 'california'

UCASE([LAST_NAME]) = 'JONES'

UPPER("LAST_NAME") = 'JONES'

[DATE_OF_BIRTH] = #06-13-2001 19:30:00#

"DATE_OF_BIRTH" = date '2001-06-13 19:30:00'

这些示例说明如何更改用于个人地理数据库的 SQL,以使其在文件地理数据库中生效

WHERE 子句不起作用的另一个原因是,文件地理数据库支持的运算符和函数比个人地理数据库支持的要少,而且文件地理数据库只对子查询提供有限的支持。然而,这不太可能是 WHERE 子句不起作用的原因。文件地理数据库支持大多数可能需要使用的 WHERE 子句功能。

地理处理

在文件地理数据库上使用地理处理工具的方法与个人地理数据库相比,基本没有任何区别:

压缩矢量数据

与个人地理数据库和 ArcSDE 地理数据库不同,文件地理数据库允许您选择以只读的压缩格式存储矢量数据,以降低存储要求。压缩数据为直接访问格式。访问时无需解压缩数据:ArcGIS 和 ArcReader 可直接读取。数据看起来与解压缩后是一样的,并且无论是通过 Catalog 目录树中的命令、地理处理还是 ArcObjects,都可以使用相同的方式来执行所有只读操作。有关详细信息,请参阅关于压缩文件地理数据库数据

迁移应用程序

如果您用 ArcObjects 编写了一个应用程序,并想要将该应用程序访问的数据从个人地理数据库切换到文件地理数据库,可考虑以下操作:

除这些差异之外,ArcObjects 在文件地理数据库上的工作方式与在个人地理数据库上是相同的。

性能提示

以下信息可帮助您提高和维护文件地理数据库的性能:

相关主题


7/10/2012