গোলাকার মার্কেটরে বনাম জোনড ইউটিএম-এর দূরত্ব পরিমাপ


11

আমি ডাব্লুজিএস ৮৮ লেট / দীর্ঘের পয়েন্ট পেয়েছি এবং আমি তাদের মধ্যে "ছোট" (5 কিলোমিটার কম বলার চেয়ে কম) পরিমাপ করতে চাই।

আমি http://www.movable-type.co.uk/scriptts/latlong.html থেকে হ'রসিন সূত্রটি ব্যবহার করতে পারি এবং এটি খুব ভালভাবে কাজ করে।

যদিও আমি পাইথন শেপলি লাইব্রেরিগুলি ব্যবহার করতে চাই, যাতে আমি কেবল দূরত্বের চেয়ে আরও বেশি অপারেশন করতে পারি এবং যে পরিমাণে আমি কাজ করছি তার জন্য সমতল পৃথিবী যথেষ্ট পরিমাণে আনুমানিক। ভৌগলিক সমন্বয়গুলি কার্টেসিয়ান কোর্ডে নির্ভরযোগ্যভাবে প্রজেক্ট করতে, আমি পাইথনের ব্যবহার করছি proj4তবে আমার চেয়ে বড় ত্রুটি পাওয়া যাবে বলে মনে হচ্ছে।

যদি আমি স্থানীয় ইউটিএম জোন ব্যবহার করি তবে আমি কয়েক মিটার হ্যাওয়ারিনের মধ্যে পার্থক্য পেয়েছি, যা ভাল। তবে আমি ইউটিএম জোনটি বের করতে চাই না (পয়েন্টগুলি বিশ্বব্যাপী হতে পারে), তাই আমি "গোলাকৃতির মার্কেটেটার" দিয়ে চেষ্টা করেছি তবে এখন হেরসাইন এবং প্রজেক্টেড দূরত্বের মধ্যে পার্থক্য 100% এরও বেশি ভাল are এটি কি গোলাকৃতির মার্কেটারের পক্ষে সত্যই সঠিক? আমি যা চাই তা হ'ল বিশ্বের যে কোনও স্থানে একে অপরের 5 কিলোমিটারের মধ্যে দুটি পয়েন্টের জন্য একটি কার্যক্ষম কার্টেসিয়ান প্রক্ষেপণ।

from shapely.geometry import Point
from pyproj import Proj

proj = Proj(proj='utm',zone=27,ellps='WGS84')
#proj = Proj(init="epsg:3785")  # spherical mercator, should work anywhere...

point1_geo = (-21.9309694, 64.1455718)
point2_geo = (-21.9372481, 64.1478206)
point1 = proj(point1_geo[0], point1_geo[1])
point2 = proj(point2_geo[0], point2_geo[1])

point1_cart = Point(point1)
point2_cart = Point(point2)

print "p1-p2 (haversine)", hdistance(point1_geo, point2_geo)
print "p1-p2 (cartesian)", point1_cart.distance(point2_cart)

এই মুহুর্তে, তাদের মধ্যবর্তী স্থানে হরসিন দূরত্ব 394 মি এবং ইউটিএম জোন 27, 395 মি ব্যবহার করছে। তবে আমি যদি গোলাকার মারকেটর ব্যবহার করি তবে কার্টেসিয়ান দূরত্ব 904 মিটার, যা বন্ধ।


ইউটিএম জোনটি দ্রাঘিমাংশের ভিত্তিতে "ওয়ার্ক আউট" করা সহজ। সাধারণত একটি দ্রাঘিমাংশের ল্যাম্বডা, -180 <= ল্যাম্বদা <180 টি চয়ন করুন এবং জোন নম্বরটি ইনট ((180 + ল্যাম্বদা) / 6) হিসাবে গণনা করতে এটি ব্যবহার করুন। উত্তর এবং দক্ষিণের মধ্যে সিদ্ধান্ত নিতে অক্ষাংশের চিহ্নটি ব্যবহার করুন। উচ্চ অক্ষাংশে আপনাকে বিশেষ মেরু অঞ্চল ব্যবহার করার দরকার নেই; প্রকৃতপক্ষে, একটি খুঁটির কাছে আপনি প্রায় কোনও ইউটিএম অঞ্চল ব্যবহার করতে পারেন।
whuber

