Мне нужно получить центральную точку линии или многоугольника marker
для моего приложения. Чтобы при нажатии на маркер появилась геометрия (линия или многоугольник). Раньше я ST_Centroid
заставлял это работать.
Результатом является то, что я ожидал, если бы не несколько полигонов или линий, центроиды которых находятся вне геометрии. Что я хотел бы для этих линий или полигонов, так это получить «самую центральную точку», но внутри геометрии.
Как я могу это сделать? Есть ли решение?
postgis
polygon
linestring
centroids
Хосе Эрмосилла Родриго
источник
источник
В моем случае каждая геометрия представлена в разных таблицах. То, что я сделал, было:
ST_LineInterpolatePoint()
с коэффициентом 0,5.ST_Centroid()
находится ли внутри его геометрия. Если это так,ST_Centroid()
это лучший выбор, если не я выбираюPointOnSurface()
.Вот запрос:
источник