আর্থ ইঞ্জিনের জন্য জাভাস্ক্রিপ্টের ভূমিকা

এই টিউটোরিয়ালটি আপনাকে আর্থ ইঞ্জিন স্ক্রিপ্ট লিখতে শুরু করার জন্য যথেষ্ট জাভাস্ক্রিপ্ট কভার করে। আরও পুঙ্খানুপুঙ্খ জাভাস্ক্রিপ্ট টিউটোরিয়ালের জন্য, এই Mozilla বিকাশকারী সংস্থানগুলি দেখুন। জাভাস্ক্রিপ্টে উদাহরণ সহ প্রোগ্রামিং এর পরিচিতির জন্য, ইলোকুয়েন্ট জাভাস্ক্রিপ্ট দেখুন। জাভাস্ক্রিপ্ট কোডিং শৈলী সম্পর্কে পরামর্শের জন্য, Google JavaScript শৈলী নির্দেশিকা দেখুন। এই টিউটোরিয়ালে, আপনি আর্থ ইঞ্জিন কোড এডিটরে জাভাস্ক্রিপ্ট লিখতে যাচ্ছেন। শুরু করার আগে, কোড এডিটর পরিবেশের সাথে পরিচিত হতে কোড এডিটর গাইড ব্যবহার করুন।

হ্যালো ওয়ার্ল্ড!

আর্থ ইঞ্জিনের জন্য আপনার প্রথম জাভাস্ক্রিপ্ট লেখার সময়! আপনার ক্রোম ব্রাউজারে, code.earthengine.google.com এ যান এবং কোড এডিটরে নিম্নলিখিতটি অনুলিপি করুন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

print('Hello World!');

রান ক্লিক করুন এবং পর্যবেক্ষণ করুন যে 'হ্যালো ওয়ার্ল্ড!' কনসোল ট্যাবে প্রিন্ট করা হয়। উপরের লাইনটি একটি জাভাস্ক্রিপ্ট বিবৃতি। জাভাস্ক্রিপ্টে, বিবৃতি একটি সেমিকোলনে শেষ হয়। আর্থ ইঞ্জিন প্রোগ্রামগুলি এইরকম বিবৃতিগুলির একটি সেট নিয়ে গঠিত। আপনি কোডটি মন্তব্য করে এটি মুছে না দিয়ে চলমান থেকে প্রতিরোধ করতে পারেন। কোড কমেন্ট করার একটি উপায় হল দুটি ফরোয়ার্ড স্ল্যাশ // কোডের আগে যা আপনি চালাতে চান না। যেমন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// print('Hello World!');

আপনি যা করার চেষ্টা করছেন তা বর্ণনা করতে আপনার কোডে প্রচুর মন্তব্য করা ভাল অভ্যাস। মন্তব্য করা কোড মুছে ফেলাও ভাল যা আর কিছু করে না। এই উভয় অনুশীলন কোড পঠনযোগ্যতা উন্নত করবে।

বেসিক জাভাস্ক্রিপ্ট ডেটা প্রকার

স্ট্রিংস

বস্তু এবং আদিম সঞ্চয় করার জন্য ভেরিয়েবল ব্যবহার করা কোড পঠনযোগ্যতা সাহায্য করে। উদাহরণস্বরূপ, একটি ভেরিয়েবল যা একটি স্ট্রিং অবজেক্ট সঞ্চয় করে তা একক ' বা ডবল " উদ্ধৃতি দ্বারা সংজ্ঞায়িত করা হয় (তবে সেগুলিকে মিশ্রিত করবেন না), একক উদ্ধৃতি পছন্দের সাথে। একটি নতুন স্ট্রিং তৈরি করুন এবং এটিকে greetString নামে একটি ভেরিয়েবলে সংরক্ষণ করুন :

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Use single (or double) quotes to make a string.
var greetString = 'Ahoy there!';
// Use parentheses to pass arguments to functions.
print(greetString);

সংখ্যা

লক্ষ্য করুন যে ভেরিয়েবলগুলি var কীওয়ার্ড দিয়ে সংজ্ঞায়িত করা হয়েছে। ভেরিয়েবলগুলিও সংখ্যা সংরক্ষণ করতে পারে:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Store a number in a variable.
var number = 42;
print('The answer is:', number);

