Hibernate空间多边形坐标方向

时间:2017-12-15 15:46:02

标签: oracle hibernate geometry polygon jts

我正在使用带有oracle数据库的hibernate空间(带有JTS的geolatte)。我正在创建一个带有多边形的Geometry对象,因此它被保存为数据库中的SDO_GEOMETRY对象。目前,所有多边形都逆时针存储,SDO_ETYPE在SDO_ELEM_INFO_ARRAY中设置为1003(外部多边形环)。如果我反转多边形并保持它,则逆时针方向不会改变。

因此看来hibernate正在强制执行此要求,或者一旦创建了SDO_GEOMETRY对象,就会设置方向。

我想控制多边形在数据库中保存的方向。这是一个休眠设置吗?当我创建多边形而不是贝壳时,是否需要将多边形存储为孔(内环)?

谢谢!

2 个答案:

答案 0 :(得分:0)

Oracle要求特定订购作为SDO规范的一部分。注意我是GeoTools代码的原作者,该代码已在JTS中清理过来使用。

有关详细信息,请参阅jacadoc示例或SDO文档。

答案 1 :(得分:0)

Oracle Spatial文档在第2.2.4节中指定了多边形环方向:

https://docs.oracle.com/cd/A97630_01/appdev.920/a96630/sdo_objrelschema.htm#sthref198