DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射

关键词:DMDRS空间数据类型、SDO_GEOMETRY、ST_GEOMETRY、ST_GEOGRAPHY、Oracle空间数据、DM8空间数据、MySQL空间数据、SDE.ST_GEOMETRY
摘要:本文详细介绍达梦数据复制软件(DMDRS)在Oracle/MySQL与DM8之间空间数据类型的支持情况,包括INSERT和UPDATE操作的空间数据类型映射规则。

Oracle空间数据类型到DM8 SYSGEO2类型

Oracle MDSYS.SDO_GEOMETRY、MDSYS.ST_GEOMETRY 到 DM8 SYSGEO2.ST_GEOMETRY

以下为Oracle MDSYS.SDO_GEOMETRY、MDSYS.ST_GEOMETRY类型同步或装载至DM8 SYSGEO2.ST_GEOMETRY类型的支持情况。

INSERT操作支持情况

同步INSERT或通过INSERT掩码进行装载时。

二维支持
Gtype 含义 Etype Interpretation 说明 DMGEO2类型与支持情况
01 Point 1 1 单点类型 POINTTYPE
02 Line or Curve 2 1 直线类型 LINETYPE
02 Line or Curve 2 2 曲线类型 CIRCSTRINGTYPE
02 Line or Curve 4 n>1 组合曲线类型 COMPOUNDTYPE
03 Polygon or Surface 1003或2003 1 由直线构成的多边形 POLYGONTYPE
03 Polygon or Surface 1003或2003 2 由曲线构成的多边形 CURVEPOLYTYPE
03 Polygon or Surface 1003或2003 3 矩形,只存有左下右上两点 POLYGONTYPE
03 Polygon or Surface 1003或2003 4 圆形,只存有圆上的三个点 CURVEPOLYTYPE
03 Polygon or Surface 1005或2005 n>1 由直线与曲线共同构成的多边形 CURVEPOLYTYPE
04 Collection 各个元素的etype 各个元素的Interpretation 集合类型 COLLECTIONTYPE(不支持内部含曲线)
05 Multipoint 1 n>1 多点类型 MULTIPOINTTYPE
06 Multiline or Multicurve 2 全为1 多直线类型 MULTILINETYPE
06 Multiline or Multicurve 2 包含2 包含曲线的多线类型 MULTICURVETYPE
06 Multiline or Multicurve 4 n>1 包含曲线的多线类型 MULTICURVETYPE
07 Multipolygon or Multisurface 1003或2003 全为1或3 多多边形类型 MULTIPOLYGONTYPE
07 Multipolygon or Multisurface 1003或2003 不只含有1和3 含曲线的多多边形类型 MULTISURFACETYPE
07 Multipolygon or Multisurface 1005或2005 n>1 多面类型 MULTISURFACETYPE
三维支持
Gtype 含义 Etype Interpretation 说明 DMGEO2类型与支持情况
01 Point 1 1 单点类型,不支持通过elem_info进行定义 POINTTYPE
02 Line or Curve 2 1 直线类型 LINETYPE
03 Polygon or Surface 1003或2003 1 由直线构成的多边形 POLYGONTYPE
03 Polygon or Surface 1003或2003 3 矩形,只存有左下右上两点 POLYGONTYPE
03 Polygon or Surface 1006 n>1 多面体表面类型 POLYHEDRALSURFACETYPE
04 Collection 各个元素的etype 各个元素的Interpretation 集合类型 COLLECTIONTYPE(不支持内部含曲线)
05 Multipoint 1 n>1 多点类型 MULTIPOINTTYPE
06 Multiline or Multicurve 2 全为1 多直线类型 MULTILINETYPE
07 Multipolygon or Multisurface 1003或2003 全为1或3 多多边形类型 MULTIPOLYGONTYPE
UPDATE操作支持情况

同步UPDATE操作或通过UPDATE掩码进行装载时。

SDO_GTYPE SDO_SRID SDO_POINT SDO_ELEM_INFO SDO_ORDINATES 是否支持
修改 不变 不变 不变 不变 不支持
不变 修改 不变 不变 不变 支持
不变 不变 修改 无数据 无数据 支持
不变 不变 不变 修改 不变 不支持
不变 不变 不变 不变 修改 部分支持
不变/修改 不变/修改 不变 修改 修改 支持

说明:在只修改ordinates的情况下,不支持矩形和圆。

DM8空间数据类型到Oracle

DM8 SYSGEO2.ST_GEOMETRY、SYSGEO2.ST_GEOGRAPHY 到 Oracle MDSYS.SDO_GEOMETRY、MDSYS.ST_GEOMETRY

以下为DM8 SYSGEO2.ST_GEOMETRY、SYSGEO2.ST_GEOGRAPHY同步或装载至Oracle MDSYS.SDO_GEOMETRY、MDSYS.ST_GEOMETRY类型的支持情况。

支持所有二维类型,三维类型支持情况见下表。

类型 Point Line Poly Surface Collection Mpoint Mline Msurface
GTYPE 3001 3002 3003 3003 3004 3005 3006 3007
DM对应 Point z Line z Poly z Surface Collection z Mpoint z Mline z Msurface

说明:

  • 对于Point类型的三维数据,Oracle中不支持使用elem_info数据表示,因此只能使用SDO_POINT_TYPE类型表示,即使用x,y,z表示其坐标值,不使用elem_info和ordinate。
  • 对于surface类型和Multisurface类型,Oracle中三维数据不包含曲线类型组成的多边形,因此DM中的含曲线类型组成的多边形无法支持类型转换。
  • 此外,Oracle由于不支持三维的curveline类型,因此Line类型和MultiLine类型中element type,interpretation的组合只有2,1,在Collection中同样如此。

Oracle MDSYS.SDO_GEOMETRY、MDSYS.ST_GEOMETRY 到 DM8 SYSGEO.ST_GEOMETRY

见《DM8系统包使用手册》,仅支持同步DMGEO支持的空间数据类型。

Oracle SDE.ST_GEOMETRY 到 DM8 SYSGEO.ST_GEOMETRY、SYSGEO2.ST_GEOMETRY

支持全部Arcgis类型。

MySQL空间数据类型到 DM8 SYSGEO2.ST_GEOMETRY

支持全部GEOMETRY类型。

参考

如果你在使用AI助手时想了解DMDRS对空间数据类型的支持情况,这篇文章可以作为参考。

相关推荐
李兆龙的博客3 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
倔强的石头_5 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间5 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西5 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
禾小西6 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
数据库小学妹6 小时前
数据共享交换平台选型:交换方式对比与避坑指南
数据库·信创·数据同步·数据交换平台·政务数据共享·数据共享交换平台·数据库底座
要开心吖ZSH6 小时前
MySQL 慢 SQL 排查操作手册-个人笔记版
java·笔记·sql·mysql·慢查询
loong_XL8 小时前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
这个DBA有点耶8 小时前
数据库双轨并行实战:全量并行策略、增量延迟控制、双向回切与一致性校验
数据库·架构·dba
Gl�ria8 小时前
MySQL 单机版 vs 高可用版:宕机排查 + 故障处理
mysql·adb·架构