الاسم
GetFaceByPoint — تبحث عن الوجه الذي يتقاطع مع نقطة معطاة.
المختصر
bigint GetFaceByPoint(varchar atopology, geometry apoint, float8 tol1);
الوصف
تبحث عن وجه تشير إليه نقطة، ضمن تسامح معطاة.
تبحث الدالة فعليًا عن وجه يتقاطع مع دائرة مركزها النقطة ونصف قطرها التسامح.
إذا لم يتقاطع أي وجه مع موقع الاستعلام المعطى، تُعاد القيمة 0 (الوجه الكوني).
إذا تقاطع أكثر من وجه مع موقع الاستعلام فسيُطلق استثناء.
متاحة منذ: 2.0.0
حُسّنت في: 3.2.0 تنفيذ أكثر كفاءة وعقد استخدام أوضح، ولم تعد تعمل مع الطوبولوجيات غير الصالحة.
أمثلة
SELECT topology.GetFaceByPoint('ma_topo',geom, 10) As with1mtol, topology.GetFaceByPoint('ma_topo',geom,0) As withnotol
FROM ST_GeomFromEWKT('POINT(234604.6 899382.0)') As geom;
with1mtol | withnotol
-----------+-----------
1 | 0
SELECT topology.GetFaceByPoint('ma_topo',geom, 1) As nearnode
FROM ST_GeomFromEWKT('POINT(227591.9 893900.4)') As geom;
-- get error --
ERROR: Two or more faces found
انظر أيضًا
GetFaceContainingPoint, AddFace, GetNodeByPoint, GetEdgeByPoint