إمكانية إنشاء إمكانية التحقق من الموقع الجغرافي باستخدام "منصة خرائط Google"

الهدف

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

واجهة برمجة التطبيقات للتحقّق من العنوان هي عرض من "منصة خرائط Google" يساعد العملاء في التأكد من دقة أحد العناوين أو عدمه.

الترميز الجغرافي باستخدام Geocoding API هو عملية تحويل العناوين إلى إحداثيات جغرافية، يمكنك استخدامها لوضع العلامات على الخريطة أو موضع على الخريطة.

يمكن الحصول على نظرة عامة شاملة على الاختلافات بين التحقّق من صحة العناوين وواجهة برمجة تطبيقات الترميز الجغرافي هنا.

الحالات التي يجب فيها اختيار التحقّق من صحة العنوان مقابل واجهة برمجة التطبيقات للترميز الجغرافي

Address-Validation-vs-Geocoding

ملاحظات حول الرسم البياني الانسيابي أعلاه:

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

هناك العديد من المواقف التي يمكنك فيها اختيار استخدام منتج على الآخر، بناءً على شجرة القرار أعلاه. لكن قد تتضمن مواقف أخرى استخدام كلا المنتجين لتحقيق أهدافك.

يمكنك اختيار استخدام واجهة برمجة تطبيقات التحقّق من صحة العناوين بدلاً من واجهة برمجة تطبيقات الترميز الجغرافي في الحالات التالية:

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

يمكنك اختيار استخدام الترميز الجغرافي بدلاً من واجهة برمجة تطبيقات التحقّق من صحة العناوين في الحالات التالية:

  • هدفك الأساسي هو استرداد موقع العنوان، وقد لا تكون دقة العناوين الفردية بالغة الأهمية.
    • على سبيل المثال، لإنشاء خريطة تمثيل لوني من مجموعة كبيرة من البيانات.
  • تحتاج إلى حل شامل ولا تتوفّر واجهة برمجة تطبيقات التحقّق من صحة العناوين في جميع المناطق المستهدَفة.

في ما يلي بعض الأمثلة التي توضِّح إمكانات واجهة برمجة التطبيقات التحقّق من صحة العنوان مقارنةً بواجهة برمجة التطبيقات للترميز الجغرافي.

مثال على عنوان غير صالح

1 Fake St, Mountain View, CA 94043, USA

تقسّم واجهة برمجة تطبيقات التحقّق من صحة العناوين هذا الإدخال إلى مكونات العنوان الفردية (الشارع والمدينة والولاية وغيرها). ويمكنها أيضًا تقديم ملاحظات دقيقة عن سبب عدم صلاحية العنوان حتى مستوى PREMISE.

لا تتوفّر سمة Fake St في ماونتن فيو في كاليفورنيا، وتعكس واجهة برمجة تطبيقات التحقّق من صحة العنوان ذلك في تفاصيل مستوى المكوِّن الذي يتم عرضه:

{
  "componentName": {
    "text": "Fake St",
    "languageCode": "en"
   },
   "componentType": "route",
   "confirmationLevel":"UNCONFIRMED_BUT_PLAUSIBLE"
 }

السمة المهمة التي يجب فحصها في هذه الحالة هي confirmationLevel. من خلال عرض UNCONFIRMED_BUT_PLAUSIBLE مقابل Fake St، قررت واجهة برمجة التطبيقات أنّه من الممكن أن يتم استخدام ذلك الاسم لشارع، ولكن ستتعذّر مطابقته مع بيانات العنوان الداعمة.

باستخدام نتيجة واجهة برمجة التطبيقات كملاحظات، يمكن استنتاج أن مكون الشارع لهذا الإدخال (Fake St) خطأ.

وباستخدام العنوان نفسه مع واجهة برمجة تطبيقات الترميز الجغرافي، يمكن إجراء مطابقة لمدينة "كاليفورنيا" كما تظهر في لقطة الشاشة من أداة الترميز الجغرافي التي يمكنك تجربتها هنا:

alt_text

ومع ذلك، فإن النتيجة هي ترميز جغرافي للدولة بأكملها، مع الحد الأدنى من الملاحظات بشأن أي مكونات يُحتمل أن تكون خاطئة في المُدخل.

مثال على خطأ إملائي

76 Buckingamm Palace Road, Londn, SW1W 9TQ, GB

يحتوي العنوان أعلاه على خطأين إملائيين، أحدهما في اسم الشارع والآخر في المنطقة المحلية.

