Google Maps Platform का इस्तेमाल करके, जगह की पुष्टि करने की सुविधा बनाना

कैंपेन का मकसद

आपको अक्सर किसी जगह की पुष्टि करनी होगी. Google Maps Platform में कुछ ऐसी अलग-अलग सेवाएं हैं जो इस इस्तेमाल के उदाहरण में आपकी मदद कर सकती हैं. इस दस्तावेज़ से आपको जगह की पुष्टि करने वाली दो मुख्य सेवाओं में से किसी एक को चुनने में मदद मिलती है - पते की पुष्टि करने वाला एपीआई और जियोकोडिंग एपीआई.

Address Validation API, Google Maps Platform का एक ऑफ़र है. इससे खरीदारों को यह पुष्टि करने में मदद मिलती है कि पता सही है या नहीं.

जियोकोडिंग एपीआई से जियोकोडिंग, पतों को भौगोलिक निर्देशांक में बदलने की प्रक्रिया है. इसका इस्तेमाल करके, मैप पर या मैप पर किसी जगह पर मार्कर लगाए जा सकते हैं.

पते की पुष्टि और जियोकोडिंग एपीआई के बीच के अंतर की खास जानकारी यहां मिल सकती है.

पते की पुष्टि करने वाले बनाम जियोकोडिंग एपीआई को कब चुनना है

Address-Validation-vs-Geocoding

ऊपर दिए गए फ़्लो चार्ट के बारे में ज़रूरी बातें:

  • उपयोगकर्ता के इंटरैक्शन के इस्तेमाल का उदाहरण, वह समय होता है जब कोई उपयोगकर्ता, नतीजों को देखने के लिए मौजूद होता है.
  • जगहें ऑटोकंप्लीट की सुविधा एक JavaScript एपीआई है. इसलिए, यह यूज़र इंटरफ़ेस के साथ इंटिग्रेट करने के लिए सही है.
  • हो सकता है कि आपको अपने मौजूदा पतों में डेटा क्वालिटी की समस्याओं के बारे में पता हो. हालांकि, हो सकता है कि आपको सिर्फ़ जियोकोड का इस्तेमाल करना हो, लेकिन डेटासेट को सही करने के लिए पते की पुष्टि करने वाले एपीआई के ज़रिए उन जगहों को चलाने की सलाह दी जाती है.

ऊपर दिए गए फ़ैसले के ट्री के आधार पर, कई स्थितियों में किसी एक प्रॉडक्ट को दूसरे प्रॉडक्ट के बजाय, इस्तेमाल किया जा सकता है. हालांकि, अपने लक्ष्यों को हासिल करने के लिए दोनों प्रॉडक्ट का इस्तेमाल करना भी ज़रूरी है.

जियोकोडिंग एपीआई के बजाय पते की पुष्टि करने वाले एपीआई का इस्तेमाल तब किया जा सकता है, जब:

  • इस बात की संभावना काफ़ी ज़्यादा होती है कि जानकारी संदिग्ध हो या जहां गलत पता मिलने से डाउनस्ट्रीम पर बुरा असर पड़े. इसकी वजह यह है कि Address Validation API से यह पता चलता है कि किसी इनपुट को ज़्यादा सटीक नतीजा क्यों नहीं मिला.
  • आपको उपयोगकर्ता के इनपुट सही करने होंगे.जैसे, गलत स्पेलिंग या फ़ील्ड मौजूद न होना. इससे आउटपुट पर सटीक नतीजे मिलने की संभावना बढ़ जाती है.
  • आपके टारगेट किए गए इलाके में, जियोकोडिंग एपीआई की तुलना में पते की पुष्टि करने वाले एपीआई से ज़्यादा मेटाडेटा दिखता है. जैसे, रिहायशी और कारोबारी, दोनों तरह की इमारतों की कैटगरी.

पते की पुष्टि करने वाले एपीआई पर जियोकोडिंग का इस्तेमाल तब किया जा सकता है, जब:

  • आपका मुख्य उद्देश्य किसी पते की जगह की जानकारी पाना है और हो सकता है कि हर पते की सटीक जानकारी देना अहम न हो.
    • उदाहरण के लिए, डेटा के किसी बड़े सेट से हीटमैप जनरेट करना.
  • आपको एक ग्लोबल समाधान चाहिए और पते की पुष्टि करने वाला एपीआई, टारगेट किए गए सभी इलाकों में उपलब्ध नहीं है.

