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