يمكن لكل من واجهة برمجة تطبيقات التحقق من العنوان والترميز الجغرافي من تصحيح هذه الأخطاء وتحقيق نتيجة 76 Buckingham Palace Road, London, SW1W 9TQ. ومع ذلك، يمكن لواجهة برمجة تطبيقات التحقّق من صحة العنوان تقديم المزيد من المعلومات عن العملية.

ألقِ نظرة على أحد مكوّنات العنوان التي تحتوي على خطأ إملائي عند الإدخال:

{
  "componentName": {
    "text": "Buckingham Palace Road",
    "languageCode": "en"
        },
        "componentType": "route",
        "confirmationLevel": "CONFIRMED",
        "spellCorrected": true
     }
}

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

مثال على بيانات مفقودة وخطأ إملائي

بولششتراسه 86، 12587، ألمانيا

يحتوي العنوان أعلاه على خطأ إملائي في اسم الشارع، ولا يحتوي على مدينة برلين (المنطقة المحلية).

يمكن لواجهة برمجة تطبيقات التحقّق من صحة العنوان إصلاح هذين الخطأين وعرض رمز جغرافي على مستوى PREMISE وعنوان يتم إثبات ملكيته على المستوى PREMISE:

Bölschestraße 86, 12587 Berlin, DE

يتعذر على واجهة برمجة تطبيقات الترميز الجغرافي التغلب على أخطاء الإدخال في هذه الحالة، وتعرض نتيجة ZERO_RESULTS.

مثال على البيانات الوصفية الإضافية للعناوين

111 شارع السلام ستي 123، نيويورك، نيويورك 10011-5201، الولايات المتحدة

هذا العنوان صحيح باستثناء رقم الوحدة (الفرع 123)، والذي لا يوجد داخل المبنى.

يمكن لواجهة برمجة التطبيقات تأكيد صحة العنوان في العنوان PREMISE (شارع 111 8)، وتقديم بعض البيانات الوصفية حول الموقع، بما في ذلك ما إذا كان الموقع عبارة عن نشاط تجاري.

المباني:

"business": true

بالإضافة إلى ذلك، قيمة dpvConfirmation التي يتم عرضها كجزء من uspsData في الردّ هي S:

"dpvConfirmation": "S"

تشير القيمة dpvConfirmation في S إلى أنّه تم التحقّق من صحة العنوان باستخدام مستوى PREMISE، ولكن رقم الوحدة المقدّم في الإدخال لا يرتبط بهذا العنوان.

يتعذّر على واجهة برمجة تطبيقات الترميز الجغرافي تقديم هذه المعلومات.

فهم استجابة واجهة برمجة التطبيقات للترميز الجغرافي

نظرة عامة

إذا كنت تستخدم واجهة برمجة تطبيقات الترميز الجغرافي، تحتوي نتيجة الرمز الجغرافي على أدلة مختلفة في الاستجابة يمكن استخدامها لفهم تفاصيل العنوان المقدَّم.

طريقة عمل واجهة برمجة التطبيقات Geocoding API هي من خلال حل مكونات العنوان في تسلسل هرمي.

على سبيل المثال، **يتم تحليل السمة 123 Example Street, Chicago, 60007, USA بالترتيب التالي:

سيتم تقييم / Example Street/ Chicago/ 60007/ USA بهذا الترتيب. أوّل تطابق في هذه الحالة هو مدينة شيكاغو، وبشكل أكثر تحديدًا، الرمز البريدي لـ 60007. لذلك، تعرض Place_id التالي لهذا الرمز البريدي:

ChIJwRKzf8ixD4gRHiXqucwr_HQ

تحتوي واجهة برمجة التطبيقات Geocode API على المعلومات التالية في الرد:

        "partial_match": true,
           "place_id": "ChIJwRKzf8ixD4gRHiXqucwr_HQ",
           "types": [
               "postal_code"
           ]

يمكن لواجهة برمجة تطبيقات الترميز الجغرافي تأكيد نوع المكان الذي ينتمي إليه هذا العنوان. يمكن العثور هنا على قائمة بالعناوين types التي تعرضها واجهة برمجة تطبيقات الترميز الجغرافي.

إذا لم يتم حل أي من مكونات الإدخال، تعرض واجهة برمجة التطبيقات ما يلي:

{
   "results": [],
   "status": "ZERO_RESULTS"
}

يؤدي تقديم طلب باستخدام عنوان الشارع فقط بدون رقم المنزل إلى عرض نتيجة بالصيغة:

