En Oracle Spatial (SDO), ¿hay una manera de conseguir el punto de un polígono que está contenida por la superficie del polígono centroide?

StackOverflow https://stackoverflow.com/questions/587863

Pregunta

Tengo que encontrar el centro de gravedad de un polígono en Oracle Spatial que existe dentro del propio polígono. No puedo usar el método sdo_geom.sdo_centroid porque esto devuelve un punto fuera de la forma si la forma se asemeja a una herradura.

He encontrado método sdo_geom.sdo_pointonsurface, pero devuelve un punto que es solo en el borde del polígono. Aunque esto funciona matemáticamente, no es seguro en nuestro entorno, porque todos los polígonos comparten una frontera con otros polígonos y, a veces hay un ligero solapamiento en los datos. Esta superposición no puede incluir el punto calculado.

¿Hay otro enfoque para encontrar este punto sin necesidad de escribir código personalizado? No me opongo a escribir código personalizado para esto, pero me gustaría utilizar algo pre-construido si ya existe.

Gracias!

¿Fue útil?

Solución

Simon más verde tiene un paquete para un "para-centroide":. codesys.geom.sdo_centroid

Se puede descargar, pero no sé si hay algún tipo de licencia que se adjunta a la fuente.

Aquí están los enlaces:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top