要降低存储要求,可将表和矢量文件地理数据库要素类(统称为数据集)压缩为只读格式。 压缩后,可与解压缩后的数据就显示与查询的性能进行比较。 您会发现,在某些操作中性能会稍微提升,但在其他操作中速度则会稍微下降。
文件地理数据库数据有两种压缩方式:无损压缩和非无损压缩(或有损压缩)。 采用无损压缩方式压缩数据时,无论要素类或表中含有何种坐标系或属性数据类型,信息都不会丢失,并且所有浮点值都将保存下来。 采用有损压缩方式压缩文件地理数据库数据时,压缩效果可提高 20%,但浮点型的数值将会发生改变。 如果您需要最大程度的压缩且数据本身准确度并不是特别高,或者您不关心数据是否百分之百地精确(比如以 1:1,000,000 或更大比例压缩数据时),有损压缩是一种很好的选择。
压缩数据集与解压缩数据之间的不同之处在于编辑:压缩数据集为只读形式,因此除了可以更改其名称以及修改属性索引和元数据之外,无法对其进行任何形式的编辑或修改。
压缩特别适用于无需进行进一步编辑的数据集。 然而,如果需要,始终可以对压缩数据集进行解压,使其返回到初始的读取/写入格式。
在 ArcGIS AllSource 中压缩数据
可以使用压缩文件地理数据库数据地理处理工具对地理数据库、要素数据集、独立要素类或表进行压缩,然后使用解压文件地理数据库数据地理处理工具对其进行解压缩。 这两个工具均位于“数据管理”工具箱的“文件地理数据库”工具集中。
压缩的优点
压缩的文件地理数据库数据与解压后的数据相比所占用的磁盘空间更少,而同时仍可提供与之相当的显示与查询性能。
要素类和表的压缩量可能小到可以忽略不计,也可能大到压缩比超过 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。
x,y 分辨率对存储空间的影响
要素类 | 解压缩大小 | 压缩后大小 |
---|---|---|
卡尔加里建筑物,0.0001 米分辨率 | 48 MB | 20 MB |
卡尔加里建筑物,1.0 米分辨率 | 31 MB | 12 MB |
要将要素类重新加载到不同的分辨率,请将数据导出到新要素类。 在目录窗格中右键单击要素类,然后选择导出 > 至地理数据库(选择多个命令可一次导出多个要素类)。 在环境对话框上指定新的分辨率,然后导出。 有关详细信息,请参阅 XY 分辨率和 Z 分辨率。
可以压缩的数据
可以压缩地理数据库、要素数据集、独立要素类或表。 压缩地理数据库时,会压缩其中包含的所有要素类和表。 压缩要素数据集时,会压缩它的所有要素类。 任何无法压缩的项目都会被跳过。 下表概括了可以压缩以及无法压缩的项目。
文件地理数据库数据 | 是否可以压缩 |
---|---|
地理数据库 | 是(将压缩地理数据库中的所有矢量要素类和表。) |
目录数据集 | 是 |
要素类(仅限独立要素类) |
是 |
要素数据集 |
是(将压缩要素数据集中的所有矢量要素类。) |
镶嵌数据集 | 是(将压缩数据集,但是不会压缩数据集链接到的镶嵌影像文件。) |
网络数据集 | 是 |
定向影像数据集 | 是(将压缩数据集,但是不会压缩数据集链接到的影像文件。) |
宗地结构 | 是 |
栅格数据集 |
否 |
表 |
是 |
地形 | 否 |
拓扑 | 是 |
追踪网络 | 是 |
轨迹数据集 | 是 |
公共设施网络 | 是 |
注:
- 如果上面列出的任意数据集类型包含一个或多个以下字段数据类型,则不会压缩数据集:
- 大整型
- 仅日期
- 仅时间
- 时间戳偏移
- 64 位对象 ID
- 您不能单独压缩或解压缩要素数据集中的要素类。 压缩或解压缩要素数据集,这会压缩或解压缩要素数据集中的所有对象。
处理压缩数据时的限制
除了无法编辑压缩要素类或表之外,也无法修改下列附加属性:
- 坐标系信息
- 子类型、属性域和默认值
- 字段及其属性
- 制图表达
可以修改的属性只有要素类或表的别名以及属性索引。
压缩要素数据集允许您通过创建一个空的要素类、复制与粘贴以及导入等操作来添加解压缩要素类。 这会出现一种混合状况,其中要素数据集中某些要素类是压缩形式而其他要素类却不是压缩形式。 如果要素数据集同时包含压缩要素类和解压缩要素类,则将无法编辑解压缩要素类。 要编辑要素数据集中的要素类,该要素数据集中的所有要素类都必须是解压缩形式。
可以压缩关系类或拓扑中的要素类。 但是,也存在与此相关的一些限制:
- 无法通过压缩要素类来创建拓扑。
- 一旦压缩了关系类的一方,就无法编辑另一方。 这是因为更新解压缩方会要求对只读格式的压缩方进行自动更新。
- 如果压缩了拓扑的要素类,则无法修改该拓扑的属性。