Документація PostGIS зазначає, що ST_PointOnSurfaceповертається "точка, яка гарантовано лежить на поверхні". Здається, ця функція може бути тривіально реалізована для отримання результатів, які задовольняють документацію, але надають невелику корисність у реальному світі, хоча я впевнений, що PostGIS забезпечує нетривіальну реалізацію.
Це введення в PostGIS забезпечує порівняння хороший і контраст ST_Centroidз ST_PointOnSurfaceі говорить , що «[ST_PointOnSurface] значно більш обчислювально дорожче , ніж центроїда операції».
Чи є більш ретельне пояснення, як ST_PointOnSurfaceобчислюється? Я використовував ST_Centroid, але в моїх даних зіткнувся з деякими кращими випадками, коли центроїд знаходиться поза геометрією. Я вважаю, що ST_PointOnSurfaceце правильна заміна, але назва функції та документація залишають місце для невизначеності.
Далі, чи є обчислювальні витрати, ST_PointOnSurfaceпонесені, навіть якщо центроїд вже лежить в межах геометрії?