"types": [
  "route"
]

مما يعني أن واجهة برمجة تطبيقات الترميز الجغرافي لم تتمكن من العثور على رقم شارع أو مطابقته.

ملاحظة: لمعرفة ما إذا كان العنوان متوفّرًا، يمكنك التحقّق مما إذا تم ضبط أيّ من المعلَمات (مثل types وpartial_match, results, status)) في استجابة واجهة برمجة التطبيقات للترميز الجغرافي. سيؤدي ذلك إلى زيادة مستوى الثقة تدريجيًا في أنّ العنوان قد يكون متوفّرًا، ولكنّه لن يجعله دقيقًا بنسبة% 100. ولهذا السبب، نحن بحاجة إلى واجهة برمجة تطبيقات التحقّق من صحة العناوين.

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

نوع الموقع

لفهم هذا القسم بشكل صحيح، عليك فهم أنواع المواقع الجغرافية التي يمكن عرضها المختلفة من استجابة واجهة برمجة التطبيقات Geocoding API:

  • تشير دالة ROOFTOP إلى أن النتيجة التي يتم عرضها هي رمز جغرافي دقيق لدينا معلومات موقع دقيقة له بما يتوافق مع دقة عنوان الشارع.
  • تشير دالة RANGE_INTERPOLATED إلى أن النتيجة المعروضة تعكس تقديرًا تقريبيًا (عادةً على طريق) يتم إدخاله بين نقطتين دقيقتين (مثل التقاطعات). بشكل عام، يتم عرض النتائج المُدخلة عندما لا تكون الرموز الجغرافية للأسطح غير متوفرة لعنوان الشارع.
  • تشير GEOMETRIC_CENTER إلى أن النتيجة المعروضة هي المركز الهندسي للنتيجة مثل الخطوط المتعددة (على سبيل المثال، شارع) أو المضلّع (المنطقة).
  • تشير دالة APPROXIMATE إلى أن النتيجة المعروضة لا شيء مما سبق.

إذا عرضت واجهة برمجة تطبيقات الترميز الجغرافي location_type من ROOFTOP أو RANGE_INTERPOLATED، لا يعني ذلك بالضرورة أنّ العنوان متوفّر. وبالمثل، في حال ظهور واجهة برمجة تطبيقات الترميز الجغرافي مع ضبط العلامة partial_match على true، قد تكون هذه هي النتيجة المناسبة لك.

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

ملاحظة: إذا قرَّرت استخدام واجهة برمجة التطبيقات Geocoding API، ننصحك بإجراء عمليات تحقّق من جودة البيانات بين الطلب الأولي واستجابة واجهة برمجة التطبيقات Geocoding API بانتظام.

المطابقة الجزئية والمطابقة الخاطئة

إذا كان العنوان مطابقًا جزئيًا، ما يعني أن واجهة برمجة التطبيقات للترميز الجغرافي لم تتمكّن من تحديد العنوان بدقة، فعندئذ يحتوي الرد على:

"partial_match": true,
"types": [
           "locality",
           "political"
         ]

وهناك أهمية أكثر من أنواع المواقع الجغرافية المذكورة أعلاه والتي يجب أخذها في الاعتبار عند إدراج partial_match = true في الردّ. تشير السمة partial_match إلى أنّ واجهة برمجة التطبيقات Geocoding API لم تعرض مطابقة تامة للطلب الأصلي، على الرغم من أنّها تمكنت من مطابقة جزء من العنوان المطلوب.

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

على سبيل المثال، يعرض "21 Henr St, Bristol, UK" مطابقة جزئية لكل من Henry Street وHenrietta Street. تجدر الإشارة إلى أنّه إذا تضمّن الطلب مكون عنوان به خطأ إملائي، قد تقترح واجهة برمجة التطبيقات Geocoding API عنوانًا بديلاً. لن يتم تمييز الاقتراحات التي يتم عرضها بهذه الطريقة على أنها مطابقة جزئية.

العناوين الاصطناعية

قد تعرض واجهة برمجة التطبيقات Geocoding API مواقع لعناوين "تركيبية" غير موجودة كمواقع جغرافية دقيقة في قاعدة بيانات Google.

في هذه السيناريوهات، يحتوي عنصر الاستجابة غالبًا على رقم تعريف مكان طويل والسمة التالية: geometry.location_type=APPROXIMATE.

إذا ظهرت لك هذه المؤشرات في الردّ، يمكنك وضع علامة على عنوان تم إدخاله على أنّه غير صالح ومحاولة إعادة التحقّق منه باستخدام طريقة أخرى.

