Potrzebuję uzyskać punkt środkowy linii lub wielokąta, aby zrobić marker
dla mojej aplikacji. Aby po kliknięciu znacznika pojawiła się geometria (linia lub wielokąt). Kiedyś ST_Centroid
to działało.
Rezultat jest taki, jak się spodziewałem w przypadku niektórych wielokątów lub linii, których centroidy są poza geometrią. Dla tych linii lub wielokątów chciałbym uzyskać „najbardziej środkowy punkt”, ale wewnątrz geometrii.
W jaki sposób mogę to zrobić? Czy jest jakieś rozwiązanie?
postgis
polygon
linestring
centroids
Jose Hermosilla Rodrigo
źródło
źródło
W moim przypadku mam każdą geometrię w tabelach disctint. To co zrobiłem to:
ST_LineInterpolatePoint()
z współczynnikiem 0,5.ST_Centroid()
jest w swojej geometrii. Jeśli tak,ST_Centroid()
to najlepszy wybór, jeśli nie ja wybieramPointOnSurface()
.Oto zapytanie:
źródło