GISarabia.org
PostGIS › الدليل الرسمي › 9. الطوبولوجيا › 9.7. دوال الوصول إلى الطوبولوجيا
PostGIS 3.6 · Official Manual · ترجمة عربية

GetNodeByPoint

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

GetNodeByPoint — تبحث عن معرّف العقدة (node-id) لعقدة عند موقع نقطي.

المختصر

bigint GetNodeByPoint(varchar atopology, geometry apoint, float8 tol1);

الوصف

تسترجع معرّف عقدة عند موقع نقطي.

تُعيد الدالة عددًا صحيحًا (id-node) بإعطائها طوبولوجيا ونقطة POINT وتسامح. التسامح = 0 تعني تقاطعًا تامًا، وإلا فإنها تسترجع العقدة ضمن مجال.

إذا لم تتقاطع apoint مع عقدة، تُعيد 0 (صفر).

إذا استُخدمت تسامح > 0 وكانت هناك أكثر من عقدة قريبة من النقطة فسيُطلق استثناء.

[ملاحظة]

إذا كانت التسامح = 0 تستخدم الدالة ST_Intersects، وإلا فتستخدم ST_DWithin.

تُنفَّذ بواسطة وحدة GEOS.

متاحة منذ: 2.0.0

أمثلة

تستخدم هذه الأمثلة الحواف التي أنشأناها في AddEdge

SELECT topology.GetNodeByPoint('ma_topo',geom, 1) As nearnode
 FROM ST_GeomFromEWKT('SRID=26986;POINT(227591.9 893900.4)') As geom;
  nearnode
----------
        2
 
SELECT topology.GetNodeByPoint('ma_topo',geom, 1000) As too_much_tolerance
 FROM ST_GeomFromEWKT('SRID=26986;POINT(227591.9 893900.4)') As geom;

 ----get error--
 ERROR:  Two or more nodes found
 

انظر أيضًا

AddEdge, GetEdgeByPoint, GetFaceByPoint