我们正在使用 JTS Geometry Suite、GeoTools (ShapefileDataStore) 和 Hibernate Spatial 将具有 3D 坐标的多多边形 Shapefile 导入 oracle 空间。在 Oracle Spatial 中,我们希望它们以 2D 形式存储。
我发现的 onyl(而且非常慢)方法如下,使用 WKBWriter 和 WKBReader:
private static Geometry convert2D(Geometry geometry3D) {
// create a 2D WKBWriter
WKBWriter writer = new WKBWriter(2);
byte[] binary = writer.write(geometry3D);
WKBReader reader = new WKBReader(factory);
Geometry geometry2D= null;
try {
geometry2D= reader.read(binary);
} catch (ParseException e) {
log.error("error reading wkb", e);
}
return geometry2D;
}
有人知道将几何图形从 3D 转换为 2D 的更有效方法吗?