可使用迁移存储地理处理工具将现有的二进制空间列从一种存储类型迁移到另一种存储类型。为此,可以指定一个包含 GEOMETRY_STORAGE 参数的配置关键字,并将参数设置为数据转换的目标存储类型。也可以使用迁移存储地理处理工具更改 Microsoft SQL Server 中的地理数据库中参数对象和表面片几何属性的存储格式。
创建配置关键字,并使关键字包含正确的参数和值,这一点非常重要。如果指定的关键字信息错误或缺失,则将从 DEFAULTS 关键词读取信息。Esri 建议创建自定义关键字,专门用于迁移。 确保关键字中包含将要向其中迁移数据的参数和值,以及 UI_TEXT 参数。UI_TEXT 参数使关键字也可用于 ArcGIS 客户端。将此关键字提供给数据集所有者,因为他们必须运行迁移存储工具。
以下是各数据库管理系统所支持的迁移路径:
数据库管理系统 | 配置参数 | 迁移路径 |
---|---|---|
Oracle | ATTRIBUTE_BINARY | 从 Long raw 到 BLOB |
GEOMETRY_STORAGE | 从 Long raw (SDEBINARY) 到 BLOB (SDELOB) | |
从 Long raw (SDEBINARY) 到 ST_Geometry | ||
从 BLOB (SDELOB) 到 ST_Geometry | ||
从 SDO_Geometry 到 ST_Geometry | ||
RASTER_STORAGE | 从 Long raw 到 BLOB | |
SQL Server | GEOMETRY_STORAGE | 从 SDEBINARY 到 Geometry |
从 SDEBINARY 到 Geography | ||
从 OGCWKB 到 Geometry | ||
从 OGCWKB 到 Geography | ||
从存储在相关系统表中的几何属性到存储在基表的列中的几何属性 |
为何迁移数据?
以下是迁移数据的原因:
- 使用结构化查询语言 (SQL) 访问空间数据或栅格数据
- 从将来可能不受支持的数据类型迁移到受支持的数据类型
- 要将几何属性信息从 SQL Server 中的端表移至基表中的列以提高宗地结构的性能,并允许注册要素类以进行分支版本化
使用 SQL 访问数据
通过 SQL 访问地理数据库中的信息允许外部应用程序(不是在 ArcObjects 环境中开发的应用程序)使用地理数据库管理的表格数据。如果这些外部应用程序需要访问地理数据库中的空间数据或栅格数据,您必须将空间数据或栅格数据存储为允许 SQL 访问的数据类型。例如,ST_Geometry 存储类型允许通过 SQL 访问要素数据。如果将数据存储在 BLOB 或 long raw 字段中,将无法轻松访问这些数据。
迁移将来版本可能不支持的数据类型
默认情况下,在 SQL Server 的 ArcGIS 10.1 及更高版本的地理数据库中创建的要素类使用 Microsoft 几何类型。要将现有要素类移动到几何存储类型,请使用迁移存储地理处理工具或 Python 脚本。
移动几何属性以改善性能
从 ArcGIS 10.5 开始,参数对象(例如真曲线)和曲面片(例如 PointID 和多面体)几何属性的存储得到了改善:可直接存储于业务表中。 在更早版本中,该属性数据存储在已连接业务表的相关表中。该连接会造成性能降低,使用宗地结构时常会注意到该连接。
如果现有要素类参与宗地结构或存储真曲线、多面体或 pointID,并且您发现显示性能降低,请考虑迁移这些几何属性的存储。以下为支持的现有要素类迁移路径:
- 存储类型为 Microsoft 几何,并且您希望继续使用几何类型。
要从相关表中将几何属性迁移至要素类业务表中的新列,请指定 GEOMETRY_STORAGE 参数设置为 Geometry 的配置关键字,然后运行迁移存储工具。
- 存储类型为 Microsoft 地理,并且您希望继续使用地理类型。
要从相关表中将几何属性迁移至要素类业务表中的新列,请指定 GEOMETRY_STORAGE 参数设置为 Geography 的配置关键字,然后运行迁移存储工具。
- 存储类型为 SDEBINARY,并且您希望迁移至 Microsoft 几何类型。在此情况下,请指定 GEOMETRY_STORAGE 参数设置为 Geometry 的配置关键字,然后运行迁移存储工具。由此可将空间数据类型和几何属性迁移至新存储格式。
在此情况下,请指定 GEOMETRY_STORAGE 参数设置为 Geography 的配置关键字,然后运行迁移存储工具。由此可将几何属性迁移至新存储格式。
- 存储类型为 SDEBINARY,并且您希望迁移至地理类型。
在此情况下,请指定 GEOMETRY_STORAGE 参数设置为 Geography 的配置关键字,然后运行迁移存储工具。由此可将空间数据类型和几何属性迁移至新存储格式。
迁移先决条件
转换数据之前必须满足以下条件:
- 在迁移数据之前,必须对数据进行备份。
- 如果要转换空间列数据类型,必须采用高精度存储数据。如果当前采用基本精度存储数据,则必须首先将数据迁移到高精度,然后才能迁移存储类型。使用升级空间参考地理处理工具升级到高精度。
- 表或要素类必须注册到地理数据库。
- 迁移数据类型时所指定的配置关键字必须含有正确的 GEOMETRY_STORAGE 参数值。例如,如果要将 sdebinary 几何列迁移到 Geometry,但指定的关键字却将 GEOMETRY_STORAGE 参数设置为 OGCWKB,迁移会因迁移路径不受支持而失败。
- 必须以待迁移表所有者的身份进行登录。
- 要将要素类迁移到 SQL Server 地理类型,数据需要采用地理类型支持的地理坐标系。