ArcGIS 9.2 引入了采用高精度存储坐标的功能。与低精度相比,高精度存储允许将坐标更加紧密地存储在一起,并能扩展数据集的 x、y、z 和 m 属性域。
将空间参考转换为高精度时会发生两个变化:
- 分辨率值会减少为旧值除以一个公约数后所得的值。例如,如果旧分辨率值是 0.1,则新分辨率值可能是 0.05 或 0.025。这样就可以将坐标更加紧密地存储在一起。
- x,y 空间域的最小值和最大值会扩大到覆盖坐标系的视界。坐标系视界是指特定地理或投影坐标系的有效使用区域。通常,视界反映出地图投影中的数学限制。
在 ArcGIS 9.2 之前的版本中,包含整个地球的要素类中所存储的要素的距离最近不会超过大约 2 厘米。而现在存储要素时,要素之间的距离最近可达 10 纳米,但并不建议使用这么小的值。
为了利用上述优势,在多数情况下,建议您将数据转换为高精度。但如果需要向尚未升级的客户端传送数据或者您对现有情况比较满意,则不需要将数据转换为高精度。ArcGIS 将一如既往地支持这些数据。
转换为高精度不会影响现有坐标值。这意味着您可以放心地转换任何类型的数据,包括拓扑、几何网络和版本化数据。
有两种常规方法可以将数据转换为高精度:
- 将现有地理数据库转换为高精度。
- 将数据迁移到高精度地理数据库。
将现有地理数据库转换为高精度
这包括以下两个步骤:
- 将地理数据库升级到 9.2 或更高版本。由于使用先前版本的 ArcGIS 构建的地理数据库不支持采用高精度存储数据,因此必须进行升级。升级后,还能使用 ArcGIS 的其他新功能,如地形、复制和制图表达。升级地理数据库后,较早版本的 ArcGIS 将无法打开此地理数据库。鉴于此原因,最好备份地理数据库并升级副本,这样既保留了原始版本,又有升级后的版本。有关升级过程的信息,请参阅升级文件和个人地理数据库或针对特定 DBMS 的管理地理数据库帮助部分,例如 升级 SQL Server 中的企业级地理数据库。
地理数据库升级后,即可将其视为高精度。任何新创建的要素类或要素数据集都将具有高精度的空间参考。但是,现有数据仍将使用低精度的空间参考,在空间域和分辨率方面存在限制。
- 要将现有数据转换为高精度,可使用升级空间参考地理处理工具,此工具位于“数据管理工具”工具箱的“数据库”工具集中。利用此工具,可从将会维持现有数据坐标及关系的若干个分辨率值中进行选择。使用此工具确定分辨率时请记住,分辨率越小,需要的存储空间越大,性能也会稍微下降。
将数据迁移到高精度地理数据库
导入到高精度地理数据库中的低精度数据会自动转换为高精度,并在转换过程中获得新的默认分辨率值。由于 ArcGIS 9.2 之前的版本不支持文件地理数据库和企业级数据库服务器上的地理数据库,因此此类数据库只能包含高精度数据。将低精度数据迁移到文件地理数据库或数据库服务器上的地理数据库时,始终会进行低精度到高精度的转换。
可以使用任意一种导入方法将低精度数据迁移到高精度地理数据库中:
- 目录树的复制/粘贴命令
- 导出/导入 XML 工作空间文档
- 导入/导出地理处理工具
这些方法为输出提供了相同的默认分辨率。设计新的默认分辨率时,ArcGIS 使用 0.1 毫米作为起始点,然后针对坐标系的测量单位进行调整,并确保以旧分辨率值的公约数为单位进行调整。
在多数情况下,默认分辨率都适用,因此建议使用默认值。但是,如果高性能和最小化存储空间对您的应用程序非常重要,则迁移时可以选择较大的分辨率。以较大的分辨率存储数据能够略微提高性能并降低存储要求。
使用“复制/粘贴”和“导出/导入 XML 工作空间文档”方法迁移数据时,无法控制分辨率值。如果要自行选择分辨率,可使用“升级空间参考”工具将数据转换为高精度,并在转换过程中选择您自己的分辨率。数据转换为高精度后,可以使用“复制/粘贴”或“导出/导入 XML 工作空间文档”方法导入数据,这将会保留所选择的分辨率。
使用导入/导出地理处理工具可以控制输出分辨率值,因为可以在运行这些工具之前在地理处理环境中设置分辨率。指定新分辨率值时,请指定与当前分辨率相同的值或较小的值。选择较小的值时,请选择一个能够整除当前分辨率的值。例如,如果输入分辨率为 .001 米,则可以指定 .0005、.00025 或 .0002 等较小的分辨率,因为这些值能够整除 .001。通过这种方式选择新分辨率可确保坐标不受转换过程的影响。如果由于某种原因您选择了不能整除的较小分辨率值,则在导入时会对坐标进行微小的修改。但是,即使在这种情况下,移动量也非常小,不会有明显的变化。所有空间分析和处理结果将与迁移之前相同,用户无需对数据或应用程序进行任何更改。
导入/导出地理处理工具不支持迁移属性域、关系类、拓扑、几何网络、网络数据集和地形。要将上述内容迁移到已为您选择的默认分辨率,可复制和粘贴数据。要自行选择分辨率,可先使用“升级空间参考”工具,然后再进行复制和粘贴。
创建低精度要素类或要素数据集
最简单的方法是使用尚未升级的 9.2 版之前的地理数据库。可在此地理数据库中创建新的要素类或要素数据集,或者向其中导入数据。
如果 9.2 版之前的地理数据库已经升级,则在升级空间参考之前,现有要素数据集和独立要素类仍为低精度。因此,可以在现有低精度要素数据集中创建新的低精度要素类。
不能在 9.2 版地理数据库中创建低精度的独立要素类和要素数据集。由于文件地理数据库和数据库服务器上的地理数据库是 9.2 版的新功能,因此它们只能包含高精度要素类和数据集。