এই উদাহরণে, লক্ষ্য করুন যে যখন print() কমা দ্বারা পৃথক দুটি আর্গুমেন্ট দেওয়া হয়, তখন প্রতিটি আর্গুমেন্ট আলাদা লাইনে প্রিন্ট হয়।

তালিকা

বর্গাকার বন্ধনী [] সহ তালিকা সংজ্ঞায়িত করুন। সংখ্যার একটি তালিকা, উদাহরণস্বরূপ:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Use square brackets [] to make a list.
var listOfNumbers = [0, 1, 1, 2, 3, 5];
print('List of numbers:', listOfNumbers);

তালিকাগুলি স্ট্রিং বা অন্যান্য বস্তুও সঞ্চয় করতে পারে। যেমন:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Make a list of strings.
var listOfStrings = ['a', 'b', 'c', 'd'];
print('List of strings:', listOfStrings);

বস্তু

জাভাস্ক্রিপ্টে বস্তু হল key: value জোড়া। কোঁকড়া বন্ধনী ব্যবহার করে একটি বস্তু (বা অভিধান) তৈরি করুন {} , উদাহরণস্বরূপ:

কোড এডিটর (জাভাস্ক্রিপ্ট)

// Use curly brackets {} to make a dictionary of key:value pairs.
var object = {
  foo: 'bar',
  baz: 13,
  stuff: ['this', 'that', 'the other thing']
};
print('Dictionary:', object);
// Access dictionary items using square brackets.
print('Print foo:', object['foo']);
// Access dictionary items using dot notation.
print('Print stuff:', object.stuff);

মনে রাখবেন আপনি কী সরবরাহ করে অভিধান থেকে একটি মান পেতে পারেন। এই উদাহরণটি আপনাকে জাভাস্ক্রিপ্ট অবজেক্টের জন্য কীভাবে তা করতে হবে তা দেখায়। পরে আপনি আর্থ ইঞ্জিন সার্ভারে থাকা অভিধানগুলির জন্য এটি কীভাবে করবেন তা শিখবেন।

ফাংশন

ক্রিয়াকলাপগুলির সেটগুলিকে গোষ্ঠীবদ্ধ করে কোড পাঠযোগ্যতা এবং পুনঃব্যবহারযোগ্যতা উন্নত করার আরেকটি উপায় ফাংশন। function কীওয়ার্ড দিয়ে একটি ফাংশন সংজ্ঞায়িত করুন। ফাংশনের নাম একটি অক্ষর দিয়ে শুরু হয় এবং শেষে এক জোড়া বন্ধনী থাকে। ফাংশনগুলি প্রায়শই প্যারামিটার নেয় যা ফাংশনকে কী করতে হবে তা বলে। এই প্যারামিটারগুলি বন্ধনীর ভিতরে যায় () । ফাংশন তৈরি করা স্টেটমেন্টের সেট কোঁকড়া বন্ধনীর ভিতরে যায়। return কীওয়ার্ড নির্দেশ করে ফাংশন আউটপুট কি। একটি ফাংশন ঘোষণা করার বিভিন্ন উপায় আছে, কিন্তু এখানে আমরা এই মত কিছু ব্যবহার করব:

কোড এডিটর (জাভাস্ক্রিপ্ট)

var myFunction = function(parameter1, parameter2, parameter3) {
  statement;
  statement;
  statement;
  return statement;
};

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

কোড এডিটর (জাভাস্ক্রিপ্ট)

// The reflect function takes a single parameter: element.
var reflect = function(element) {
  // Return the argument.
  return element;
};
print('A good day to you!', reflect('Back at you!'));

এটি একটি ব্যবহারকারী-সংজ্ঞায়িত ফাংশনের একটি উদাহরণ। এছাড়াও প্রচুর বিল্ট-ইন আর্থ ইঞ্জিন ফাংশন রয়েছে। এই অন্তর্নির্মিত ফাংশনগুলি সম্পর্কে জানতে কোড এডিটর ডক্স ট্যাবটি অন্বেষণ করুন৷ এখানে একটি আর্থ ইঞ্জিন ফাংশনের একটি খুব সহজ উদাহরণ:

কোড এডিটর (জাভাস্ক্রিপ্ট)

var aString = ee.Algorithms.String(42);

পরবর্তী বিভাগে, আর্থ ইঞ্জিন অবজেক্ট এবং পদ্ধতি সম্পর্কে আরও জানুন।