কিভাবে জিডিএল ব্যবহার করে কোনও ওয়েব মেরেরেটর টাইলটি জিওরফারেন্স করবেন?


16

উদাহরণ হিসাবে আমি নিম্নলিখিত টাইলটি 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 এর বাইরে জিওটিফটি অবশ্যই দক্ষিণের দিকে স্থানান্তরিত হবে। এটি একটি জুম স্তরের টাইলের সাথে স্থানাঙ্কগুলির তুলনা করা নির্বোধ ছিল such এই জাতীয় জুম স্তরে দেশের সীমানাগুলি সরল করে দেওয়া হয়েছে যাতে তুলনাটি ভাল ফলাফল দেয় না।

ড্যান এস ঠিক বলেছেন, টাইল চিত্রটি ইতিমধ্যে EPSG: 3857 এ রয়েছে। দ্বিতীয় ধারণাটি তখন সঠিক হয় (এবং উচ্চ জুম স্তরেও ভাল ফলাফল দেয়)


প্রথম ধারণা: EPSG: 4326
WGS84 স্থানাঙ্কগুলির জন্য EPSG কোডটি EPSG: 4326 । তাই আমি জিডিএল_ট্রান্সলেট ব্যবহার করে টালিটিকে জিওটিফেন্স হিসাবে জিওরফেন্স করার জন্য কেবল ডাব্লুজিএস ৮৪ স্থানাঙ্কগুলি ব্যবহার করি :

gdal_translate -of Gtiff -co tfw=yes -a_ullr 0 66.51326044311185 45 40.97989806962013 -a_srs EPSG:4326 4_2.png t4326.tif

ফলস্বরূপ মানচিত্রটি সঠিক জায়গায় প্রদর্শিত হয় তবে আমি আশঙ্কা করি যে অভিক্ষেপটি সঠিক নয় এবং টাইলের মাঝখানে কোনও স্থানান্তর থাকতে পারে। Gdalwarp দিয়ে মানচিত্রটি পুনরায় প্রয়োগ করে পরীক্ষা করার জন্য দীর্ঘ সময় চেষ্টা করার পরে, আমি গ্লোবাল ম্যাপারের একটি ডেমো সংস্করণ ডাউনলোড করেছি এবং এটি ক্ষেত্রে মনে হয় (ধারণাটি 3 এর মতই সীমানা কিন্তু টাইলের ভিতরে স্থানান্তর) ift ইপিএসজি: 4326 স্থানাঙ্ক ব্যবহার করতে সক্ষম হতে ছবিটি প্রসারিত করা উচিত।


দ্বিতীয় ধারণা: ইপিএসজি: 3857
এই টালিটিতে একটি "ওয়েব মেরেটার" প্রক্ষেপণ (ওরফে গুগল ম্যাপ প্রজেকশন) ব্যবহার করা হয়েছে, যার এখন একটি ইপিএসজি কোড রয়েছে: ইপিএসজি: 3857 (ওরফে ইপিএসজি: 900913)। আমি কেবল gdaltransfor ব্যবহার করে স্থানাঙ্কগুলি রূপান্তর করি :

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

আমার ধারণাটি এটি সঠিক নয় কারণ মানচিত্রের সীমানা উত্তরের দিকে সরে গেছে। এটি সঠিক ধারণা বলে মনে হচ্ছে।


তৃতীয় ধারণা: EPSG: 3857 EPSG এর মাধ্যমে: 4055
আমি পড়েছি যে "ওয়েব মারটার " WGS84 স্থানাঙ্ক ব্যবহার করে তবে সেগুলিকে এমন মনে করে যেখানে তারা গোলাকার স্থানাঙ্ক হয়। জিওডেটিক এবং জিওসেন্ট্রিক অক্ষাংশের মধ্যে পার্থক্যের কারণে ( অক্ষাংশ সম্পর্কে উইকিপিডিয়া দেখুন ), অক্ষাংশের মানগুলি একটি উপবৃত্তাকার বা কোনও গোলকের ক্ষেত্রে একই হবে না। আমি দেখতে পেলাম যে EPSG: 4055 হ'ল ডাব্লুজিএস 84 এর উপর ভিত্তি করে একটি গোলকের গোলকের স্থানাঙ্কের কোড।

