Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OracleSpatial(SDO)中,是否有一种方法可以获取多边形表面包含的多边形的质心点?_Oracle_Gis_Geospatial_Oracle Spatial - Fatal编程技术网

在OracleSpatial(SDO)中,是否有一种方法可以获取多边形表面包含的多边形的质心点?

在OracleSpatial(SDO)中,是否有一种方法可以获取多边形表面包含的多边形的质心点?,oracle,gis,geospatial,oracle-spatial,Oracle,Gis,Geospatial,Oracle Spatial,我需要在Oracle Spatial中找到多边形的质心,它存在于多边形本身内部。我不能使用sdo_geom.sdo_形心方法,因为如果形状类似马蹄形,则该方法将返回形状外部的点 我找到了sdo_geom.sdo_pointonsurface方法,但它返回的点正好位于多边形的边上。虽然这在数学上是可行的,但在我们的环境中是不安全的,因为所有多边形与其他多边形共享一个边界,有时数据中会有轻微的重叠。此重叠不能包括计算点 有没有其他方法可以在不编写自定义代码的情况下找到这一点?我不反对为此编写自定义代

我需要在Oracle Spatial中找到多边形的质心,它存在于多边形本身内部。我不能使用sdo_geom.sdo_形心方法,因为如果形状类似马蹄形,则该方法将返回形状外部的点

我找到了sdo_geom.sdo_pointonsurface方法,但它返回的点正好位于多边形的边上。虽然这在数学上是可行的,但在我们的环境中是不安全的,因为所有多边形与其他多边形共享一个边界,有时数据中会有轻微的重叠。此重叠不能包括计算点

有没有其他方法可以在不编写自定义代码的情况下找到这一点?我不反对为此编写自定义代码,但如果它已经存在,我想使用一些预构建的东西


谢谢

Simon Greener有一个“para centroid”包:
codesys.geom.sdo_centroid

你可以下载它,但我不知道是否有任何形式的授权附加到源代码

以下是链接:


谢谢!这就是我要找的。我曾访问过这个网站,但找不到他把源代码放在哪里。再次感谢!