ملاحظة: هذا مثال آخر يمكنك من خلاله الحصول على ملاحظات مباشرة من خلال واجهة برمجة تطبيقات التحقّق من صحة العنوان إذا لم يكن العنوان متوفّرًا.

فهم استجابة واجهة برمجة التطبيقات للتحقق من صحة العنوان

تتوفر مستندات مفيدة حول كيفية فهم الردود من واجهة برمجة تطبيقات التحقّق من صحة العناوين، لذلك لن ندخل في تفاصيل أخرى هنا.

  • يمكن العثور على نظرة عامة على عنصر الاستجابة هنا.
  • يمكن هنا الاطّلاع على العرض التوضيحي الذي يوضِّح المكونات المختلفة للرد
  • في مستند التحقّق من صحة العنوان للدفع، يتوفر وصف تفصيلي لكيفية التمييز بين العناوين الجيدة والعناوين غير الصالحة.

أفضل الممارسات

تحديد الموقع الجغرافي

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

  • واجهة برمجة التطبيقات للترميز الجغرافي - انحياز المنطقة

    إذا كنت تعرف أن الرموز الجغرافية ستكون ضمن بلد معين، يمكنك الحصول على نتائج أفضل بكثير باستخدام انحياز المنطقة. على سبيل المثال، في حال إجراء الترميز الجغرافي في كندا، ننصحك بإضافة &region=ca إلى طلباتك للانحياز نحو كندا. الرجاء ملاحظة أن انحياز المنطقة يفضل النتائج ضمن تلك المنطقة فقط. سيظلّ بإمكانك الحصول على نتائج خارج المنطقة.

  • العنوان لواجهة برمجة التطبيقات للتحقّق من صحة العنوان - رمز المنطقة

    وبالمثل، تُنتج واجهة برمجة تطبيقات التحقّق من صحة العنوان نتائج أكثر دقة في حال تمرير رمز ISO2 في الطلب باستخدام الحقل regionCode.

تخزين معرّفات الأماكن

لتخزين معلومات من "منصة خرائط Google" عن الموقع الجغرافي من أجل تقديم طلبات مستقبلية، يمكنك تخزين رقم تعريف المكان إلى أجل غير مسمى في قاعدة البيانات كسمة للموقع الجغرافي. ويجب ألا تحتاج إلى تقديم طلب بحث عن مكان سوى مرة واحدة لكل رقم تعريف مكان. يمكنك أيضًا البحث عن رقم تعريف المكان في كل مرة يطلب فيها أحد المستخدمين تفاصيل المعاملة.

لضمان حصولك على أحدث المعلومات دائمًا، حدِّث أرقام تعريف الأماكن كل 12 شهرًا باستخدام طلب تفاصيل المكان باستخدام مَعلمة place_id.

ملاحظة: يُرجى أيضًا مراجعة دليل أفضل الممارسات للترميز الجغرافي.

الخلاصة

يوضِّح هذا المستند الاختلافات الأساسية بين واجهات برمجة تطبيقات "التحقّق من العناوين" و"الترميز الجغرافي". باختصار، يمكنك استخدام واجهة برمجة تطبيقات التحقّق من صحة العناوين في الحالات التالية:

  • يجب إدخال عنوان بريدي دقيق، خاصةً لأغراض التسليم.
  • يُعرف أنّ بيانات الإدخال ذات جودة رديئة. تساعد واجهة برمجة تطبيقات التحقّق من صحة العناوين في التغاضي عن أخطاء الإدخال، وتحديد مكونات العنوان التي لا يمكن إثبات صحتها، وإجراء تصحيحات على بيانات الإدخال.
  • يجب توفير مزيد من المعلومات عند اختيار عنوان، مثل "سكني" مقابل "تجاري" (متوفّر في مناطق محدّدة).

الخطوات التالية

يمكنك تنزيل المستند الموجز حول تحسين عمليات الدفع والتسليم والعمليات من خلال عناوين موثوقة والاطّلاع على البرنامج التعليمي على الويب تحسين عمليات الدفع والتسليم والعمليات من خلال التحقق من العنوان .

اقترحت مزيدًا من القراءة:

المساهمون

تحتفظ Google بهذه المقالة. كتب المساهمون التالي ذكرهم في الأصل.

المؤلفون الرئيسيون:

هنريك فالف | مهندس حلول

توماس أنغلاريت | مهندس حلول

سارثاك جانغولي | مهندس حلول