यहां कुछ उदाहरण दिए गए हैं, जो जियोकोडिंग एपीआई की तुलना में पते की पुष्टि करने वाले एपीआई की क्षमताओं को दिखाते हैं.

अमान्य पते का उदाहरण

1 नकली St, Mountain View, CA 94043, USA

पते की पुष्टि करने वाला एपीआई इस इनपुट को अपने अलग-अलग पते के कॉम्पोनेंट (सड़क, शहर, राज्य वगैरह) में बांट देता है. यह इस बारे में भी पूरी जानकारी दे सकता है कि पता PREMISE लेवल तक मान्य क्यों नहीं है.

माउंटेन व्यू, कैलिफ़ोर्निया में फ़र्ज़ी St मौजूद नहीं है. पते की पुष्टि करने वाले एपीआई से यह जानकारी मिलती है कि कॉम्पोनेंट लेवल की जानकारी यहां दी गई है:

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

इस मामले में, जांच करने के लिए ज़रूरी प्रॉपर्टी confirmationLevel है. फ़ेक स्ट्रीट के ख़िलाफ़ UNCONFIRMED_BUT_PLAUSIBLE लौटाने पर, एपीआई ने यह तय किया है कि किसी सड़क का नाम हो सकता है. हालांकि, यह मेल नहीं खाने वाले पते के डेटा से मेल नहीं खाता.

एपीआई के नतीजे से मिले नतीजे का इस्तेमाल करके, यह पता लगाया जा सकता है कि इस इनपुट (नकली St) के सड़क के कॉम्पोनेंट में गलती है.

जियोकोडिंग एपीआई के साथ उसी पते का इस्तेमाल करके, यह “कैलिफ़ोर्निया” के लिए मिलता-जुलता है, जैसा कि आपको जियोकोडिंग टूल के स्क्रीनशॉट में दिख रहा है, जिसे आप यहां आज़मा सकते हैं:

alt_text

हालांकि, इससे पूरे राज्य का जियोकोड आता है, जिसमें इनपुट के कॉम्पोनेंट में गड़बड़ी होने के बारे में बहुत कम फ़ीडबैक मिलता है.

स्पेलिंग से जुड़ी गड़बड़ी का उदाहरण

76 बकिंगाम पैलेस रोड, लॉन, SW1W 9TQ, जीबी

ऊपर दिए गए पते में स्पेलिंग की कुछ गड़बड़ियां हैं, एक सड़क के नाम में और दूसरी मोहल्ले में है.

Address वैलिडिटी और जियोकोडिंग एपीआई, दोनों से इन गलतियों को ठीक किया जा सकता है और 76 बकिंघम पैलेस रोड, लंदन, 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 8th Avenue Ste 123, New York, NY 10011-5201, US

यह पता इकाई नंबर (Ste 123) के अलावा सही है, जो इमारत में मौजूद नहीं है.

पते की पुष्टि करने वाला एपीआई, PREMISE (111 8th Ave) के पते की पुष्टि कर सकता है. साथ ही, इस प्रॉपर्टी के बारे में कुछ मेटाडेटा भी दे सकता है, जिसमें यह भी शामिल है कि यह एक व्यावसायिक है

परिसर:

"business": true

इसके अलावा, रिस्पॉन्स में uspsData के हिस्से के तौर पर मिली dpvConfirmation वैल्यू S है:

"dpvConfirmation": "S"

dpvConfirmation की वैल्यू S बताती है कि पते की पुष्टि PREMISE लेवल पर की गई है, लेकिन इनपुट में दिया गया यूनिट नंबर उस पते से जुड़ा हुआ नहीं है.

जियोकोडिंग एपीआई यह जानकारी देने में असमर्थ है.

जियोकोडिंग एपीआई से मिले रिस्पॉन्स को समझना

खास जानकारी

अगर जियोकोड के एपीआई का इस्तेमाल किया जाता है, तो जियोकोड के नतीजे में कई संकेत शामिल होते हैं. इन संकेतों का इस्तेमाल दिए गए पते की जानकारी को समझने के लिए किया जा सकता है.

