रिवर्स भौगोलिक कोडिंग (पता लुकअप) और जवाब

आम तौर पर, जियोकोडिंग शब्द का मतलब है कि मैप पर मौजूद ऐसी जगह का अनुवाद किया जाए जिसे लोग पढ़ सकें. इसके उलट, मैप पर किसी जगह का अनुवाद ऐसी जगह पर किया जाता है जिसे आसानी से पढ़ा जा सके. इस तरीके को रिवर्स जियोकोडिंग कहा जाता है.

जियोकोडिंग के अनुरोधों को उलटना

ज़रूरी पैरामीटर

  • latlng — अक्षांश और देशांतर के निर्देशांक उस जगह के बारे में बताते हैं जिसके लिए आपको सबसे नज़दीकी, पढ़ा जा सकने वाला पता चाहिए.
  • key — आपके ऐप्लिकेशन की एपीआई कुंजी. यह कुंजी, कोटा मैनेज करने के लिए आपके ऐप्लिकेशन की पहचान करती है. कुंजी पाने का तरीका जानें.

ज़रूरी नहीं पैरामीटर

ये वैकल्पिक पैरामीटर होते हैं जिन्हें आप रिवर्स जियोकोडिंग अनुरोध में शामिल कर सकते हैं:

  • language — वह भाषा जिसमें नतीजे दिखाना है.
    • इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google अक्सर उन भाषाओं को अपडेट करता है जिन पर यह सुविधा काम करती है. इसलिए, हो सकता है कि यह सूची पूरी न हो.
    • language न दिए जाने पर, एन्कोडर, Accept-Language हेडर में बताई गई पसंदीदा भाषा का इस्तेमाल करने की कोशिश करता है. इसके अलावा, वह डोमेन की उस स्थानीय भाषा का भी इस्तेमाल करता है जिससे अनुरोध भेजा जाता है.
    • जियोपोर्टर पूरी कोशिश करता है कि मोहल्ले का पता ऐसी हो जिसे लोग और स्थानीय, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में मोहल्ले के पतों को दिखाता है. इसके बाद, ज़रूरत पड़ने पर उपयोगकर्ता की पसंदीदा स्क्रिप्ट देखकर, उपयोगकर्ता की पढ़ने लायक स्क्रिप्ट में बदल जाता है. अन्य सभी पते, आपकी पसंदीदा भाषा में दिखाए जाते हैं. पते के कॉम्पोनेंट एक ही भाषा में दिखाए जाते हैं. यह पहले कॉम्पोनेंट से चुना जाता है.
    • अगर कोई भाषा पसंदीदा भाषा में उपलब्ध नहीं है, तो जियोटाइमर सबसे नज़दीकी मिलान का इस्तेमाल करता है.
  • region — सीसीटीएलडी ("टॉप लेवल डोमेन") के तौर पर बताए गए क्षेत्र कोड में दो वर्ण की वैल्यू होती है. पैरामीटर, लागू कानून के हिसाब से भी नतीजों पर असर डाल सकता है.
  • result_type — पाइप (|) से अलग किए गए एक या एक से ज़्यादा तरह के पतों के लिए फ़िल्टर. अगर पैरामीटर में एक से ज़्यादा तरह के पते हैं, तो एपीआई किसी भी टाइप से मेल खाने वाले सभी पते दिखाता है. प्रोसेस करने से जुड़ी ज़रूरी जानकारी: result_type पैरामीटर, खोज के नतीजों में खास तरह के पतों के लिए पाबंदी नहीं लगाता. इसके बजाय, result_type खोज के बाद फ़िल्टर की तरह काम करता है: एपीआई, दिए गए latlng के लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो दिए गए पते के टाइप से मेल नहीं खाते. ये वैल्यू इस्तेमाल की जा सकती हैं:
    • street_address मोहल्ले का सटीक पता दिखाता है.
    • route ने किसी तय किए गए रास्ते की जानकारी दी है (जैसे कि "US 101").
    • intersection एक मुख्य चौराहा है. आम तौर पर, इसमें दो मुख्य सड़कें होती हैं.
    • political एक राजनैतिक इकाई है. आम तौर पर, यह तरीका कुछ सिविल एडमिनिस्ट्रेशन के पॉलीगॉन दिखाता है.
    • country से राष्ट्रीय राजनैतिक इकाई के बारे में पता चलता है. आम तौर पर, यह जियोकोडर से मिलने वाला सबसे ज़्यादा ऑर्डर टाइप होता है.
    • administrative_area_level_1, देश के स्तर से नीचे की पहली आदेश वाली नागरिक इकाई है. अमेरिका में ये एडमिन लेवल हैं. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं. ज़्यादातर मामलों में, admin_area_level_1 छोटे नाम ISO 3166-2 सब-डिवीज़न और दूसरे बड़े पैमाने पर शेयर की गई सूचियों से मिलते-जुलते होंगे. हालांकि, इस बात की गारंटी नहीं दी जा सकती, क्योंकि हमारे जियोकोडिंग नतीजे अलग-अलग सिग्नल और जगह की जानकारी के डेटा पर आधारित होते हैं.
    • administrative_area_level_2, देश के स्तर से नीचे की दूसरी आदेश वाली नागरिक इकाई है. अमेरिका में, ये राज्य काउंटी होते हैं. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं.
    • administrative_area_level_3, देश के स्तर से नीचे की तीसरे पक्ष की नागरिक इकाई है. यह टाइप, एक छोटे नागरिक विभाग के बारे में बताता है. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं.
    • administrative_area_level_4, देश के स्तर से नीचे की चौथी ऑर्डर वाली सिविल इकाई है. यह टाइप, एक छोटे नागरिक विभाग के बारे में बताता है. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं.
    • administrative_area_level_5, देश के स्तर से नीचे की पांचवीं ऑर्डर वाली नागरिक इकाई है. यह टाइप, एक छोटे नागरिक विभाग के बारे में बताता है. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं.
    • administrative_area_level_6, देश के स्तर से नीचे की छठी ऑर्डर वाली सिविल इकाई है. यह टाइप, एक छोटे नागरिक विभाग के बारे में बताता है. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं.
    • administrative_area_level_7, देश के स्तर से नीचे की सातवीं आदेश वाली सिविल इकाई है. यह टाइप, एक छोटे नागरिक विभाग के बारे में बताता है. सभी देश इन प्रशासनिक स्तर पर काम नहीं करते हैं.
    • colloquial_area का मतलब है, इकाई के लिए आम तौर पर इस्तेमाल होने वाला वैकल्पिक नाम.
    • locality इनकॉर्पोरेट किए गए शहर या शहर की राजनैतिक इकाई है.
    • sublocality किसी शहर के नीचे, पहले ऑर्डर वाली सिविल इकाई की जानकारी देता है. कुछ जगहों के लिए, इनमें से कोई एक विकल्प जोड़ा जा सकता है: sublocality_level_1 से sublocality_level_5. हर उप-क्षेत्र का स्तर एक नागरिक इकाई है. बड़ी संख्या में किसी छोटे इलाके को दिखाया जाता है.
    • neighborhood नाम वाले इलाके को दिखाता है
    • premise से किसी खास जगह की जानकारी मिलती है. आम तौर पर, इस नाम की कोई इमारत या इमारतों का नाम,
    • subpremise यह बताता है कि पहले ऑर्डर वाली इकाई, नाम वाली जगह के नीचे मौजूद है. आम तौर पर, यह एक ही इमारत में नाम वाली कई इमारतें होती हैं
    • plus_code, अक्षांश और देशांतर से मिली एन्कोड की गई जगह के रेफ़रंस को दिखाता है. Plus Code का इस्तेमाल उन मोहल्ले के पतों को बदलने के लिए किया जा सकता है जो मौजूद नहीं हैं (जहां इमारतों को नंबर नहीं दिया गया है या सड़कों का नाम नहीं दिया गया है). ज़्यादा जानकारी के लिए https://plus.codes देखें.
    • postal_code, किसी पिन कोड के बारे में बताता है, जिसका इस्तेमाल देश के किसी डाक पते के लिए किया जाता है.
    • natural_feature, एक खास नैचुरल फ़ीचर के बारे में बताता है.
    • airport से पता चलता है कि हवाई अड्डा है.
    • park का मतलब है, नाम वाला पार्क.
    • point_of_interest रुचि के पसंदीदा नाम को दर्शाता है. आम तौर पर, "पीओआई" ऐसी मुख्य स्थानीय इकाइयां होती हैं जो आसानी से किसी दूसरी कैटगरी में नहीं आती हैं, जैसे "एंपायर स्टेट बिल्डिंग" या "एफ़िल टावर".
  • location_type — एक से ज़्यादा लोकेशन टाइप का फ़िल्टर, जिसे एक पाइप (|) से अलग किया जाता है. अगर पैरामीटर में एक से ज़्यादा लोकेशन टाइप हैं, तो एपीआई किसी भी टाइप से मेल खाने वाले सभी पते दिखाता है. प्रोसेस करने के बारे में जानकारी: location_type पैरामीटर, खोज के नतीजों में किसी खास तरह की जगह के लिए प्रतिबंधित नहीं होता. इसके बजाय, location_type खोज के बाद वाले फ़िल्टर के तौर पर काम करता है: एपीआई, बताए गए latlng के लिए नतीजे दिखाता है. इसके बाद, नतीजों के बताए गए टाइप से मेल न खाने वाले नतीजों को खारिज करता है. ये वैल्यू इस्तेमाल की जा सकती हैं:
    • "ROOFTOP" सिर्फ़ वे पते दिखाता है जिनके लिए Google ने मोहल्ले का पता डालने के बाद, जगह की सटीक जानकारी दी है.
    • "RANGE_INTERPOLATED" सिर्फ़ वे पते दिखाता है जो अनुमान (आम तौर पर किसी सड़क पर) को दो सटीक पॉइंट (जैसे, चौराहों) के बीच इंटरपोलेट करते हैं. इंटरपोलेट की गई रेंज से पता चलता है कि किसी मोहल्ले के पते के लिए, छत पर बैठने की सुविधा उपलब्ध नहीं है.
    • "GEOMETRIC_CENTER" किसी जगह के सिर्फ़ ज्यामितीय केंद्र (जैसे, सड़क या पॉलीगॉन) या पॉलीगॉन (क्षेत्र) दिखाता है.
    • "APPROXIMATE" सिर्फ़ वे पते दिखाता है जिनकी पहचान अनुमानित होती है.

