J'ai besoin d'obtenir le point central d'une ligne ou d'un polygone pour créer marker
mon application. Ainsi, lorsque vous cliquez sur un marqueur, la géométrie apparaît (ligne ou polygone). J'avais l'habitude ST_Centroid
de le faire fonctionner.
Le résultat est ce à quoi je m'attendais à dénouer certains polygones ou lignes dont les centroïdes sont hors de la géométrie. Ce que je voudrais pour ces lignes ou polygones, c'est d'avoir le "point le plus central" mais à l'intérieur de la géométrie.
Comment puis-je faire ceci? Y a-t-il une solution?
postgis
polygon
linestring
centroids
Jose Hermosilla Rodrigo
la source
la source
Dans mon cas, j'ai chaque géométrie dans des tables de disctint. Ce que j'ai fait, c'est:
ST_LineInterpolatePoint()
avec facteur 0,5.ST_Centroid()
trouve à l'intérieur de sa géométrie. Si oui,ST_Centroid()
c'est le meilleur choix, sinon je choisisPointOnSurface()
.Voici la requête:
la source