আমি কীভাবে ভূগোলের স্থানাঙ্কগুলি থেকে অঞ্চলটি পরিমাপ করতে পারি?


12

যদি আমার ভৌগলিক স্থানাঙ্কে (ডাব্লুজিএস ৮৪) বহুভুজ থাকে, তবে পৃথিবীর বক্ররেখাকে বিবেচনায় নিয়ে পৃথিবীর পৃষ্ঠের প্রতিটি অংশ নিয়ে যাওয়া মোট ক্ষেত্রটি আমি কীভাবে পরিমাপ করব?

উত্তর:


7

পোস্টজিআইএস 1.5 একটি নতুন জিওগ্রাফি টাইপ চালু করেছে । GEOGRAPHYধরনের একটি উপগোলক উপর unprojected স্থানাঙ্ক একটি PostGIS টেবিল সংরক্ষণ করার জন্য জন্য করতে পারবেন, এবং কিছু বিশ্লেষণ ফাংশন তাদের ওপর সঞ্চালিত হবে।

ST_Area বর্গ মিটারের ক্ষেত্রফল গণনা করার জন্য জিওগ্রাফি টাইপ বহুভুজগুলির উপর কোয়েরি করা যেতে পারে।

নিম্নলিখিত ক্যোয়ারীটি স্পেরয়েড ব্যবহার করে সমস্ত বহুভুজের ক্ষেত্রকে আউটপুট দেয় (বর্তমানে কেবলমাত্র WGS-84গোলকটি সমর্থিত), ধরে নিলে তারা এই GEOGRAPHYধরণের ব্যবহার করে সংরক্ষণ করা হয়েছে :

SELECT ST_Area(the_geom) FROM table_of_polygons;

একটি গোলাকৃতির ক্ষেত্রফল গণনা করতে ব্যবহৃত অ্যালগরিদম উত্স-কোড থেকে নেওয়া যেতে পারে ।


কুল। তথ্যের জন্য ধন্যবাদ। আমি এটি চেষ্টা করে দেখতে হবে।
গ্লেনন

পোষ্টজিআইএস হুডের নীচে কী করে?
mwalker

@ এমওয়ালকার আমি শেখার জন্য সময় নিই নি, তবে আপনি চাইলে উত্স-কোডে একটি লিঙ্ক যুক্ত করেছি :)
fmark

আমার প্রশিক্ষণপ্রাপ্ত চোখে, পোস্টজিআইএস একটি সংক্ষিপ্তসার ব্যবহার করছে, অঞ্চলটি স্ট্রিপগুলিতে খোদাই করে এবং সেগুলি সমস্ত সংযুক্ত করে।
mwalker

10

এখানে এমন কয়েকটি কোডের লিঙ্ক রয়েছে যা একটি সাধারণ বহুভুজের ক্ষেত্রটি লাভ করবে (মূলত ওয়ার্ল্ড উইন্ড ফোরামের): http://forum.worldwindcentral.com/showthread.php?t=20724 । এটি সম্পর্কের ভিত্তিতে মোটামুটি একটি গোলকের উপর সমস্যার সমাধান করে:

বিকল্প পাঠ

এস = বহুভুজের ক্ষেত্রফল; থিটা হ'ল রেডিয়ানের অভ্যন্তরের কোণগুলির সমষ্টি; n হ'ল উল্লম্বের সংখ্যা; r হল গোলকের ব্যাসার্ধ।

এছাড়াও দেখুন (সূত্র চিত্রের উত্স): http://www.geom.uiuc.edu/docs/references/CRC-forulas/node59.html

আমি একটি ওবলেট স্পেরয়েডে বহুভুজ অঞ্চলের লিঙ্ক এবং / অথবা কোড দেখতে পেরে আনন্দিত হব।


1
একটি স্পিওরয়েডে জিওডেসিক বহুভুজের ক্ষেত্রের জন্য @glennon কোড জিওগ্রাফিকলিবতে উপলব্ধ । কোডটিতে কাগজের একটি লিঙ্ক থাকে যেখানে অ্যালগরিদম উত্পন্ন হয়।
সিএফকেক

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

7

আমরা ওপেনলায়ারগুলিতে সহজ সরল গণনার জন্য উত্স এখানে । এই পদ্ধতিটি "একটি গোলকের উপরে বহুভুজগুলির জন্য কিছু অ্যালগরিদম" থেকে এসেছে (রবার্ট। জি চেম্বারলাইন এবং উইলিয়াম এইচ ডুয়েট, নাসা জেপিএল পাবলিকেশন 07-03)। উপরের সাথে সংযুক্ত কোডটি লিনিয়ার রিংয়ের ক্ষেত্র নির্ধারণের জন্য (ভৌগলিক স্থানাঙ্ক সহ)। পলিগনস এবং মাল্টিপলিগনগুলির ক্ষেত্রগুলি রিংগুলি থেকে সংক্ষিপ্ত করা হয়।