স্থানাঙ্কগুলি ইপিএসজিতে রূপান্তর করা হচ্ছে: 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

ফলস্বরূপ স্থানাঙ্কগুলি আইডিয়া অনুসারে একের থেকে পৃথক হয়:

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 সঠিক হলে, এক ধাপে এই অপারেশনটি করার জন্য কি কোনও ইপিএসজি কোড রয়েছে?


চতুর্থ ধারণা: ইপিএসজি: 3857 টাগস 84 এর মাধ্যমে = 0,0,0,0,0,0,0

gdal (এবং আপাতদৃষ্টিতে epsg) EPSG: 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

যেখানে spatialreferences.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

যদি আমি স্থানিক রেফারেন্স.আর্গ থেকে সংজ্ঞাটি ব্যবহার করি তবে আমি এক ধাপে সঠিক স্থানাঙ্ক পেলাম (ওয়েল আমি এখনও তাদের "সঠিক" স্থানাঙ্ক না হলেও কমপক্ষে সেগুলি ধারণার মতো 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 এর সংজ্ঞাগুলিতে কেন এমন পার্থক্য রয়েছে?

উত্তর:


11

টাইল চিত্রটি ইতিমধ্যে EPSG: 3857 এ রয়েছে। কেন এটির উল্লেখ করার জন্য একটি বিশ্ব ফাইল তৈরি করবেন না?

http://en.wikipedia.org/wiki/World_file

জুম 1 এ এন। আমেরিকা জুড়ে থাকা টাইলগুলির জন্য, আপনি নীচের ওয়ার্ল্ডফাইল সামগ্রীগুলি খুঁজছেন:

78271.517
0
0
-78271.517
-19998372.6
19998372.6

এই সংখ্যাগুলি কোথা থেকে এসেছে:

  • লাইন 1: বিশ্ব স্থানাঙ্কগুলিতে একটি চিত্র পিক্সেলের প্রস্থ = 20037508.342789244 মিটার / 256 পিক্সেল।
  • লাইন 2 এবং 3: আবর্তন, সুতরাং এন / এ।
  • লাইন 4: বিশ্ব স্থানাঙ্কগুলিতে একটি চিত্র পিক্সেলের উচ্চতা। লাইন 1 হিসাবে একই তবে নেতিবাচক, কারণ ইমেজ ফাইলগুলিতে ক্রমবর্ধমান y স্থিতিশীল সিস্টেমে 'ডাউন' এর সাথে মিলে যায়, বর্ধমান y 'আপ' এর সাথে মিলে যায়।
  • লাইন 5: শীর্ষ-বাম পিক্সেলের কেন্দ্রের বিশ্ব স্থানাঙ্কগুলিতে এক্স স্থানাঙ্ক। এটি -20037508.342789244, টাইলস দ্বারা একটি লা কার্টের লিঙ্ক হিসাবে প্রতিবেদন করা হয়েছে, কেন্দ্রে আনার জন্য এটি পিক্সেলের 1/2 পিক্সেল।
  • লাইন:: ডিট্টো, উপরের বাম দিকের কেবল Y স্থানাঙ্ক।

জিডিএলকে আপনার ওয়ার্ল্ডফাইলে বাছাই করা উচিত (pngw এর জন্য .pgw); আপনাকে এখনও এটি কমান্ড লাইনে EPSG: 3857 বলতে হবে।

(দ্রষ্টব্য: এটি পরীক্ষা করার সময় নেই, সুতরাং এটি কাফের বাইরে রয়েছে ... তবে আশা করা যায় যে কোনওভাবেই প্রথম চেষ্টা করে ঠিক করুন!))


দেরী উত্তরের জন্য আপনাকে ধন্যবাদ এবং দুঃখিত। তবে আসলে আমি মনে করি এটি আমার দ্বিতীয় ধারণা হিসাবে একই জিনিস দিকে নিয়ে যাবে, যেখানে gdaltransform সত্যিই কেবল চিত্রটির জিওরিফারেন্স হিসাবে ব্যবহৃত হয়।
নাম দিন