अगर result_type और location_type दोनों फ़िल्टर मौजूद हैं, तो एपीआई सिर्फ़ ऐसे नतीजे दिखाता है जो result_type और location_type वैल्यू, दोनों से मेल खाते हैं. अगर कोई भी फ़िल्टर वैल्यू स्वीकार नहीं की जाती है, तो एपीआई ZERO_RESULTS दिखाता है.

रिवर्स जियोकोडिंग का उदाहरण

निम्न क्वेरी में ब्रुकलिन के किसी स्थान का अक्षांश/देशांतर मान शामिल है:

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY

ऊपर दी गई क्वेरी से यह नतीजा मिलता है:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "277",
               "short_name" : "277",
               "types" : [ "street_number" ]
            },
            {
               "long_name" : "Bedford Avenue",
               "short_name" : "Bedford Ave",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Williamsburg",
               "short_name" : "Williamsburg",
               "types" : [ "neighborhood", "political" ]
            },
            {
               "long_name" : "Brooklyn",
               "short_name" : "Brooklyn",
               "types" : [ "sublocality", "political" ]
            },
            {
               "long_name" : "Kings",
               "short_name" : "Kings",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "New York",
               "short_name" : "NY",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "11211",
               "short_name" : "11211",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
         "geometry" : {
            "location" : {
               "lat" : 40.714232,
               "lng" : -73.9612889
            },
            "location_type" : "ROOFTOP",
            "viewport" : {
               "northeast" : {
                  "lat" : 40.7155809802915,
                  "lng" : -73.9599399197085
               },
               "southwest" : {
                  "lat" : 40.7128830197085,
                  "lng" : -73.96263788029151
               }
            }
         },
         "place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
         "types" : [ "street_address" ]
      },

  ... Additional <code>results[]</code> ...