जियोकोडिंग एपीआई के काम करने का तरीका पदानुक्रम में पते के कॉम्पोनेंट को हल करना है.

**उदाहरण के लिए, 123 Example Street, Chicago, 60007, USA का समाधान नीचे दिए गए क्रम में होता है:

/ Example Street/ Chicago/ 60007/ USA का आकलन इसी क्रम में किया जाएगा. इस मामले में, पहला मिलान शिकागो है और खास तौर पर, 60007 पिन कोड है. इसलिए, यह उस पिन कोड के लिए नीचे दिया गया Places_id दिखाता है:

ChIJwRKzf8ixD4gRHiXqucwr_HQ

जियोकोड API के रिस्पॉन्स में यह जानकारी शामिल होती है:

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

जियोकोडिंग एपीआई यह पुष्टि कर सकता है कि यह पता किस तरह के स्थान से संबंधित है. जियोकोडिंग एपीआई से मिले types पते की सूची यहां देखी जा सकती है.

अगर इनपुट का कोई भी कॉम्पोनेंट ठीक नहीं होता है, तो एपीआई यह जानकारी दिखाता है:

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

घर के नंबर के बिना मोहल्ले के पते का इस्तेमाल करके अनुरोध करने पर, नतीजे के तौर पर फ़ॉर्म मिलता है:

"types": [
  "route"
]

इसका मतलब है कि जियोकोडिंग एपीआई सड़क के नंबर को ढूंढ नहीं सका या उससे मेल नहीं खा सका.

ध्यान दें: कोई पता मौजूद है या नहीं, यह जानने के लिए देखें कि जियोकोडिंग एपीआई के रिस्पॉन्स में किसी पैरामीटर (जैसे कि types, partial_match, results, status) को सेट किया गया है या नहीं.) इससे पते के मौजूद होने की संभावना का लेवल धीरे-धीरे बढ़ेगा. हालांकि, यह 100% सटीक नहीं होगा. इसलिए, हमें पते की पुष्टि करने वाले एपीआई की ज़रूरत है.

सिर्फ़ जियोकोडिंग एपीआई के रिस्पॉन्स से पता सटीक होने में भरोसा बढ़ाने के लिए, ऊपर दी गई तकनीकों का इस्तेमाल किया जा सकता है. हालांकि, पते की पुष्टि करने वाले एपीआई के नतीजे से अलग, जियोकोडिंग एपीआई यह पता लगाने के लिए सटीक सुझाव नहीं देगा कि नतीजा कितना सटीक है.

लोकेशन किस तरह की है

इस सेक्शन को अच्छी तरह से समझने के लिए, आपको जियोकोडिंग एपीआई रिस्पॉन्स से दिखने वाली अलग-अलग तरह की जगहों को समझना होगा:

  • ROOFTOP दिखाता है कि लौटाया गया नतीजा एक सटीक जियोकोड है जिसके लिए हमारे पास जगह की सटीक जानकारी से लेकर मोहल्ले का पता सटीक होता है.
  • RANGE_INTERPOLATED यह बताता है कि लौटाया गया नतीजा दो सटीक बिंदुओं (जैसे चौराहों) के बीच का अनुमान (आम तौर पर सड़क पर) दिखाता है. इंटरपोलेट किए गए नतीजे आम तौर पर तब दिखाए जाते हैं, जब किसी मोहल्ले के पते के लिए छत पर जियोकोड उपलब्ध नहीं होता.
  • GEOMETRIC_CENTER से पता चलता है कि दिखाया गया नतीजा, किसी नतीजे का ज्यामितीय केंद्र है, जैसे कि पॉलीलाइन (उदाहरण के लिए, सड़क) या पॉलीगॉन (क्षेत्र).
  • मेज़रमेंट से पता चलता है कि रिस्पॉन्स के तौर पर मिला नतीजा, ऊपर दिए गए विकल्पों में से कोई नहीं है.

अगर जियोकोडिंग एपीआई ROOFTOP या RANGE_INTERPOLATED का location_type देता है, तो इसका हमेशा यह मतलब नहीं है कि पता मौजूद है. इसी तरह, अगर जियोकोडिंग एपीआई partial_match फ़्लैग के साथ true पर सेट रहता है, तो भी यह आपके लिए सही नतीजा हो सकता है.