আপনি ইপিএসজি: 3857 তে ইতিমধ্যে টাইল ইমেজটি নিয়েছিলেন ঠিক বলেছেন। সমাধানটি হ'ল সহজভাবে EPSG: 3857 ব্যবহার করা হয়েছিল। ফলাফলগুলি পরীক্ষা করার জন্য এটিই আমি ব্যবহার করি যা ভুল ছিল।
নাম

0

ওয়েবে ব্যবহৃত গ্লোবাল টাইলস তৈরির জন্য প্রয়োজনীয় কাজগুলি। এতে ক্লাস রয়েছে যার জন্য সমন্বয় রূপান্তরগুলি প্রয়োগ করে:

  • গুগল ম্যাপ, ইয়াহু ম্যাপস, মাইক্রোসফ্ট বিং ম্যাপের সামঞ্জস্যপূর্ণ টাইলসের জন্য গ্লোবালমেকারেটর ( ইপিএসজি: 900913 = ইপিএসজি: 3785 এর উপর ভিত্তি করে )

  • ওপেনলায়ার্স বেস মানচিত্র এবং গুগল আর্থের সামঞ্জস্যপূর্ণ টাইলগুলির জন্য গ্লোবাল জিওডেটিক (ইপিএসজি: 4326 এর উপর ভিত্তি করে)

http://svn.osgeo.org/gdal/sandbox/klokan/gdal2tiles.py


আপনাকে ধন্যবাদ তবে এটি আমার প্রশ্নের উত্তর দেয় না। আমি টাইলস উত্পাদন করতে চাই না। আমি টাইলগুলির সঠিক জিওরফারেন্সিং / কী হবে তা জানতে চাই।
নাম

আমি করেছি "যদি এটি সঠিক হয় তবে এক ধাপে এই অপারেশন করার জন্য কোনও ইপিএসজি কোড আছে?" উত্তর ইপিএসজি: 900913
ম্যাপারজ

আপনি করেন নি: EPSG: 900913 EPSG: 3857 (বা EPSG: 3785 এর মতো) এর মতো কাজ করে এবং এক ধাপে অপারেশন করার অনুমতি দেয় না, আপনাকে এখনও EPSG: 4055 ছাড়িয়ে যেতে হবে। তবুও আমি ইতিমধ্যে আমার আসল প্রশ্নে ইপিএসজি: 900913 ইপিএসজি: 3857 এর একটি এলিফ হিসাবে উল্লেখ করেছি।
নাম

0

চতুর্থ ধারণাগুলিতে আমার দ্বিতীয় প্রশ্ন সম্পর্কে: কেন জিপিএল এবং স্থানিক সংস্থার সংজ্ঞা মধ্যে ইপিএসজি: 3857 এর সংজ্ঞাগুলির মধ্যে এত পার্থক্য রয়েছে :

মূল পার্থক্য হ'ল gdal "+ nadgrids = @ নাল" এবং স্থানিক উল্লেখ "+ তোগস 84 = 0,0,0,0,0,0,0" ব্যবহার করে। মতে ডকুমেন্টেশন PROJ.4 বিন্যাস উভয় প্যারামিটার উপাত্ত রূপান্তরগুলির জন্য ব্যবহৃত হয়। আমি প্রজ 4 তালিকার উপর মিকায়েল রিত্তির একটি আকর্ষণীয় মন্তব্য পেয়েছি :

"The +to definition you suggest is not correct for WGS84 Web Mercator, though.
This is because the datum shift you use, 

   +towgs84=0,0,0,0,0,0,0

is not the same as unmodified lat/long, or "without any datum shift" as you say.
It means "no datum shift" only if the +from and +to definitions use the same ellipsoid,
and in your case the +from definition uses the WGS84 ellipsoid, while the +to definition
uses a sphere instead.  

So, you have to use a trick: use 

   +nadgrids=@null 

instead."

"+ তোগস 84 = 0,0,0,0,0,0,0" এর ব্যবহারটি সঠিক বা কমপক্ষে শুধুমাত্র নির্দিষ্ট অবস্থার অধীনে বলে মনে হচ্ছে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.