पते की पुष्टि बनाम जियोकोडिंग

मकसद

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

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

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

Address Validation API और Geocoding API के बीच के अंतर के बारे में खास जानकारी यहां दी गई है.

Address Validation API और Geocoding API में से किसे कब चुनना चाहिए

Address-Validation-vs-Geocoding

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

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

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

Geocoding API के बजाय, Address Validation API का इस्तेमाल इन मामलों में किया जा सकता है:

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

Address Validation API के बजाय Geocoding API का इस्तेमाल तब किया जा सकता है, जब:

  • आपका मुख्य मकसद किसी पते की जगह की जानकारी हासिल करना है. साथ ही, अलग-अलग पतों की सटीक जानकारी ज़रूरी नहीं है.
    • उदाहरण के लिए, आपको किसी बड़े डेटासेट से हीटमैप जनरेट करना हो सकता है.
  • आपको हाइपर-लोकल डेस्टिनेशन की जानकारी चाहिए. जैसे, इमारत के एंट्री पॉइंट, इमारत की आउटलाइन या पिकअप और ड्रॉप-ऑफ़ नेविगेशन पॉइंट. यह जानकारी, Geocoding API v4 में SearchDestinations तरीके से उपलब्ध है.
  • आपको एक ग्लोबल समाधान की ज़रूरत है और Address Validation API, टारगेट किए गए सभी देशों/इलाकों में उपलब्ध नहीं है.

यहां कुछ उदाहरण दिए गए हैं. इनमें Geocoding API की तुलना में, Address Validation API की क्षमताओं के बारे में बताया गया है.

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

1 Fake St, Mountain View, CA 94043, USA

Address Validation API, इस इनपुट को पते के अलग-अलग कॉम्पोनेंट (गली, शहर, राज्य वगैरह) में बांट देता है. यह टूल, पते के अमान्य होने की वजह के बारे में भी पूरी जानकारी दे सकता है. जैसे, PREMISE लेवल तक की जानकारी.

फ़ेक स्ट्रीट, माउंटेन व्यू, कैलिफ़ोर्निया में मौजूद नहीं है. Address Validation API, कॉम्पोनेंट लेवल पर दी गई जानकारी में यह बात दिखाता है:

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

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

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

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

alt_text

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

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

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

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

Address Validation API और Geocoding API, दोनों ही इन गलतियों को ठीक कर सकते हैं. साथ ही, 76 Buckingham Palace Road, London, SW1W 9TQ जैसा नतीजा दे सकते हैं. हालांकि, Address Validation API से इस प्रोसेस के बारे में ज़्यादा जानकारी मिल सकती है.

यहां पते के उस कॉम्पोनेंट को दिखाया गया है जिसे इनपुट करते समय गलत तरीके से लिखा गया था:

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

Address Validation API एक फ़्लैग दिखाता है, जिससे पता चलता है कि फ़ील्ड में सुधार किया गया है. इस फ़्लैग के आधार पर कारोबारी नियम लागू किए जा सकते हैं, ताकि डेटा उपलब्ध करवाने वाली कंपनी के साथ सुधार की दोबारा जांच की जा सके. जैसे, ई-कॉमर्स चेकआउट में कोई ग्राहक.

डेटा मौजूद न होने और स्पेलिंग की गड़बड़ी का उदाहरण

Bollschestraße 86, 12587, DE

ऊपर दिए गए पते में, सड़क के नाम की स्पेलिंग गलत है. साथ ही, इसमें बर्लिन शहर (इलाका) का नाम मौजूद नहीं है.

Address Validation API, इन दोनों गड़बड़ियों को ठीक कर सकता है. साथ ही, यह PREMISE लेवल का जियोकोड और PREMISE लेवल पर पुष्टि किया गया पता दिखाता है:

Bölschestraße 86, 12587 Berlin, DE

इस मामले में, Geocoding API इनपुट में हुई गड़बड़ियों को ठीक नहीं कर सका. इसलिए, यह ZERO_RESULTS का नतीजा दिखाता है.

पते के मेटाडेटा का एक और उदाहरण

111 8th Avenue Ste 123, New York, NY 10011-5201, US

यह पता सही है. हालांकि, इसमें यूनिट नंबर (Ste 123) गलत है, क्योंकि बिल्डिंग में इस नंबर की कोई यूनिट नहीं है.

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

परिसर:

"business": true

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

"dpvConfirmation": "S"

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

Geocoding API यह जानकारी नहीं दे सकता.

Geocoding API से मिले रिस्पॉन्स को समझना

खास जानकारी

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

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"
           ]

Geocoding API यह पुष्टि कर सकता है कि यह पता किस तरह की जगह का है. Geocoding API से मिले पते types की सूची यहां देखी जा सकती है.

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

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

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

"types": [
  "route"
]

इसका मतलब है कि Geocoding API को कोई स्ट्रीट नंबर नहीं मिला या वह किसी स्ट्रीट नंबर से मेल नहीं खाता.

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

Geocoding API से मिले जवाब में पते की सटीक जानकारी पर भरोसा बढ़ाने के लिए, ऊपर दी गई तकनीकों का इस्तेमाल किया जा सकता है. हालांकि, Address Validation API के नतीजे के उलट, Geocoding API, नतीजे की सटीकता का पता लगाने के लिए सटीक सुझाव नहीं देगा.

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

इस सेक्शन को बेहतर तरीके से समझने के लिए, आपको Geocoding API से मिले जवाब में जगह की जानकारी के अलग-अलग टाइप के बारे में पता होना चाहिए:

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

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

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

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

कुछ हद तक मिलता-जुलता और गलत मैच

अगर कोई पता आंशिक रूप से मैच होता है, तो इसका मतलब है कि Geocoding API, पते की सटीक पहचान नहीं कर सका. ऐसे में, जवाब में यह जानकारी शामिल होती है:

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

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

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

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

सिंथेटिक पते

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

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

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

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

Address Validation API से मिले जवाब के बारे में जानकारी

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

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

देश/इलाके की जानकारी देना

Address Validation या Geocoding API को कॉल करते समय, यह सबसे सही तरीका है कि उस जगह की जानकारी को सीमित किया जाए जहां उस पते को खोजना है. दोनों एपीआई इसे दो अलग-अलग तरीकों से लागू करते हैं:

  • Geocoding API - Region Biasing

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

  • Address Validation API - देश/इलाके का कोड

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

जगह के आईडी सेव करना

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

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

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

नतीजा

इस दस्तावेज़ में, Address Validation API और Geocoding API के बीच के मुख्य अंतर बताए गए हैं. कुल मिलाकर, Address Validation API का इस्तेमाल तब करें, जब:

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

अगले चरण

Improve checkout, delivery, and operations with reliable addresses व्हाइटपेपर डाउनलोड करें और Improving checkout, delivery, and operations with Address Validation वेबिनार देखें.

इस बारे में और पढ़ें:

योगदानकर्ता

Google इस लेख को मैनेज करता है. इस लेख को इन लोगों ने लिखा है.

मुख्य लेखक:

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

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

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