ध्यान दें कि रिवर्स भौगोलिक स्थान एक से ज़्यादा नतीजे देता है. "formatted_address" के नतीजे सिर्फ़ डाक पते नहीं होते, बल्कि भौगोलिक तौर पर किसी जगह का नाम रखने के तरीके भी होते हैं. उदाहरण के लिए, शिकागो शहर में किसी बिंदु को जियोकोड करने के दौरान, भू-बिंदु को सड़क के पते (शहर, शिकागो) के रूप में (राज्य) (इलिनॉय) या किसी देश (संयुक्त राज्य) के रूप में दिखाया जा सकता है. सभी वेबपेज "पते" होते हैं, जो भौगोलिक स्रोत के होते हैं. रिवर्स जियोकोडर, इनमें से किसी भी प्रकार को मान्य नतीजों के रूप में दिखाता है.

रिवर्स भौगोलिक स्थान, राजनैतिक इकाइयों (देशों, प्रांतों, शहरों और मोहल्लों), मोहल्ले के पतों, और पिन कोड से मेल खाता है.

पिछली क्वेरी से मिली formatted_address वैल्यू की पूरी सूची नीचे दी गई है.

{
   "plus_code" : {
      "compound_code" : "P27Q+MCM New York, NY, USA",
      "global_code" : "87G8P27Q+MCM"
   },
   "results" : [
      {
         "formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
         ...
         "types" : [ "street_address" ]
      },
      {
         "formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
         ...
         "types" : [ "premise" ]
      },
      {
         "formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
         ...
         "types" : [ "establishment", "point_of_interest" ]
      },
      {
         "formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
         ...
         "types" : [ "route" ]
      },
      {
         "formatted_address" : "P27Q+MC New York, NY, USA",
         ...
         "types" : [ "plus_code" ]
      },
      {
         "formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
         ...
         "types" : [ "neighborhood", "political" ]
      },
      {
         "formatted_address" : "Brooklyn, NY 11211, USA",
         ...
         "types" : [ "postal_code" ]
      },
      {
         "formatted_address" : "Williamsburg, Brooklyn, NY, USA",
         ...
         "types" : [ "neighborhood", "political" ]
      },
      {
         "formatted_address" : "Kings County, Brooklyn, NY, USA",
         ...
         "types" : [ "administrative_area_level_2", "political" ]
      },
      {
         "formatted_address" : "Brooklyn, NY, USA",
         ...
         "types" : [ "political", "sublocality", "sublocality_level_1" ]
      },
      {
         "formatted_address" : "New York, NY, USA",
         ...
         "types" : [ "locality", "political" ]
      },
      {
         "formatted_address" : "New York, USA",
         ...
         "types" : [ "administrative_area_level_1", "political" ]
      },
      {
         "formatted_address" : "United States",
         ...
         "types" : [ "country", "political" ]
      }
   ],
   "status" : "OK"
}

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

