एक उदाहरण के रूप में मैं निम्नलिखित टाइल http://a.tile.openstreetmap.org/3/4/2.png ले लूंगा और इसे "4_2.png" के रूप में सहेजूंगा।
इस टाइल के WGS84 निर्देशांक की गणना की जा सकती है या संबंधित टाइल पर क्लिक करके वहां पढ़ा जा सकता है :
0 66.51326044311185 45 40.97989806962013 (West North East South)
टाइल को सही ढंग से कैसे सुरक्षित करें (एक भू-आकृति या किसी अन्य भू-आकृति प्रारूप को उत्पन्न करने के लिए गदल का उपयोग) ताकि:
- बिटमैप को स्ट्रेच करने की आवश्यकता नहीं है (= जियोटीफ़ में पिक्सेल मूल बिटमैप के समान हैं)
- परिणामी छवि को जीआईएस दर्शक / संपादक में सही स्थान पर खोला जाएगा (उदाहरण के लिए टाटुकिस फ्री व्यूअर में )?
(मेरे सवाल को स्पष्ट करने और मेरे निष्कर्ष को शामिल करने के लिए 19 सितंबर 2011 को संपादित)
मेरा निष्कर्ष:
मैं पहली बार हालांकि तीसरा विचार (नीचे देखें) सही था। मैंने एक जीआईएस व्यूअर में जियोटीफ़ को खोला और जो मैंने उम्मीद की थी उसके साथ प्रदर्शित निर्देशांक की तुलना की। दूसरे विचार से जियोटीफ़ को लगता है कि उत्तर की ओर 2 पिक्सेल स्थानांतरित किए जाएंगे। यही कारण है कि मैंने विचार 3 (या 4) को सही माना।
लेकिन अगर आप बहुत अधिक ज़ूम स्तर पर टाइल के साथ प्रयास करते हैं, तो विचार 3 से जियोटीफ़ निश्चित रूप से दक्षिण की ओर स्थानांतरित हो जाता है। यह जूम स्तर के एक टाइल पर निर्देशांक की तुलना करने के लिए मूर्खतापूर्ण था। 3. ऐसे ज़ूम स्तर पर देश की सीमाएं सरल होती हैं ताकि तुलना अच्छे परिणाम न दे सके।
डैन एस। सही था, टाइल की छवि पहले से ही ईपीएसजी: 3857 में है। दूसरा विचार तब सही होता है (और उच्च ज़ूम स्तरों पर भी अच्छा परिणाम देता है)
पहला विचार: EPSG: 4326
WGS84 निर्देशांक के लिए EPSG कोड EPSG: 4326 है । तो मैं बस का उपयोग कर के रूप में geotif टाइल georefence को WGS84 निर्देशांक का उपयोग gdal_translate :
gdal_translate -of Gtiff -co tfw=yes -a_ullr 0 66.51326044311185 45 40.97989806962013 -a_srs EPSG:4326 4_2.png t4326.tif
परिणामी नक्शा सही जगह पर प्रदर्शित होता है, लेकिन मुझे डर है कि प्रक्षेपण सही नहीं है और टाइल के बीच में एक बदलाव हो सकता है। लंबे समय तक यह जांचने की कोशिश करने के बाद कि नक्शे को गाल्डवैप के साथ फिर से खारिज करके, मैंने ग्लोबल मैपर का एक डेमो संस्करण डाउनलोड किया और यह मामला लगता है (विचार 3 के अनुसार सीमाएं लेकिन टाइल के अंदर एक बदलाव)। ईपीएसजी: 4326 निर्देशांक का उपयोग करने में सक्षम होने के लिए छवि को स्ट्रेच किया जाना चाहिए।
दूसरा विचार: EPSG: 3857
यह टाइल एक "वेब मर्चेंट" प्रोजेक्शन (उपनाम गूगल मैप प्रोजेक्शन) का उपयोग करती है, जिसमें अब एक EPSG कोड है: EPSG: 3857 (अन्य उपनाम EPSG: 900913)। मैं बस निर्देशांक को gdaltransform का उपयोग करके परिवर्तित करता हूं :
gdaltransform -s_srs EPSG:4326 -t_srs EPSG:3857
0 66.51326044311185
0 10018754.1713946 0
45 40.97989806962013
5009377.08569731 5009377.08569731 0
मीटर में मेरे निर्देशांक हैं:
0 10018754.1713946 5009377.08569731 5009377.08569731 (West North East South)
अब मैं भू-आकृति उत्पन्न करने के लिए gdal_translate का उपयोग कर सकता हूं:
gdal_translate -of Gtiff -co tfw=yes -a_ullr 0 10018754.1713946 5009377.08569731 5009377.08569731 -a_srs EPSG:3857 4_2.png t3857.tif
मेरी धारणा यह है कि यह सही नहीं है क्योंकि नक्शे की सीमाएं उत्तर की ओर स्थानांतरित हो जाती हैं। यह सही विचार प्रतीत होता है।
तीसरा विचार: ईपीएसजी: 3857 ईपीएसजी: 4055 के माध्यम से
मैंने पढ़ा कि "वेब मर्चेंट" WGS84 निर्देशांक का उपयोग करता है, लेकिन उन पर विचार करें जैसे कि वे गोलाकार निर्देशांक हैं। एक जियोडेटिक और एक जियोसेंट्रिक अक्षांश (अक्षांश के बारे में विकिपीडिया देखें ) के बीच अंतर के कारण , अक्षांश मान एक दीर्घवृत्त या एक गोले पर समान नहीं होंगे। मैंने पाया कि EPSG: 4055 WGS84 के आधार पर गोलाकार निर्देशांक के लिए कोड है।
निर्देशांक को EPSG में परिवर्तित करना: 4055:
gdaltransform -s_srs EPSG:4326 -t_srs EPSG:4055
0 66.51326044311185
0 66.3722684317026 -17964.0621483233
45 40.97989806962013
45 40.7894557844857 -9152.84527519904
तत्संबंधी गोलाकार निर्देशांक तब हैं:
0 66.3722684317026 45 40.7894557844857 (West North East South)
फिर मैं ऐसा करता हूं जैसे कि वे जहां अभी भी दीर्घवृत्त (EPSG: 4326) पर समन्वय करते हैं और उन्हें वेब दया में परिवर्तित करते हैं:
gdaltransform -s_srs EPSG:4326 -t_srs EPSG:3857
0 66.3722684317026
0 9979483.26733298 0
45 40.7894557844857
5009377.08569731 4981335.86590183 0
परिणामी निर्देशांक एक विचार 2 से भिन्न होते हैं:
0 9979483.26733298 5009377.08569731 4981335.86590183 (West North East South)
अब मुझे सिर्फ निर्देशांक को मानचित्र में लिखना है:
gdal_translate -of Gtiff -co tfw=yes -a_ullr 0 9979483.26733298 5009377.08569731 4981335.86590183 -a_srs EPSG:3857 4_2.png t3857_through_4055.tif
यह तीसरा विचार सर्वोत्तम परिणाम देता प्रतीत होता है। लेकिन मुझे यकीन नहीं है कि यह सही है। यदि विचार 3 सही है, तो क्या इस ऑपरेशन को एक चरण में करने के लिए एक ईपीएसजी कोड है?
चौथा विचार: EPSG: 3857 के माध्यम से Towgs84 = 0,0,0,0,0,0,0
गदल (जाहिरा तौर पर ईपीएसजी भी) ईपीएसजी को परिभाषित करता है: 3857 जैसे:
+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs
जबकि इस तरह spatialreference.org:
+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
अगर मैं spatialreference.org से परिभाषा का उपयोग करता हूं तो मुझे एक चरण में सही निर्देशांक मिला है (वैसे मुझे अभी भी नहीं लगता कि वे "सही" निर्देशांक हैं, लेकिन कम से कम वे विचार 3 के अनुसार उपनाम हैं):
gdaltransform -s_srs EPSG:4326 -t_srs "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
0 66.51326044311185
0 9979483.26733298 -17964.0621483233
45 40.97989806962013
5009377.08569731 4981335.86590183 -9152.84527519904
EPSG: 3857 की परिभाषाओं में ऐसा अंतर क्यों है?