GISarabia.org
PostGIS › الدليل الرسمي › 12. إضافات PostGIS › 12.2. مُرمِّز Tiger الجغرافي (Tiger Geocoder)
PostGIS 3.6 · Official Manual · ترجمة عربية

Topology_Load_Tiger

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

الاسم

Topology_Load_Tiger — تحمّل منطقة محددة من بيانات tiger إلى طوبولوجيا PostGIS، مع تحويل بيانات tiger إلى النظام المرجعي المكاني للطوبولوجيا والتقاطها وفق تسامح الدقة الخاصة بالطوبولوجيا.

المختصر

text Topology_Load_Tiger(varchar topo_name, varchar region_type, varchar region_id);

الوصف

تحمّل منطقة محددة من بيانات tiger إلى طوبولوجيا PostGIS. تُحوَّل الأوجه والعقد والحواف إلى النظام المرجعي المكاني للطوبولوجيا الهدف، وتُلتقط النقاط وفق تسامح الطوبولوجيا الهدف. تحتفظ الأوجه والعقد والحواف المُنشأة بنفس المعرّفات الخاصة بأوجه وعقد وحواف بيانات Tiger الأصلية، بحيث يمكن مستقبلًا مطابقة مجموعات البيانات مع بيانات tiger بسهولة أكبر. تُعيد تفاصيل موجزة عن العملية.

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

[ملاحظة]

تعتمد هذه الدالة على بيانات Tiger وعلى تثبيت وحدة طوبولوجيا PostGIS. لمزيد من المعلومات، راجع فصل 9, الطوبولوجيا وقسم 2.2.3, “تهيئة البناء”. إذا لم تكن قد حمّلت بيانات تغطي المنطقة المعنية، فلن تُنشأ أي سجلات طوبولوجية. ستفشل هذه الدالة أيضًا إذا لم تكن قد أنشأت طوبولوجيا باستخدام دوال الطوبولوجيا.

[ملاحظة]

تنتج معظم أخطاء التحقق من صلاحية الطوبولوجيا عن مشكلات في التسامح، حيث لا تتطابق نقاط الحواف تمامًا أو تتداخل بعد التحويل. ولمعالجة ذلك، قد ترغب في زيادة الدقة أو خفضها إذا واجهت إخفاقات في التحقق من صلاحية الطوبولوجيا.

الوسائط المطلوبة:

  1. topo_name اسم طوبولوجيا PostGIS موجودة لتحميل البيانات إليها.

  2. region_type نوع المنطقة المحيطة. حاليًا لا يُدعم سوى place وcounty، والخطة إضافة المزيد. هذا هو الجدول الذي يُبحث فيه لتحديد حدود المنطقة، مثل tiger.place وtiger.county

  3. region_id هذا ما يسميه TIGER بالـ geoid، وهو المعرّف الفريد للمنطقة في الجدول. بالنسبة لـ place فهو العمود plcidfp في tiger.place، وبالنسبة لـ county فهو العمود cntyidfp في tiger.county

متاحة منذ: 2.0.0

مثال: طوبولوجيا بوسطن، ماساتشوستس

إنشاء طوبولوجيا لمدينة بوسطن، ماساتشوستس، في نظام Mass State Plane Feet (2249) بتسامح 0.25 قدم، ثم تحميل أوجه وحواف وعقد tiger الخاصة بمدينة بوسطن.

SELECT topology.CreateTopology('topo_boston', 2249, 0.25);
createtopology
--------------
   15
-- 60,902 ms ~ 1 minute on windows 7 desktop running 9.1 (with 5 states tiger data loaded)
SELECT tiger.topology_load_tiger('topo_boston', 'place', '2507000');
-- topology_loader_tiger --
29722 edges holding in temporary. 11108 faces added. 1875 edges of faces added.  20576 nodes added.
19962 nodes contained in a face.  0 edge start end corrected.  31597 edges added.

-- 41 ms --
SELECT topology.TopologySummary('topo_boston');
 -- topologysummary--
Topology topo_boston (15), SRID 2249, precision 0.25
20576 nodes, 31597 edges, 11109 faces, 0 topogeoms in 0 layers

-- 28,797 ms to validate yeh returned no errors --
SELECT * FROM
    topology.ValidateTopology('topo_boston');

       error       |   id1    |    id2
-------------------+----------+-----------
      

مثال: طوبولوجيا سافوك، ماساتشوستس

إنشاء طوبولوجيا لمقاطعة سافوك، ماساتشوستس، في نظام Mass State Plane Meters (26986) بتسامح 0.25 متر، ثم تحميل أوجه وحواف وعقد tiger الخاصة بمقاطعة سافوك.

SELECT topology.CreateTopology('topo_suffolk', 26986, 0.25);
-- this took 56,275 ms ~ 1 minute on Windows 7 32-bit with 5 states of tiger loaded
-- must have been warmed up after loading boston
SELECT tiger.topology_load_tiger('topo_suffolk', 'county', '25025');
-- topology_loader_tiger --
 36003 edges holding in temporary. 13518 faces added. 2172 edges of faces added.
 24761 nodes added.  24075 nodes contained in a face.  0 edge start end corrected.  38175 edges added.
-- 31 ms --
SELECT topology.TopologySummary('topo_suffolk');
 -- topologysummary--
 Topology topo_suffolk (14), SRID 26986, precision 0.25
24761 nodes, 38175 edges, 13519 faces, 0 topogeoms in 0 layers

-- 33,606 ms to validate --
SELECT * FROM
    topology.ValidateTopology('topo_suffolk');

       error       |   id1    |    id2
-------------------+----------+-----------
 coincident nodes  | 81045651 |  81064553
 edge crosses node | 81045651 |  85737793
 edge crosses node | 81045651 |  85742215
 edge crosses node | 81045651 | 620628939
 edge crosses node | 81064553 |  85697815
 edge crosses node | 81064553 |  85728168
 edge crosses node | 81064553 |  85733413