var area = 0.0;
var len = ring.components && ring.components.length;
if (len > 2) {
    var p1, p2;
    for (var i=0; i<len-1; i++) {
        p1 = ring.components[i];
        p2 = ring.components[i+1];
        area += OpenLayers.Util.rad(p2.x - p1.x) *
            (2 + Math.sin(OpenLayers.Util.rad(p1.y)) +
            Math.sin(OpenLayers.Util.rad(p2.y)));
    }
    area = area * 6378137.0 * 6378137.0 / 2.0;
}

রিং উপাদানগুলি হ'ল উপরের কোডে x, y (লোন, ল্যাট) কর্ডের দুটি উপাদান অ্যারে। ওপেনলায়ারস.উটি.এল.আরড পদ্ধতিটি কেবলমাত্র ডিগ্রিগুলিকে রেডিয়ানে রূপান্তর করে (ডিগ্রি * পিআই / 180)।


1
আপনি যে ব্যাসার্ধটি ব্যবহার করছেন, 6378137.0 মিটার পৃথিবীর নিরক্ষীয় ব্যাসার্ধের সাথে মিল রয়েছে। এর কোন কারণ আছে কি? মাঝারি ব্যাসার্ধ ব্যবহার করা কি আরও সুনির্দিষ্ট হবে না?
ফ্রেডবি

ম্যাথ.আরডিয়ানস = ফাংশন (ডিগ্রি) {রিটার্ন ডিগ্রি * ম্যাথ.পিআই / 180.0; }; x = অক্ষাংশ, y = দ্রাঘিমাংশ
স্টেফান স্টেইগার

4

আপনাকে আপনার ভৌগলিক স্থানাঙ্কগুলিকে এমন একটি প্রক্ষেপণে রূপান্তর করতে হবে যার একটি সমন্বিত সিস্টেম রয়েছে যা আপনাকে অঞ্চল গণনা করার জন্য কার্টেসিয়ান গণিত ব্যবহার করতে দেয়।

আমি বিশ্বাস করি যে ইউটিএম হ'ল স্বীকৃত স্ট্যান্ডার্ড প্রজেকশন, কারণ এটি আপনার অক্ষাংশ এবং দ্রাঘিমাংশের উপর ভিত্তি করে একটি অঞ্চল নির্বাচন করা খুব সহজ, এমনকি জোনজুড়ে এমনকি বিকৃতিও ন্যূনতম। সুতরাং, আপনার যদি টেক্সাসের আকারের বহুভুজ থাকে, আপনি ইউটিএম অঞ্চল 14 এন ব্যবহার করতে পারেন এবং এটি এখনও মোটামুটি নির্ভুল হবে।

যদি আপনার বহুভুজ উত্তর বা দক্ষিণ মেরুটির ওপরে থাকে, তবে আপনার পরিবর্তে ইউপিএস ব্যবহার করা উচিত , কেননা ইউটিএম অনুমানগুলি খুঁটির চেয়ে কম নির্ভুল, এবং সীমানা আরও ছোট হওয়ায় আপনি দ্রুত এগুলি অতিক্রম করবেন (যেহেতু তারা দ্রাঘিমাটির রেখা অনুসরণ করে)

একবার আপনার পয়েন্টগুলি কার্টেসিয়ান-বান্ধব সমন্বয় ব্যবস্থাতে চলে আসার পরে আপনি সেগুলি গ্রিডে বহুভুজগুলির মতো আচরণ করতে পারেন এবং অঞ্চল গণনা করতে পারেন।


3

একটি বহুভুজআরিয়া ক্লাসটি জিওগ্রাফিকলাইবে 2011-07 এ যুক্ত হয়েছিল। এটি এমন বহুভুজের সত্যিকারের উপবৃত্তাকার ক্ষেত্রটি গণনা করে যার প্রান্তগুলি জিওডিক্স। পোস্টজিআইএসের বিপরীতে, পদ্ধতিতে সংখ্যার একীকরণের প্রয়োজন হয় না। দলিলপত্রের জন্য (এবং কাগজের একটি লিঙ্ক যেখানে সূত্রগুলি উত্পন্ন হয়েছে) দেখুন

http://geographiclib.sf.net/html/classGeographicLib_1_1PolygonAreaT.html

(বহুভুক্তিয়ার সাধারণকরণকে টেম্পলেট শ্রেণিতে প্রতিবিম্বিত করার জন্য লিঙ্ক স্থির করা হয়েছে))

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