इस तरह की गलत मैचिंग वाली समस्या को जियोकोडिंग एपीआई से हल करना बहुत मुश्किल है. कम से कम आप अनुरोध / जवाब के देश और शहर पर, पोस्ट प्रोसेसिंग की पुष्टि करने के कुछ बुनियादी तरीके लागू करने पर विचार कर सकते हैं. इससे भी बेहतर तरीका यह है कि गलत स्पेलिंग और/या अधूरे पते का पता लगाने के लिए, मोहल्ले के असल पतों की तुलना की जाए.

ध्यान दें: अगर आपने जियोकोडिंग एपीआई का इस्तेमाल करने का फ़ैसला लिया है, तो हमारा सुझाव है कि शुरुआती अनुरोध और जियोकोडिंग एपीआई से मिले रिस्पॉन्स के बीच नियमित रूप से डेटा क्वालिटी की जांच करें.

अधूरा मैच और गलत मैच

अगर कोई पता अधूरा है, तो इसका मतलब है कि जियोकोडिंग एपीआई सटीक तरीके से पते की पहचान नहीं कर सका, तो रिस्पॉन्स में यह जानकारी शामिल होती है:

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

जवाब में partial_match = true के शामिल होने पर, ऊपर बताई गई जगहों के टाइप से ज़्यादा ज़रूरी है. partial_match बताता है कि जियोकोडिंग एपीआई ने मूल अनुरोध के लिए सटीक मिलान नहीं दिया, हालांकि यह अनुरोध किए गए पते के हिस्से से मिलान कर सका.

अधूरे पते के लिए, मूल अनुरोध की जांच की जा सकती है. आंशिक मिलान अक्सर उन मोहल्ले के पतों के लिए होते हैं, जो अनुरोध में बताए गए शहर में मौजूद नहीं हैं. जब कोई अनुरोध एक ही शहर में दो या ज़्यादा जगहों से मेल खाता है, तब भी आंशिक मिलान की प्रोसेस दिखाई जा सकती है.

उदाहरण के लिए, "21 Henr St, Bristol, UK" से हेनरी स्ट्रीट और हेनरीटा स्ट्रीट, दोनों के डेटा का कुछ हिस्सा मैच करता है. ध्यान दें कि अगर किसी अनुरोध में गलत स्पेलिंग वाला पता कॉम्पोनेंट शामिल है, तो जियोकोडिंग एपीआई किसी दूसरे पते का सुझाव दे सकता है. इस तरह ट्रिगर होने वाले सुझावों को 'कुछ हद तक मैच करने वाले' के तौर पर मार्क नहीं किया जाएगा.

एआई से जनरेट हुए पते

जियोकोडिंग एपीआई, उन "सिंथेटिक" पतों के लिए जगह की जानकारी दिखा सकता है जो Google के डेटाबेस में सटीक जगह की जानकारी के तौर पर मौजूद नहीं हैं.

ऐसे मामलों में, रिस्पॉन्स ऑब्जेक्ट में अक्सर एक लंबा जगह का आईडी और यह प्रॉपर्टी होती है: geometry.location_type=APPROXIMATE.

अगर जवाब में आपको ये संकेत मिलते हैं, तो कृपया इनपुट पते को अमान्य के तौर पर मार्क करें और किसी दूसरे तरीके से उसकी फिर से पुष्टि करने की कोशिश करें.

ध्यान दें: यह एक और उदाहरण है जिसमें पते की पुष्टि करने वाले एपीआई की मदद से, कोई पता मौजूद न होने पर आपको सीधे तौर पर सुझाव मिलता है.

पते की पुष्टि करने वाले एपीआई से मिले रिस्पॉन्स को समझना

Address Validation API से मिले जवाबों को समझने का तरीका जानने के लिए, हमारे पास पहले से ही बेहतरीन दस्तावेज़ मौजूद हैं. इसलिए, हम यहां ज़्यादा जानकारी नहीं दे पाएंगे.

सबसे सही तरीके

भूगोल की जानकारी देना

