WMTS: जियोलोकेशन (लेट, लॉन्ग) को टाइल इंडेक्स में दिए गए ज़ूम स्तर पर कन्वर्ट करें?


15

मैं जानना चाहता था कि किसी दिए गए जियोलोकेशन (अक्षांश, देशांतर) और ज़ूम स्तर के लिए WMTS टाइल के अनुक्रमित (x, y) को कैसे प्राप्त किया जाए।

छूट के लिए, मेरे पास (48.675, 2.7) पर स्थित एक POI है, मैं ज़ूम 10 के लिए संबंधित ओपन-स्ट्रीट-मैप टाइल प्राप्त करना चाहता हूं।

क्या मैं गणित कर सकता हूं? क्या मुझे एक webservice की आवश्यकता है? परिशुद्धता: मुझे यह प्रोग्रामेटिक रूप से करना है।


2
यहाँ आप जाएँ: wiki.openstreetmap.org/wiki/…
जॉन पॉवेल

बिंग मैप्स टाइलिंग योजना पर एक उपयोगी MSDN आलेख भी एक अच्छा प्राइमर प्रदान करता है। यह और OSM लेख दोनों वेब मर्केटर प्रोजेक्शन को मानते हैं, लेकिन सिद्धांत अन्य अनुमानित सह-समन्वय प्रणालियों के लिए समान है।
KES

जवाबों:


22

OSM विकी पृष्ठ एकदम सही है: http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Lon..2Flat._to_tile_numbers_2

यहाँ त्वरित संदर्भ के लिए निकाले गए उत्तर (छद्म कोड में) है।

दिए गए देशांतर / अक्षांश / ज़ूम से टाइल संख्या:

n = 2 ^ zoom
xtile = n * ((lon_deg + 180) / 360)
ytile = n * (1 - (log(tan(lat_rad) + sec(lat_rad)) / π)) / 2

ध्यान दें कि log()इस छद्म कोड में सामान्य गणित सिंटैक्स में प्राकृतिक लॉग (अक्सर "ln ()" को संदर्भित किया जाता है, लेकिन अक्सर कई प्रोग्रामिंग भाषाओं में "लॉग ()" होता है।

देशांतर / अक्षांश के लिए टाइल की संख्या को देखते हुए:

n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh(π * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / π

2
प्रतीक्षा करें, OSM फिसलन प्रारूप WMTS टाइल प्रारूप है?
जासूसी

5
ध्यान दें कि ऊपर दिए गए लिंक में कई भाषाओं में कार्यान्वयन है ! (27 वर्तमान में)
सिरिल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.