我需要在多边形本身内部的 Oracle Spatial 中找到多边形的质心。我不能使用 sdo_geom.sdo_centroid 方法,因为如果形状类似于马蹄形,这将返回形状之外的一个点。
我找到了 sdo_geom.sdo_pointonsurface 方法,但它返回的点恰好位于多边形的边缘。虽然这在数学上可行,但在我们的环境中并不安全,因为所有多边形都与其他多边形共享一个边界,有时数据中会有轻微的重叠。此重叠不能包括计算点。
是否有另一种方法可以在不编写自定义代码的情况下找到这一点?我不反对为此编写自定义代码,但如果它已经存在,我想使用一些预先构建的东西。
谢谢!