我如何更改 oracle 11g 中的几何形状?

how can i change my geometry in oracle 11g?

我需要将几何结构 MDSYS.SDO_Geometry 更改为 SDE.ST_Geometry,因为这是迁移所必需的 (ArcGis 9.3 to Arcgis 10.5) 并且这些几何结构不兼容。

我想看看他们是如何建造它的,但我不明白我该如何建造它。如果有人可以帮助我,我有他们两个的代码。

MDSYS.SDO_GEOMETRY(
    2002,
    NULL,
    NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1),
    MDSYS.SDO_ORDINATE_ARRAY(-72.1047299999991,-41.4399799999992,-72.1057099999998,-41.4404200000008,-72.1062500000007,-41.4405299999999,-72.1072399999994,-41.4404900000009,-72.1090899999999,-41.4401600000001,-72.1096799999996,-41.4399900000008,-72.1102499999997,-41.4395100000002,-72.11064999878,-41.4390500012214,-72.1106899999995,-41.4390100000001))


SDE.ST_GEOMETRY(4,21,-69.5,-19.76245,-69.49831,-19.75843,0,0,NULL,NULL,0,0.00665337290908277,300003,'oracle.sql.BLOB@4f5a1e8d')

what I'm trying to achieve

好吧,最后感谢 MT10 的合作,我使用工具 "Migrate Storage" 进行了数据迁移。

Migration Storage

只需要一个SDE连接并插入数据进行转换。只需按照以下说明进行操作 link: data-migration

迁移之前... 转换数据之前必须满足以下条件:

  • 迁移前必须备份数据。
  • 如果您转换的是空间列数据类型,数据必须以高精度存储。如果您的数据当前以基本精度存储,则必须先将其迁移到高精度,然后再迁移存储类型。使用升级空间参考地理处理工具升级到高精度。
  • 如果您转换的是空间列数据类型,数据必须以高精度存储。如果您的数据当前以基本精度存储,则必须先将其迁移到高精度,然后再迁移存储类型。使用升级空间参考地理处理工具升级到高精度。
  • table 或要素 class 必须在地理数据库中注册。
  • 您在迁移数据类型时指定的配置关键字必须包含 GEOMETRY_STORAGE、ATTRIBUTE_BINARY 或 RASTER_STORAGE 参数的正确值。例如,如果要将 LONG RAW 几何列迁移到 ST_GEOMETRY,但指定的关键字将 GEOMETRY_STORAGE 参数设置为 SDO_GEOMETRY,则迁移将失败,因为那不是支持的迁移路径。
  • 您必须以包含正在迁移的列的 table 的所有者身份登录。 将要素 class 迁移到 SQL 服务器 GEOGRAPHY 类型要求数据位于 GEOGRAPHY 类型支持的地理坐标系之一。

Tip: The list of supported coordinate systems that can be used with the SQL Server GEOGRAPHY type is in the SQL Server system view sys.spatial_reference_systems. If your geodatabase is in SQL Server 2008 or 2008 R2, feature classes migrated to the SQL Server GEOGRAPHY type cannot contain z- or m-coordinate values.