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

मकसद

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

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

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

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

पते की पुष्टि करना बनाम Geocoding API को कब चुनना चाहिए

Address-Validation-vs-Geocoding

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

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

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

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

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

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

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

नीचे कुछ ऐसे उदाहरण दिए गए हैं जिनमें Geocoding API की तुलना में, पते की पुष्टि करने वाले एपीआई की सुविधाओं के बारे में बताया गया है.

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

1 Fake St, Mountain View, CA 94043, USA

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

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

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

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

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

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

alt_text

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

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

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

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

पते की पुष्टि और Geocoding API, दोनों की मदद से इन गलतियों को ठीक किया जा सकता है. साथ ही, 76 बकिंघम पैलेस रोड, लंदन, SW1W 9TQ, को भी नतीजे पाए जा सकते हैं. हालांकि, Address Validation API से इस प्रोसेस के बारे में ज़्यादा जानकारी मिल सकती है.

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

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

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

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

Bollschetraše 86, 12587, जर्मनी

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

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

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

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

परिसर:

"business": true

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

"dpvConfirmation": "S"

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

जियोकोडिंग एपीआई यह जानकारी नहीं दे सकता.

Geocoding API के जवाब को समझना

खास जानकारी

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

Geocoding API के काम करने का तरीका, पते के कॉम्पोनेंट को हैरारकी में सेट करना है.

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

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

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 को किसी सड़क के नंबर को ढूंढा या उससे मैच नहीं किया जा सका.

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

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

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

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

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

अगर जियोकोडिंग एपीआई 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 Verified API का इस्तेमाल करने पर, कोई पता मौजूद न होने पर आपको सीधे तौर पर सुझाव, राय या शिकायत मिलती है.

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

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

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

भूगोल तय करना

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

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

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

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

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

जगह के आईडी स्टोर किए जा रहे हैं

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

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

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

नतीजा

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

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

अगले चरण

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

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

योगदानकर्ता

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

मुख्य लेखक:

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

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

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