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

Geocode_Intersection

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

الاسم

Geocode_Intersection — تأخذ شارعين متقاطعين وولاية ومدينة ورمزًا بريديًا، وتُخرج مجموعة من المواقع المحتملة على الشارع المتقاطع الأول عند التقاطع، وتتضمن أيضًا geomout كموقع النقطة بخطَّي الطول والعرض وفق NAD 83، وnormalized_address (addy) لكل موقع، والتقييم. كلما انخفض التقييم زادت احتمالية التطابق. تُرتَّب النتائج بدءًا بأدنى تقييم. ويمكن اختياريًا تمرير الحد الأقصى للنتائج، وقيمته الافتراضية 10. تستخدم بيانات Tiger (edges وfaces وaddr) ومطابقة السلاسل النصية التقريبية في PostgreSQL (soundex وlevenshtein).

المختصر

setof record geocode_intersection(text roadway1, text roadway2, text in_state, text in_city, text in_zip, integer max_results=10, norm_addy OUT addy, geometry OUT geomout, integer OUT rating);

الوصف

تأخذ شارعين متقاطعين وولاية ومدينة ورمزًا بريديًا، وتُخرج مجموعة من المواقع المحتملة على الشارع المتقاطع الأول عند التقاطع، وتتضمن أيضًا شكلًا هندسيًا نقطيًا بخطَّي الطول والعرض وفق NAD 83، وعنوانًا موحَّدًا لكل موقع، والتقييم. كلما انخفض التقييم زادت احتمالية التطابق. تُرتَّب النتائج بدءًا بأدنى تقييم. ويمكن اختياريًا تمرير الحد الأقصى للنتائج، وقيمته الافتراضية 10. تُعيد normalized_address (addy) لكل موقع، وgeomout كموقع النقطة بخطَّي الطول والعرض وفق nad 83، والتقييم. كلما انخفض التقييم زادت احتمالية التطابق. تُرتَّب النتائج بدءًا بأدنى تقييم. تستخدم بيانات Tiger (edges وfaces وaddr) ومطابقة السلاسل النصية التقريبية في PostgreSQL (soundex وlevenshtein)

متاحة منذ: 2.0.0

أمثلة: أساسية

توقيتات الأمثلة أدناه مأخوذة على جهاز Windows 7 بمعالج واحد بتردد 3.0 GHZ وذاكرة RAM بسعة 2GB، يعمل عليه PostgreSQL 9.0/PostGIS 1.5 مع تحميل جميع بيانات Tiger لولاية MA. وهي حاليًا بطيئة بعض الشيء (3000 ms)

اختبار على Windows 2003 بنظام 64-bit وذاكرة 8GB على PostGIS 2.0 وPostgreSQL بنظام 64-bit مع تحميل بيانات Tiger 2011 -- (41ms)

SELECT pprint_addy(addy), st_astext(geomout),rating
            FROM geocode_intersection( 'Haverford St','Germania St', 'MA', 'Boston', '02130',1);
           pprint_addy            |         st_astext          | rating
----------------------------------+----------------------------+--------
98 Haverford St, Boston, MA 02130 | POINT(-71.101375 42.31376) |      0

حتى إن لم يُمرَّر الرمز البريدي، يمكن للمُرمِّز الجغرافي تخمينه (استغرق نحو 3500 ms على جهاز Windows 7)، و741 ms على Windows 2003 بنظام 64-bit

SELECT pprint_addy(addy), st_astext(geomout),rating
                FROM geocode_intersection('Weld', 'School', 'MA', 'Boston');
          pprint_addy          |        st_astext         | rating
-------------------------------+--------------------------+--------
 98 Weld Ave, Boston, MA 02119 | POINT(-71.099 42.314234) |      3
 99 Weld Ave, Boston, MA 02119 | POINT(-71.099 42.314234) |      3

انظر أيضًا

Geocode، Pprint_Addy، ST_AsText