আর্থ ইঞ্জিন Geometry
বস্তুতে বিভিন্ন ধরনের ক্রিয়াকলাপ সমর্থন করে। এর মধ্যে রয়েছে পৃথক জ্যামিতিতে ক্রিয়াকলাপ যেমন একটি বাফার, সেন্ট্রোয়েড, বাউন্ডিং বক্স, পরিধি, উত্তল হুল ইত্যাদি গণনা করা। উদাহরণস্বরূপ:
কোড এডিটর (জাভাস্ক্রিপ্ট)
// Create a geodesic polygon. var polygon = ee.Geometry.Polygon([ [[-5, 40], [65, 40], [65, 60], [-5, 60], [-5, 60]] ]); // Compute a buffer of the polygon. var buffer = polygon.buffer(1000000); // Compute the centroid of the polygon. var centroid = polygon.centroid(); Map.addLayer(buffer, {}, 'buffer'); Map.addLayer(centroid, {}, 'centroid');
পূর্ববর্তী উদাহরণ থেকে লক্ষ্য করুন যে বাফার দূরত্ব মিটারে নির্দিষ্ট করা হয়েছে।
সমর্থিত জ্যামিতিক ক্রিয়াকলাপগুলির মধ্যে জ্যামিতির মধ্যে সম্পর্কগত গণনা যেমন ছেদ, মিলন, পার্থক্য, দূরত্ব, রয়েছে ইত্যাদি অন্তর্ভুক্ত। এই সম্পর্কগুলির কিছু পরীক্ষা করার জন্য, জ্যামিতিগুলি ডিফল্টরূপে "জোড়-বিজোড়" নিয়ম ব্যবহার করে। জোড়-বিজোড় নিয়ম অনুসারে, একটি বিন্দু বহুভুজের ভিতরে থাকে যদি সেই বিন্দু থেকে কোনো রেখা বহুভুজের বাইরে বলে পরিচিত একটি বিজোড় সংখ্যক অন্যান্য প্রান্ত অতিক্রম করে। বহুভুজের অভ্যন্তরটি শেলের ভিতরের সবকিছু এবং একটি গর্তের ভিতরে নয়। একটি সাধারণ উদাহরণ হিসাবে, একটি বৃত্তাকার বহুভুজের মধ্যে একটি বিন্দুকে বহুভুজ থেকে বাঁচতে ঠিক একটি প্রান্ত অতিক্রম করতে হবে। প্রয়োজনে জ্যামিতি ঐচ্ছিকভাবে "বাম-ভিতরে" নিয়ম ব্যবহার করতে পারে। প্রদত্ত ক্রমে একটি রিং এর বিন্দু হাঁটা কল্পনা করুন; ভিতরে বাম দিকে হবে.
"লেফ্ট-ইনসাইড" evenOdd: false
সাথে তৈরি করা জ্যামিতি এবং "জোড়-বিজোড়" নিয়ম দিয়ে তৈরি জ্যামিতির মধ্যে পার্থক্য প্রদর্শন করতে, নিম্নলিখিত উদাহরণটি দুটি ভিন্ন বহুভুজের সাথে একটি বিন্দুর তুলনা করে:
কোড এডিটর (জাভাস্ক্রিপ্ট)
// Create a left-inside polygon. var holePoly = ee.Geometry.Polygon({ coords: [ [[-35, -10], [-35, 10], [35, 10], [35, -10], [-35, -10]] ], evenOdd: false }); // Create an even-odd version of the polygon. var evenOddPoly = ee.Geometry({ geoJson: holePoly, evenOdd: true }); // Create a point to test the insideness of the polygon. var pt = ee.Geometry.Point([1.5, 1.5]); // Check insideness with a contains operator. print(holePoly.contains(pt)); // false print(evenOddPoly.contains(pt)); // true
পূর্ববর্তী উদাহরণটি দেখায় কিভাবে Polygon
কনস্ট্রাক্টরকে দেওয়া স্থানাঙ্কের ক্রম ফলাফলকে প্রভাবিত করে যখন একটি বাম-ভিতরে বহুভুজ তৈরি করা হয়। বিশেষত, বিন্দুটি বাম-ভিতরের বহুভুজের বাইরে কিন্তু জোড়-বিজোড় বহুভুজের ভিতরে।
নিম্নলিখিত উদাহরণ দুটি বহুভুজের মধ্যে সম্পর্কের উপর ভিত্তি করে প্রাপ্ত জ্যামিতিগুলি গণনা করে এবং কল্পনা করে:
কোড এডিটর (জাভাস্ক্রিপ্ট)
// Create two circular geometries. var poly1 = ee.Geometry.Point([-50, 30]).buffer(1e6); var poly2 = ee.Geometry.Point([-40, 30]).buffer(1e6); // Display polygon 1 in red and polygon 2 in blue. Map.setCenter(-45, 30); Map.addLayer(poly1, {color: 'FF0000'}, 'poly1'); Map.addLayer(poly2, {color: '0000FF'}, 'poly2'); // Compute the intersection, display it in green. var intersection = poly1.intersection(poly2, ee.ErrorMargin(1)); Map.addLayer(intersection, {color: '00FF00'}, 'intersection'); // Compute the union, display it in magenta. var union = poly1.union(poly2, ee.ErrorMargin(1)); Map.addLayer(union, {color: 'FF00FF'}, 'union'); // Compute the difference, display in yellow. var diff1 = poly1.difference(poly2, ee.ErrorMargin(1)); Map.addLayer(diff1, {color: 'FFFF00'}, 'diff1'); // Compute symmetric difference, display in black. var symDiff = poly1.symmetricDifference(poly2, ee.ErrorMargin(1)); Map.addLayer(symDiff, {color: '000000'}, 'symmetric difference');
এই উদাহরণগুলিতে, মনে রাখবেন যে maxError
প্যারামিটারটি জ্যামিতি ক্রিয়াকলাপের জন্য এক মিটারে সেট করা হয়েছে। maxError
হল সর্বাধিক অনুমোদনযোগ্য ত্রুটি, মিটারে, রূপান্তর থেকে (যেমন অভিক্ষেপ বা পুনঃপ্রক্ষেপণ) যা জ্যামিতি পরিবর্তন করতে পারে। যদি জ্যামিতিগুলির একটি অন্যটির থেকে ভিন্ন অভিক্ষেপে থাকে, তাহলে আর্থ ইঞ্জিন একটি গোলাকার স্থানাঙ্ক সিস্টেমে গণনা করবে, maxError
দ্বারা প্রদত্ত প্রজেকশন নির্ভুলতা সহ। আপনি একটি নির্দিষ্ট প্রজেকশনও উল্লেখ করতে পারেন যেখানে প্রয়োজন হলে গণনা করতে হবে।