В документации PostGIS говорится, что ST_PointOnSurface
возвращается «ТОЧКА, гарантированно лежащая на поверхности». Кажется, что эта функция может быть тривиально реализована, чтобы дать результаты, которые удовлетворяют документации, но обеспечивают небольшую практическую полезность, хотя я уверен, что PostGIS предоставляет нетривиальную реализацию.
Это введение в PostGIS обеспечивает хорошее сравнение и контраст ST_Centroid
с ST_PointOnSurface
и говорит, что «[ST_PointOnSurface] существенно дороже в вычислительном отношении, чем операция с центроидом».
Есть ли более подробное объяснение того, как ST_PointOnSurface
рассчитывается? Я использовал ST_Centroid
, но столкнулся с некоторыми крайними случаями в моих данных, когда центроид находится вне геометрии. Я считаю, что ST_PointOnSurface
это правильная замена, но имя функции и документация оставляют место для неопределенности.
Кроме того, производятся ли вычислительные затраты ST_PointOnSurface
, даже если центроид уже находится в пределах геометрии?