要降低存储要求,可将矢量文件地理数据库要素类和表(在本主题的余下部分统称为数据集)压缩为只读格式。压缩后,显示与查询的性能仍然可以与解压缩后的数据相比拟。您会发现,在某些操作中性能会稍微提升,但在其他操作中速度则会稍微下降。
文件地理数据库数据有两种压缩方式:无损压缩和非无损压缩(或有损压缩)。采用无损压缩方式压缩数据时,无论要素类或表中含有何种坐标系或属性数据类型,信息都不会丢失,并且所有浮点值都将保存下来。采用有损压缩(ArcGIS for Desktop 10.1 中新增的选项)方式压缩文件地理数据库数据时,压缩效果可提高 20%,但浮点型的数值将会发生改变。如果您需要最大程度的压缩且数据本身准确度并不是特别高,或者您不关心数据是否百分之百地精确(比如以 1:1000000 或更大比例压缩数据时),有损压缩是一种很好的选择。
压缩数据集与解压缩数据之间的不同之处在于编辑:压缩数据集为只读形式,因此除了可以更改其名称以及修改属性索引和元数据之外,无法对其进行任何形式的编辑或修改。
压缩后,数据集在 ArcCatalog 和 ArcMap 中与其被解压之后看起来是一样的。而且,除了编辑之外,使用方式也是相同的。压缩数据是一种直接访问格式,所以无需在每次访问时都进行解压缩;ArcGIS 和 ArcReader 可直接读取。
压缩特别适用于无需进行进一步编辑的成熟数据集。然而,如果需要,始终可以对压缩数据集进行解压,使其返回到初始的读取/写入格式。
压缩数据
可以压缩地理数据库、要素数据集、独立要素类或表。
要压缩文件地理数据库,请在目录树中右键单击该文件地理数据库,然后单击管理 > 压缩文件地理数据库...,再单击确定。
要压缩要素数据集、独立要素类或表,请在目录树中右键单击要压缩的对象,然后单击管理 > 压缩文件地理数据库...,再单击确定。
压缩地理数据库时,会压缩其中包含的所有要素类和表。压缩要素数据集时,会压缩它的所有要素类。
使用“数据管理”工具箱中“文件地理数据库”工具集中的地理处理工具,同样可以完成压缩和解压缩操作。有关详细信息,请参阅“文件地理数据库”工具集概述。
压缩要素类或表与其解压后看起来是一样的,但通过查看 ArcCatalog“内容”选项卡上要素类和表的列表,可以了解数据是否进行了压缩。压缩要素类或表的“类型”列中会显示“(压缩)”。
通过打开要素类或表的“属性”对话框,也可以了解数据是否进行了压缩。“常规”选项卡会指示数据是否已被压缩。
压缩的优点
压缩的文件地理数据库数据与解压后的数据相比所占用的磁盘空间更少,而同时仍可提供与之相当的显示与查询性能。
要素类和表的压缩量可能小到可以忽略不计,也可能大到压缩比超过 4:1。坐标的组成以及属性字段的数量及其内容决定了可能达到的压缩程度。
对要素类最为重要的因素是每个要素的平均折点数。点和简单二折点线的压缩程度要比具有很多折点的线或面要素的压缩程度高。例如,具有极少折点的地址点或道路要素类的压缩比可达到 3:1,但每个要素都有很多折点的河流或土壤数据要素类的压缩比可能只有 3:2。具有很多折点的要素在解压缩时已进行了高效存储,所以压缩空间相对较小。属性字段也对压缩程度起着决定性作用:文本、整型和日期字段比浮点型和双精度字段的压缩效果要好。
以下示例将对解压缩和已压缩格式的文件大小进行比较。相对于原始大小,获得最大压缩比的要素类“欧洲地点”是一个点要素类。而获得最小压缩比的要素类“墨西哥道路”是一个其中每个要素都具有很多折点的线要素类。
要素类 | 解压缩大小 | 压缩后大小 | 压缩比 |
---|---|---|---|
欧洲地点(61,541 个点要素,14 个字段) | 6.2 MB | 0.67 MB | 9.3 |
美国人口普查区块(8,205,055 个点要素,11 个字段) | 705 MB | 80 MB | 8.8 |
加利福尼亚道路(2,092,079 个线要素,29 个字段) | 329 MB | 60 MB | 5.5 |
欧洲铁路(383,531 个线要素,12 个字段) | 58 MB | 9.7 MB | 6.0 |
卡尔加里地址(285,285 个点要素,8 个字段) | 21 MB | 6.4 MB | 3.3 |
卡尔加里建筑物(319,000 个多边形要素,9 个字段) | 48 MB | 20 MB | 2.4 |
美国河流与溪流(2,844,231 个线要素,9 个字段) | 878 MB | 288 MB | 3.0 |
美国的县(3,140 个多边形要素,57 个字段) | 1.6 MB | 0.8 MB | 2.5 |
欧洲的水域(232,375 个多边形要素,10 个字段) | 176 MB | 70 MB | 2.5 |
美国交通分析区(166,747 个多边形要素,10 个字段) | 68 MB | 35 MB | 1.9 |
墨西哥道路(5,847 个线要素,7 个字段) | 3.5 MB | 1.6 MB | 2.2 |
通常,表的压缩比可超过 2:1。冗余是最重要的因素;字段记录中值不经常发生变化的字段与具有许多唯一值的字段相比,前者的压缩效果更好。与要素类一样,文本、整型和日期字段比浮点型和双精度字段的压缩效果要好。
虽然可以压缩任何大小的数据,但将压缩应用于较大数据是最有用的。压缩大型数据集或许多中小型数据集可节省大量的存储空间,当磁盘空间很紧张或试图将数据放入 CD 或 DVD 中时,这会非常有用。例如,可将 8.9 GB 的美国人口普查区块数据文件地理数据库压缩到 3.4 GB - 小到足以放入 DVD 中。
最小化存储要求时,请牢记文件地理数据库压缩并不是可供使用的唯一选择。如果数据以小于必要分辨率的 x,y 分辨率进行存储,则可通过在压缩前将数据重新加载为较大分辨率的方法来降低存储要求。例如,如果有一个以默认 1/10 毫米分辨率进行存储的数据集,但您已经知道该数据只精确到 1 米,则可以将数据重新加载为 1 米分辨率。举个例子来说,将 1/10 毫米分辨率的“卡尔加里建筑物”要素类重新加载为 1 米分辨率可将存储空间从 48 MB 降低到 31 MB。而压缩这个 31 MB 的要素类可进一步将数据大小缩减到 12 MB。
要素类 | 解压缩大小 | 压缩后大小 |
---|---|---|
卡尔加里建筑物,0.0001 米分辨率 | 48 MB | 20 MB |
卡尔加里建筑物,1.0 米分辨率 | 31 MB | 12 MB |
要将要素类重新加载为不同的分辨率,需将数据导出到一个新的要素类。在目录树中右键单击相应的要素类,然后选择“导出”>“转出至地理数据库”(选择“批量”命令可一次导出多个要素类)。在“环境”对话框上指定新的分辨率,然后导出。有关详细信息,请参阅 XY 分辨率、Z 分辨率以及要素类至要素类。
可以压缩的数据
可以压缩地理数据库、要素数据集、独立要素类或表。压缩地理数据库时,会压缩其中包含的所有要素类和表。压缩要素数据集时,会压缩它的所有要素类。将跳过任何无法压缩的项。下表概括了目录树中可以压缩以及无法压缩的项。
文件地理数据库数据 | 是否可以压缩 |
---|---|
地理数据库 | 是(将压缩地理数据库中的所有矢量要素类和表。) |
要素数据集 | 是(将压缩要素数据集中的所有矢量要素类。) |
要素类(仅限独立要素类) | 是 |
表 | 是 |
栅格数据集 | 否 |
栅格目录 | 否 |
Terrain | 否 |
逻辑示意图 | 否 |
地籍结构 | 否 |
测量数据集 | 否 |
无法单独压缩或解压缩要素数据集中的某一个要素类。要压缩或解压缩要素数据集中的一个要素类,必须压缩或解压缩要素数据集中的所有要素类。
文件地理数据库地理处理工具只以一种受限的方式支持栅格数据集和目录的压缩,即可压缩数据集和目录之一;但是不推荐执行此操作,因为这并不会降低存储要求。严格提供这种支持是为了使 ArcGIS Publisher 在对压缩和锁定的文件地理数据库栅格数据集和目录进行打包时能够对地理处理工具进行访问。
处理压缩数据时的限制
除了无法编辑压缩要素类或表之外,下面将介绍一些较小的限制。
压缩要素类或表之后,无法修改以下属性:
- 坐标系信息
- 子类型、属性域和默认值
- 字段及其属性
- 制图表达
可以修改的属性只有要素类或表的别名以及属性索引。
压缩要素数据集允许您通过创建一个空的新要素类、复制与粘贴以及导入等操作来添加解压缩要素类。这会产生一种混合状态,即要素数据集中的某些要素类为压缩形式,而其他要素类却不是。如果要素数据集中既包含压缩要素类又包含解压缩要素类,将无法编辑解压缩要素类。要编辑要素数据集中的要素类,该要素数据集中的所有要素类都必须是解压缩形式。
可以压缩关系类、拓扑、几何网络、网络数据集以及地形中的要素类。但是,也存在与此相关的一些限制:
- 无法通过压缩要素类来创建拓扑或几何网络。
- 一旦压缩了关系类的一方,就无法编辑另一方。这是因为更新解压缩方会要求对只读格式的压缩方进行自动更新。
- 如果压缩了拓扑的要素类,则无法修改该拓扑的属性。
关系类 | 拓扑 | 几何网络 | 网络数据集 | Terrain | |
---|---|---|---|---|---|
是否可以压缩其中的要素类 | 是 | 是 | 是 | 是 | 是 |
是否可以在压缩类上创建 | 是 | 否 | 否 | 是 | 是 |
是否可以编辑属性 | 是 | 否 | 是 | 是 | 是 |