উত্তর:


17

হ্যাঁ, আপনি বিশ্বব্যাপী মার্কেটর অভিক্ষেপ সহ এই ধরণের ত্রুটিগুলি পাবেন: এটি নিরক্ষীয় অঞ্চলে যথাযথ এবং বিষুবরেখার থেকে দূরে অক্ষাংশের সাথে স্পষ্টত বৃদ্ধি পায়। দূরত্ব বিকৃতি হ'ল 60 ডিগ্রি অক্ষাংশে 2 (100%)। আপনার পরীক্ষার অক্ষাংশে (.1৪.১৪ ডিগ্রি) আমি ২.২৯৪ এর একটি বিকৃতি গণনা করছি, ঠিক 904/394 = 2.294 অনুপাতের সাথে একমত। (এর আগে আমি ২.৩০১ গণনা করেছিলাম তবে এটি একটি গোলকের উপর ভিত্তি করে ছিল, ডাব্লুজিএস ৮৪ এলিপসয়েড নয়। পার্থক্য (০.০% এর) আমাদের গোলক-ভিত্তিক হভারসাইন সূত্রের বিপরীতে এলিপসয়েড-ভিত্তিক প্রজেকশন ব্যবহার করে যে সঠিকতা অর্জন করতে পারে তা উপলব্ধি দেয়। )

বিশ্বব্যাপী অভিক্ষেপ হিসাবে এমন কোনও জিনিস নেই যা সর্বত্র অত্যন্ত সঠিক দূরত্ব দেয়। ইউটিএম জোন সিস্টেমটি ব্যবহারের এক কারণ!

একটি সমাধান হ'ল আপনার সমস্ত গণনার জন্য গোলাকার জ্যামিতি ব্যবহার করা, তবে আপনি এটিকে প্রত্যাখ্যান করেছেন (আপনি যদি জটিল ক্রিয়াকলাপ চালিয়ে যাচ্ছেন তবে যুক্তিযুক্ত, তবে সিদ্ধান্তটি পুনর্বিবেচনার উপযুক্ত হতে পারে)।

আরেকটি সমাধান হ'ল পয়েন্টগুলির তুলনায় প্রজেকশনটি মানিয়ে নেওয়া । উদাহরণস্বরূপ, আপনি আগ্রহের অঞ্চলের কেন্দ্রের কাছে থাকা মেরিডিয়ান দিয়ে নিরাপদে ট্রান্সভার্স মার্কেটের (ইউটিএম সিস্টেমের মতো) ব্যবহার করতে পারেন। মেরিডিয়ান স্থানান্তর করা সহজ কাজ: কেবলমাত্র মেরিটিয়ান দ্রাঘিমাংশ সমস্ত দ্রাঘিমাংশ থেকে বিয়োগ করুন এবং প্রাইম মেরিডিয়ানকে কেন্দ্র করে একটি টিএম প্রজেকশন ব্যবহার করুন (ইউটিএম সিস্টেমের 0.9996 এর পরিবর্তে 1 এর স্কেল ফ্যাক্টর সহ)। আপনার কাজের জন্য এটি আরও বেশি হতে থাকেইউটিএম নিজেই ব্যবহার করার চেয়ে সঠিক। এটি সঠিক কোণগুলি দেবে (টিএম কনফরমাল) এবং মাত্র কয়েক দশক কিলোমিটার দ্বারা বিভক্ত পয়েন্টগুলির জন্য উল্লেখযোগ্যভাবে সঠিক হবে: ছয়-অঙ্কের নির্ভুলতার চেয়ে ভাল আশা করুন expect আসলে, আমি এই অভিযোজিত-টিএম দূরত্ব এবং হাওয়ারসাইন দূরত্বগুলির মধ্যে যে ক্ষুদ্রতর পার্থক্যকে এলিপসয়েড (টিএম অভিক্ষেপের জন্য ব্যবহৃত) এবং গোলকের (হ্যাভারসিন দ্বারা ব্যবহৃত) মধ্যে পার্থক্যকে চিহ্নিত করতে চাই, পরিবর্তনের পরিবর্তে অভিক্ষেপ।


