Dokumentacja PostGIS stwierdza, że ST_PointOnSurfacezwraca „PUNKT z pewnością leżący na powierzchni”. Wygląda na to, że ta funkcja może być trywialnie zaimplementowana, aby uzyskać wyniki, które spełniają wymogi dokumentacji, ale zapewniają niewiele praktycznych narzędzi, chociaż jestem pewien, że PostGIS zapewnia nietrywialną implementację.
To wprowadzenie do PostGIS zapewnia ładne porównanie i kontrast ST_Centroidz tym ST_PointOnSurfacei mówi, że „[ST_PointOnSurface] jest znacznie droższy obliczeniowo niż operacja centroidu”.
Czy istnieje dokładniejsze wyjaśnienie sposobu ST_PointOnSurfaceobliczania? Używałem ST_Centroid, ale napotkałem kilka przypadków krawędzi w moich danych, w których środek ciężkości znajduje się poza geometrią. Uważam, że ST_PointOnSurfacejest to właściwy zamiennik, ale nazwa funkcji i dokumentacja pozostawiają miejsce na niepewność.
Ponadto, czy koszt obliczeniowy ST_PointOnSurfaceponiesiony, nawet jeśli środek ciężkości leży już w geometrii?