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

मकसद

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

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

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

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

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

Address-Validation-vs-Geocoding

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

  • उपयोगकर्ता के इंटरैक्शन के इस्तेमाल के उदाहरण का मतलब है, जब कोई उपयोगकर्ता नतीजों के साथ इंटरैक्ट करने के लिए मौजूद हो.
  • किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा एक 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 और 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, ROOFTOP या RANGE_INTERPOLATED का location_type दिखाता है, तो इसका मतलब यह नहीं है कि पता मौजूद है. इसी तरह, अगर 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 के डेटाबेस में सटीक जगहों के तौर पर मौजूद नहीं होते.

ऐसे मामलों में, रिस्पॉन्स ऑब्जेक्ट में अक्सर जगह का लंबा आईडी और यह प्रॉपर्टी शामिल होती है: 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 के लिए, Find Place का अनुरोध सिर्फ़ एक बार करना होगा. जब भी कोई उपयोगकर्ता लेन-देन की जानकारी का अनुरोध करे, तब भी जगह का आईडी खोजा जा सकता है.

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

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

नतीजा

इस दस्तावेज़ में, 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 इस लेख को मैनेज करता है. इसे मूल रूप से इन योगदान देने वालों ने लिखा है.

मुख्य लेखक:

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

थॉमस आंग्लारे | सलूशन इंजीनियर

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