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

AddEdge

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

الاسم

AddEdge — تضيف حافة خطية (LineString) إلى جدول الحواف، ونقطتي البداية والنهاية المرتبطتين بها إلى جدول العقد النقطية في مخطط الطوبولوجيا المحدد، باستخدام الشكل الهندسي الخطي المحدد، وتُعيد معرّف الحافة (edgeid) الجديدة (أو الموجودة).

المختصر

bigint AddEdge(varchar toponame, geometry aline);

الوصف

تضيف حافة إلى جدول الحواف والعقد المرتبطة بها إلى جدول العقد في المخطط toponame المحدد، باستخدام الشكل الهندسي الخطي المحدد، وتُعيد معرّف الحافة (edgeid) للسجل الجديد أو الموجود. للحافة المضافة حديثًا الوجه "الكوني" على جانبيها، وترتبط بنفسها.

[ملاحظة]

إذا كان الشكل الهندسي aline يعبر حافة خطية موجودة أو يتداخل معها أو يحتويها أو يقع داخلها، فسيُطلق خطأ ولن تُضاف الحافة.

[ملاحظة]

يجب أن يكون للشكل الهندسي aline قيمة srid نفسها المعرّفة للطوبولوجيا، وإلا فسيُطلق خطأ يفيد بأن النظام المرجعي المكاني غير صالح.

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

[تنبيه]

AddEdge مُهملة منذ الإصدار 3.5.0. استخدم TopoGeo_AddLineString بدلًا منها.

متاحة منذ: 2.0.0

أمثلة

SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227575.8 893917.2,227591.9 893900.4)', 26986) ) As edgeid;
-- result-
edgeid
--------
 1

SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227591.9 893900.4,227622.6 893844.2,227641.6 893816.5,
 227704.5 893778.5)', 26986) ) As edgeid;
-- result --
edgeid
--------
 2

 SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227591.2 893900, 227591.9 893900.4,
  227704.5 893778.5)', 26986) ) As edgeid;
 -- gives error --
 ERROR:  Edge intersects (not on endpoints) with existing edge 1