Java 如何在JDBC中为preparedStatement的旋转点创建STRUCT对象?

Java 如何在JDBC中为preparedStatement的旋转点创建STRUCT对象?,java,oracle11g,Java,Oracle11g,我正在使用java中的PreparedStatement处理批量插入到oracle数据库: INSERT INTO table (id, geometry) VALUES (?, ?); 要创建点,我使用JGeometry并将其存储到STRUCT中: double[] pos = {x, y}; JGeometry sdoGeometry = JGeometry.createPoint(pos, 2, srid); Struct sgeo = JGeometry.store(sdoGeomet

我正在使用java中的PreparedStatement处理批量插入到oracle数据库:

INSERT INTO table (id, geometry) VALUES (?, ?);
要创建点,我使用JGeometry并将其存储到STRUCT中:

double[] pos = {x, y};
JGeometry sdoGeometry = JGeometry.createPoint(pos, 2, srid);
Struct sgeo = JGeometry.store(sdoGeometry , connection);
然后我为准备好的语句设置对象:

ps.setInteger(id);
ps.setObject(sgeo);
最后,我在数据库中找到了我的几何图形:

SDO_GEOMETRY(2001, srid, MDSYS.SDO_POINT_TYPE(x, y, NULL), NULL, NULL)
我想知道是否有办法插入旋转点,如下图所示?也许使用JG几何以外的其他类别

SDO_GEOMETRY(2001, srid, NULL, SDO_ELEM_INFO_ARRAY(1,1,1,3,1,0), SDO_ORDINATE_ARRAY(x, y, rotX, rotY)

使用构造器进行几何测量(适用于所有几何图形,也适用于复合几何图形、圆弧、带孔多边形和多重几何图形):

J几何公共J几何(双x, 双y, int srid)

构造作为点的二维几何实例

参数:

  • 标签点的x-x坐标

  • 标签点srid的y-y坐标-srid;如果使用0,则当 转换成DB格式

  • elemInfo-几何元素信息数组

  • 坐标-几何坐标阵列

要创建具有旋转的点,请执行以下操作:

int[] elems = {1, 1, 1, 3, 1, 0};
double[] coords = {x, y, rotX, rotY};
JGeometry sdoGeometry = new JGeometry(JGeometry.GTYPE_POINT, srid, elems, coords);