In Oracle Spatial (SDO), ist es eine Möglichkeit, den Schwerpunkt Punkt eines Polygons zu erhalten, die durch die Oberfläche des Polygons enthalten ist?

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

Frage

Ich brauche den Schwerpunkt eines Polygons in Oracle Spatial zu finden, die innerhalb des Polygons selbst existiert. Ich kann nicht die sdo_geom.sdo_centroid Methode verwenden, da dies einen Punkt außerhalb der Form zurückkehrt, wenn die Form eines Hufeisens ähnelt.

fand ich sdo_geom.sdo_pointonsurface Methode, aber es gibt einen Punkt, ist nur am Rande des Polygons. Während dies mathematisch funktioniert, ist es in unserer Umgebung nicht sicher, weil alle Polygone eine Grenze mit anderen Polygonen teilen und manchmal ist es eine geringe Überlappung in den Daten. Diese Überlappung kann nicht den berechneten Punkt enthält.

Gibt es einen anderen Ansatz, diesen Punkt zu finden, ohne benutzerdefinierten Code zu schreiben? Ich bin nicht gegen individuellen Code für diese zu schreiben, aber ich möchte etwas vorgefertigte verwenden, wenn es bereits vorhanden ist.

Danke!

War es hilfreich?

Lösung

Simon Greener hat ein Paket für einen "para-Schwerpunkt". codesys.geom.sdo_centroid

Sie können es herunterladen, aber ich weiß nicht, ob es irgendeine Art der Lizenzierung ist, die an die Quelle angeschlossen ist.

Hier sind die Links:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top