मैप और टाइल के निर्देशांक

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

iOS के लिए Maps SDK, इन कोऑर्डिनेट सिस्टम का इस्तेमाल करता है:

  • अक्षांश और देशांतर की वैल्यू, जो दुनिया में किसी जगह को यूनीक तरीके से दिखाती हैं. Google, वर्ल्ड जियोडेटिक सिस्टम WGS84 स्टैंडर्ड का इस्तेमाल करता है.
  • वर्ल्ड कोऑर्डिनेट, जो मैप पर किसी पॉइंट को यूनीक तरीके से रेफ़र करते हैं.
  • पिक्सल कोऑर्डिनेट, जो ज़ूम करने के किसी खास लेवल पर, मैप पर मौजूद किसी खास पिक्सल का रेफ़रंस देते हैं.
  • टाइल कोऑर्डिनेट, जो ज़ूम करने के किसी लेवल पर, मैप पर मौजूद किसी टाइल के बारे में बताते हैं.

वर्ल्ड कोऑर्डिनेट

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

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

Google Maps में वर्ल्ड कोऑर्डिनेट, मर्केटर प्रोजेक्शन के ऑरिजिन से मापे जाते हैं. यह ऑरिजिन, 180 डिग्री देशांतर और करीब 85 डिग्री अक्षांश पर मैप के उत्तर-पश्चिम कोने में होता है. ये कोऑर्डिनेट, पूर्व (दाईं ओर) की ओर x दिशा में और दक्षिण (नीचे) की ओर y दिशा में बढ़ते हैं. मर्केटर प्रोजेक्शन के हिसाब से, Google Maps की टाइल 256 x 256 पिक्सल की होती है. इसलिए, इस्तेमाल किए जा सकने वाले वर्ल्ड कोऑर्डिनेट स्पेस की वैल्यू {0-256}, {0-256} होती है.

ध्यान दें कि मर्केटर प्रोजेक्शन में, देशांतर के हिसाब से चौड़ाई सीमित होती है, लेकिन अक्षांश के हिसाब से ऊंचाई असीमित होती है. मर्केटर प्रोजेक्शन वाले मैप में, बुनियादी मैप इमेज को करीब +/- 85 डिग्री पर काट दिया जाता है, ताकि मैप का आकार स्क्वेयर हो जाए और टाइल चुनना आसान हो. ध्यान दें कि अगर पोल के बहुत नज़दीक प्लॉट किया जाता है, तो प्रोजेक्शन से बुनियादी मैप के इस्तेमाल किए जा सकने वाले कोऑर्डिनेट स्पेस के बाहर के वर्ल्ड कोऑर्डिनेट मिल सकते हैं.

पिक्सल कोऑर्डिनेट

पिक्सल कोऑर्डिनेट, ज़ूम करने के किसी खास लेवल पर मैप के किसी खास पिक्सल को रेफ़र करते हैं. वहीं, वर्ल्ड कोऑर्डिनेट, किसी दिए गए प्रोजेक्शन पर सटीक जगहों को दिखाते हैं. पिक्सल निर्देशांकों का हिसाब लगाने के लिए, इस फ़ॉर्मूले का इस्तेमाल किया जाता है:

pixelCoordinate = worldCoordinate * 2zoomLevel

ऊपर दिए गए समीकरण से, ध्यान दें कि ज़ूम करने का हर लेवल, x और y, दोनों दिशाओं में दोगुना बड़ा होता है. इसलिए, ज़ूम करने का हर लेवल, पिछले लेवल की तुलना में चार गुना ज़्यादा रिज़ॉल्यूशन देता है. उदाहरण के लिए, ज़ूम लेवल 1 पर, मैप में 256x256 पिक्सल की चार टाइल होती हैं. इससे 512x512 का पिक्सल स्पेस बनता है. ज़ूम करने के लेवल 19 पर, मैप के हर x और y पिक्सल को 0 और 256 * 219 के बीच की वैल्यू का इस्तेमाल करके रेफ़रंस दिया जा सकता है.

हमने मैप के टाइल साइज़ के आधार पर वर्ल्ड कोऑर्डिनेट तय किए हैं. इसलिए, पिक्सल कोऑर्डिनेट के पूर्णांक वाले हिस्से से, ज़ूम करने के मौजूदा लेवल पर उस जगह के सटीक पिक्सल की पहचान की जा सकती है. ध्यान दें कि ज़ूम लेवल 0 के लिए, पिक्सल निर्देशांक, वर्ल्ड निर्देशांक के बराबर होते हैं.

ये कोऑर्डिनेट सिस्टम, मैप पर हर जगह की सटीक जानकारी देते हैं. साथ ही, ज़ूम करने के हर लेवल पर भी सटीक जानकारी देते हैं. iOS के लिए Maps SDK, ज़ूम करने का लेवल, मैप के सेंटर को LatLng के तौर पर, और DOM एलिमेंट के साइज़ के आधार पर व्यूपोर्ट बनाता है. साथ ही, इस बाउंडिंग बॉक्स को पिक्सल कोऑर्डिनेट में बदलता है. इसके बाद, एपीआई लॉजिक के हिसाब से उन सभी मैप टाइल का पता लगाता है जो दिए गए पिक्सल बाउंड के अंदर मौजूद हैं. इनमें से हर मैप टाइल को टाइल कोऑर्डिनेट का इस्तेमाल करके रेफ़रंस दिया जाता है. इससे मैप की इमेज को दिखाना काफ़ी आसान हो जाता है.

टाइल कोऑर्डिनेट

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

Google Maps में टाइल को उसी ऑरिजिन से नंबर दिया जाता है जिससे पिक्सल को दिया जाता है. Google के मर्केटर प्रोजेक्शन के लिए, ओरिजन टाइल हमेशा मैप के उत्तर-पश्चिम कोने में होती है. इसमें x वैल्यू पश्चिम से पूर्व की ओर बढ़ती हैं और y वैल्यू उत्तर से दक्षिण की ओर बढ़ती हैं. टाइलों को उस ऑरिजिन से x,y निर्देशांकों का इस्तेमाल करके इंडेक्स किया जाता है. उदाहरण के लिए, ज़ूम करने के लेवल 2 पर, जब पृथ्वी को 16 टाइल में बांटा जाता है, तो हर टाइल को एक यूनीक x,y पेयर से रेफ़र किया जा सकता है:

दुनिया का मैप, जिसे चार लाइनों और चार कॉलम वाली टाइल में बांटा गया है.

ध्यान दें कि पिक्सल कोऑर्डिनेट को टाइल के साइज़ (256) से भाग देने और नतीजे के पूर्णांक हिस्सों को लेने पर, आपको मौजूदा ज़ूम करने के लेवल पर टाइल कोऑर्डिनेट मिलता है.

उदाहरण

यहां दिए गए उदाहरण में, शिकागो, इलिनॉय के कोऑर्डिनेट दिखाए गए हैं: अक्षांश/देशांतर की वैल्यू, वर्ल्ड कोऑर्डिनेट, पिक्सल कोऑर्डिनेट, और टाइल कोऑर्डिनेट. ज़ूम करने के अलग-अलग लेवल पर कोऑर्डिनेट की वैल्यू देखने के लिए, ज़ूम कंट्रोल का इस्तेमाल करें.

यह देखने के लिए कि निर्देशांकों का हिसाब कैसे लगाया गया, कोड देखें.