এটি বেশ নিখুঁত বলে মনে হচ্ছে, আমি মনে করি প্রজ 4 এর জন্য আমার নিজের ইআরআর স্ট্রিংগুলি তৈরি করতে হবে, বিদ্যমান ইপিএসজি স্ট্রিংগুলির যে কোনওটি ব্যবহার করতে সক্ষম হওয়ার চেয়ে?
কার্ল পি

1
+1 পয়েন্টগুলির সাথে অভিযোজন প্রযোজ্য। আমি ট্রান্সভার্স মার্কেটের চেয়ে ট্রান্সভার্স প্লেট ক্যারিকে পছন্দ করি তবে ছোট যথেষ্ট অঞ্চলগুলিতে ("বৃহত স্কেল"), আগ্রহের অঞ্চলের কাছাকাছি কোনও প্রজেকশন "কেন্দ্রিক" ভাল নির্ভুলতা দেবে।
ডেভিড ক্যারি

@ ডেভিড আকর্ষণীয় ধারণা। গোলকের উপরে ট্রান্সভার্স প্লেট ক্যারি (ক্যাসিনি) আমি gis.stackexchange.com/posts/2964/edit (যা এখানে একটি গ্রহণযোগ্য সমাধান হতে পারে) প্রদত্ত আনুমানিক সূত্রের খুব কাছাকাছি থাকবে । গোলকটিতে টিএম এবং টিপিসির সূত্রগুলি একই রকম; উপবৃত্তাকারে, টিপিসি কিছুটা সহজ। টিএম সম্ভবত আরও সফ্টওয়্যার দ্বারা সমর্থিত।
শুশুক

@ কার্ল আপনি চাইলে টিএম জোনের যে কোনওটি ব্যবহার করতে পারেন। কেবলমাত্র সমস্ত দ্রাঘিমাংশ স্থানান্তর করুন যাতে আপনার আগ্রহের অঞ্চলের একটি কেন্দ্রীয় পয়েন্টটি নির্বাচিত জোনের কেন্দ্রীয় মেরিডিয়ানের সাথে মিলে যায়। সমস্ত দূরত্বকে 1 / 0.9996 দিয়ে গুণ করুন (এবং এই উপাদানটির বর্গক্ষেত্রের সাথে সমস্ত অঞ্চলকে গুণিত করুন), কোনও কোণ বা বিয়ারিং পরিবর্তন করবেন না এবং - যদি আপনার গণনাগুলি নতুন পয়েন্ট উত্পন্ন করে - কেবল তাদের দ্রাঘিমাংশকে মূল স্থানাঙ্ক ব্যবস্থায় ফিরিয়ে দিন ।
শুশুক

0

আমি এটি চেষ্টা করি নি তবে ডকুমেন্টেশন থেকে দেখে মনে হচ্ছে আপনি কোনও লেট / লম্বা জোড় থেকে পেতে http://search.cpan.org/~grahamc/Geo-Coordinates-UTM-0.08/UTM.pm#latlon_to_utm ব্যবহার করতে পারেন (প্লাস উপবৃত্তাকার) থেকে ইউটিএম জোন এবং স্থানাঙ্কগুলির তালিকা। তারপরে আপনি আগের মতো আপনার গণনা চালিয়ে যেতে পারেন।

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