В Oracle Spatial (SDO) есть ли способ получить точку центроида многоугольника, который содержится на поверхности многоугольника? - PullRequest
0 голосов
/ 26 февраля 2009

Мне нужно найти центр тяжести многоугольника в Oracle Spatial, который существует внутри самого многоугольника. Я не могу использовать метод sdo_geom.sdo_centroid, потому что он возвращает точку вне формы, если форма напоминает подкову.

Я нашел метод sdo_geom.sdo_pointonsurface, но он возвращает точку, равную на краю многоугольника. Хотя это математически работает, в нашей среде это небезопасно, поскольку все полигоны имеют общую границу с другими полигонами, и иногда данные слегка перекрываются. Это перекрытие не может включать расчетную точку.

Есть ли другой подход к поиску этой точки без написания специального кода? Я не против написания собственного кода для этого, но я хотел бы использовать что-то предварительно созданное, если оно уже существует.

Спасибо!

1 Ответ

1 голос
/ 26 февраля 2009

У Саймона Гринера есть пакет для «парацентроида»: codesys.geom.sdo_centroid.

Вы можете скачать его, но я не знаю, есть ли какая-либо лицензия, которая прилагается к источнику.

Вот ссылки:

...