पते की पुष्टि करने वाले या जियोकोडिंग एपीआई को कॉल करते समय, सबसे अच्छा तरीका यह है कि आप अलग-अलग जगहों पर ही उस पते की खोज करें. दोनों एपीआई इसे दो अलग-अलग तरीकों से लागू करते हैं:

  • जियोकोडिंग एपीआई - इलाके का मापदंड तय करना

    अगर आपको पता है कि जियोकोड किसी देश में ही होने वाला है, तो आपको क्षेत्र के आधार पर भेदभाव का इस्तेमाल करके बेहतर नतीजे मिलते हैं. उदाहरण के लिए, अगर कनाडा में जियोकोडिंग की जा रही है, तो हमारा सुझाव है कि कनाडा का पक्षपात करने के लिए अपने अनुरोधों में &region=ca जोड़ें. कृपया ध्यान दें कि क्षेत्र के हिसाब से अनुमान लगाने की सुविधा, सिर्फ़ उसी इलाके के नतीजों को प्राथमिकता देती है. आपको अब भी क्षेत्र से बाहर के नतीजे मिल सकते हैं.

  • पते की पुष्टि करने वाला एपीआई - इलाके का कोड

    इसी तरह, अगर पते की पुष्टि करने वाला एपीआई regionCode फ़ील्ड का इस्तेमाल करके अनुरोध में ISO2 कोड पास करता है, तो वह ज़्यादा सटीक नतीजे देता है.

जगह के आईडी स्टोर करना

आने वाले समय के अनुरोधों के लिए, जगह के बारे में Google Maps Platform से जानकारी सेव करने के लिए, जगह के एट्रिब्यूट के तौर पर अपने डेटाबेस में जगह के आईडी को स्टोर किया जा सकता है. आपको हर प्लेसID के लिए सिर्फ़ एक बार जगह ढूंढें अनुरोध करना होगा. जब भी कोई उपयोगकर्ता लेन-देन की जानकारी का अनुरोध करता है, तब हर बार जगह का आईडी खोजा जा सकता है.

यह पक्का करने के लिए कि आपको हमेशा सबसे नई जानकारी मिलती रहे, place_id पैरामीटर के साथ जगह की जानकारी के अनुरोध का इस्तेमाल करके, हर 12 महीने में प्लेस आईडी रीफ़्रेश करें.

ध्यान दें: कृपया जियोकोडिंग के लिए सबसे सही तरीकों वाली गाइड ज़रूर देखें.

नतीजा

इस दस्तावेज़ में पते की पुष्टि करने और जियोकोडिंग एपीआई के बीच के मुख्य अंतर के बारे में बताया गया है. खास जानकारी में, पते की पुष्टि करने वाले एपीआई का इस्तेमाल तब करें, जब:

  • सटीक डाक पता देना ज़रूरी है, खास तौर पर डिलीवरी के मकसद से.
  • इनपुट डेटा खराब गुणवत्ता के रूप में जाना जाता है. पते की पुष्टि करने वाला एपीआई, इनपुट की गड़बड़ियों को आसानी से नज़रअंदाज़ कर सकता है. यह एपीआई, पते के ऐसे कॉम्पोनेंट को हाइलाइट करता है जिनकी पुष्टि नहीं की जा सकती. साथ ही, यह इनपुट डेटा में सुधार करता है.
  • किसी पते के लिए ज़्यादा जानकारी की ज़रूरत होती है. जैसे, रिहायशी और व्यावसायिक इमारत (चुनिंदा इलाकों में उपलब्ध).

अगले चरण

भरोसेमंद पते की मदद से चेकआउट, डिलीवरी, और कार्रवाइयों को बेहतर बनाने के लिए व्हाइट पेपर डाउनलोड करें. साथ ही, पते की पुष्टि करने की सुविधा की मदद से, चेकआउट, डिलीवरी, और कार्रवाइयों को बेहतर बनाना वेबिनार देखें.

आगे पढ़ने का सुझाव:

योगदानकर्ता

Google इस लेख को सेव रखता है. मूल रूप से इन योगदान देने वालों ने इसे लिखा है.

मुख्य लेखक:

हेनरिक वाल्व | सलूशन इंजीनियर

थॉमस एंगलरेट | सलूशन इंजीनियर

सार्थक गांगुली | सलूशन इंजीनियर