La documentación de PostGIS establece que ST_PointOnSurfacedevuelve "un PUNTO garantizado para descansar en la superficie". Parece que esta función podría implementarse trivialmente para dar resultados que satisfagan la documentación pero que brinden poca utilidad en el mundo real, aunque estoy seguro de que PostGIS proporciona una implementación no trivial.
Esta introducción a PostGIS proporciona una buena comparación y contraste ST_Centroidcon ST_PointOnSurfacey dice que "[ST_PointOnSurface] es sustancialmente más costoso desde el punto de vista computacional que la operación centroide".
¿Hay una explicación más completa de cómo ST_PointOnSurfacese calcula? He estado usando ST_Centroid, pero he encontrado algunos casos de borde en mis datos donde el centroide está fuera de la geometría. Creo que ST_PointOnSurfacees el sustituto correcto, pero el nombre de la función y la documentación dejan lugar a la incertidumbre.
Además, ¿es el gasto computacional de ST_PointOnSurfaceincurrir incluso si el centroide ya se encuentra dentro de la geometría?