रिवर्स जियोकोडिंग प्रकार के अनुसार फ़िल्टर किया गया

नीचे दिए गए उदाहरण में सिर्फ़ ROOFTOP के लोकेशन टाइप और street_address टाइप के पते को शामिल करने के लिए, दिए गए पते फ़िल्टर किए गए हैं.

https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY

ध्यान दें: ये फ़िल्टर सिर्फ़ रिवर्स जियोकोडिंग के लिए मान्य हैं.

जियोकोडिंग रिस्पॉन्स उलटें

रिवर्स जियोकोडिंग रिस्पॉन्स का फ़ॉर्मैट और जियोकोडिंग रिस्पॉन्स का फ़ॉर्मैट एक ही है. जियोकोडिंग से जुड़े रिस्पॉन्स देखें. नीचे एक रिवर्स जियोकोडिंग जवाब में संभावित स्थिति कोड दिए गए हैं.

जियोकोडिंग स्टेटस कोड को पहले जैसा करना

जियोकोडिंग रिस्पॉन्स ऑब्जेक्ट में "status" फ़ील्ड में, अनुरोध की स्थिति होती है. इसमें डीबग करने की जानकारी भी शामिल हो सकती है, ताकि आप यह ट्रैक कर सकें कि रिवर्स जियोकोडिंग क्यों काम नहीं कर रहा है. "status" फ़ील्ड में ये वैल्यू हो सकती हैं:

  • "OK" से पता चलता है कि कोई गड़बड़ी नहीं हुई. साथ ही, कम से कम एक पता दिखाया गया.
  • "ZERO_RESULTS" से पता चलता है कि रिवर्स जियोकोडिंग सफल रही, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब भौगोलिक स्थान पर latlng को पास किया गया हो.
  • "OVER_QUERY_LIMIT" से पता चलता है कि आपने अपना कोटा पार कर लिया है.
  • "REQUEST_DENIED" यह बताता है कि अनुरोध अस्वीकार किया गया है. अनुरोध में शायद result_type या location_type पैरामीटर शामिल है, लेकिन एपीआई पासकोड शामिल नहीं है.
  • आम तौर पर, "INVALID_REQUEST" इनमें से किसी एक चीज़ को दिखाता है:
    • क्वेरी (address, components या latlng) मौजूद नहीं है.
    • अमान्य result_type या location_type दिया गया है.
  • "UNKNOWN_ERROR" यह बताता है कि सर्वर की गड़बड़ी की वजह से, अनुरोध को प्रोसेस नहीं किया जा सका. दोबारा कोशिश करने पर, हो सकता है कि आपका अनुरोध स्वीकार न हो.

रिवर्स जियोकोडिंग प्लस कोड

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