earthengine টুল হল একটি ইউটিলিটি প্রোগ্রাম যা আপনাকে আর্থ ইঞ্জিন সম্পদ এবং কমান্ড লাইন থেকে কাজগুলি পরিচালনা করতে দেয়। আপনি যখন পাইথন এপিআই ইনস্টল করেন তখন এটি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায়। টুলটি ইনস্টল এবং সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করতে, একটি কমান্ড লাইনে নিম্নলিখিতটি টাইপ করুন:
earthengine
টুলটি সঠিকভাবে ইনস্টল করা থাকলে, এটি উপলব্ধ কমান্ডের একটি সংক্ষিপ্ত সারাংশ প্রিন্ট করে। একটি নির্দিষ্ট কমান্ডে সাহায্য পেতে, ব্যবহার করুন:
earthengine command -h
আপনি যখন প্রথম Python API ইনস্টল করবেন তখন আপনাকে নীচে বর্ণিত authenticate কমান্ড ব্যবহার করে সাইন ইন করতে হবে। নিম্নলিখিত বিভাগগুলি উপলব্ধ কমান্ডগুলিকে আরও বিশদে বর্ণনা করে।
পরিষেবা অ্যাকাউন্টের শংসাপত্র
একটি পরিষেবা অ্যাকাউন্টের শংসাপত্রের সাথে CLI ব্যবহার করতে, পরিষেবা অ্যাকাউন্টের কী ধারণকারী একটি JSON ফাইলের দিকে নির্দেশ করতে service_account_file পতাকা ব্যবহার করুন৷
earthengine --service_account_file=service_account_creds.json
Colab-এ ব্যবহার
আর্থ ইঞ্জিন কমান্ড লাইন টুলটি আগে থেকে ইনস্টল করা আছে এবং Google Colab- এ ব্যবহারের জন্য প্রস্তুত।
প্রমাণীকরণ
প্রতিটি নতুন Colab সেশনের জন্য প্রমাণীকরণ করুন বা ভার্চুয়াল মেশিন নিষ্ক্রিয়তার কারণে মেয়াদ শেষ হয়ে গেলে (শংসাপত্রগুলি সেশন জুড়ে সংরক্ষণ করা হয় না)।
Python ক্লায়েন্ট লাইব্রেরি আমদানি করুন এবং প্রমাণীকরণ প্রবাহ ট্রিগার করতে ee.Authenticate() কল করুন। প্রমাণীকরণ সম্পূর্ণ করতে প্রম্পট অনুসরণ করুন। Colab-এ ডিফল্ট auth_mode হল colab , অন্যান্য বিকল্পের জন্য প্রমাণীকরণ নির্দেশিকা দেখুন।
import ee
ee.Authenticate()
কমান্ড নির্বাহ
আর্থ ইঞ্জিন সিএলআই-এর মতো কমান্ড লাইন ইউটিলিটিগুলি চালানোর জন্য, আপনাকে বিস্ময়সূচক বিন্দু সহ কমান্ড কলগুলিকে প্রিপেন্ড করতে হবে।
!earthengine -h
একটি ক্লাউড প্রকল্প সেট করুন
প্রতিটি পৃথক earthengine কমান্ডের জন্য একটি ক্লাউড প্রকল্প সেট করতে --project বিকল্পটি ব্যবহার করুন।
!earthengine --project my-project <command>
বিকল্পভাবে, set_project কমান্ড ব্যবহার করে সমস্ত earthengine কলের জন্য একটি ডিফল্ট প্রকল্প সেট করুন। প্রকল্পটি একটি শংসাপত্র ফাইলে (~/.config/earthengine/credentials) যোগ করা হবে এবং পরবর্তী কমান্ডের জন্য ব্যবহার করা হবে, যদি না--project বিকল্প। প্রতিটি নতুন Colab সেশনের জন্য একটি ডিফল্ট প্রজেক্ট সেট করুন বা ভার্চুয়াল মেশিন নিষ্ক্রিয়তার কারণে মেয়াদ শেষ হয়ে গেলে (শংসাপত্রগুলি সেশন জুড়ে সংরক্ষণ করা হয় না)।
!earthengine set_project my-project
কমান্ড রেফারেন্স
প্রমাণীকরণ
আর্থ ইঞ্জিনে কমান্ড লাইন টুল এবং পাইথন ক্লায়েন্ট লাইব্রেরি প্রমাণীকরণ করে। উদাহরণ:
earthengine authenticate
আর্থ ইঞ্জিন ক্লায়েন্টদের প্রমাণীকরণের জন্য OAuth 2.0 প্রোটোকল ব্যবহার করে। মাটির ইঞ্জিন প্রমাণীকরণ কমান্ড আপনার ওয়েব ব্রাউজার ব্যবহার করে প্রমাণীকরণ প্রক্রিয়ার মাধ্যমে আপনাকে অনুরোধ করবে।
ডিফল্ট gcloud প্রমাণীকরণ মোড ব্যবহার করলে আপনাকে gcloud ইনস্টল করতে হবে। প্রমাণীকরণ গাইডে auth_mode প্যারামিটারের মাধ্যমে উপলব্ধ অন্যান্য প্রমাণীকরণ মোড দেখুন।
acl
আর্থ ইঞ্জিন সম্পদের অ্যাক্সেস কন্ট্রোল তালিকা (ACL) মুদ্রণ বা আপডেট করে। ACL নিয়ন্ত্রণ করে কে কোন সম্পদ পড়তে বা লিখতে পারে। উদাহরণ:
earthengine acl get projects/my-project/assets/asset_id
earthengine acl set public projects/my-project/assets/asset_id
earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id
get সাব-কমান্ড ACL এর JSON বর্ণনা প্রিন্ট করে। set সাব-কমান্ড একই JSON ফর্ম্যাটের সাথে একটি ফাইলে প্রদত্ত ACL সেট করে। আপনি একটি ACL অনুলিপি করতে পারেন একটি সম্পদ থেকে অন্যের কাছে get থেকে আউটপুট সংরক্ষণ করে set প্রদান করে।
সেট সাব-কমান্ড দুটি বিশেষ ACL নামও গ্রহণ করে:
-
private: মালিক ছাড়া সবার কাছ থেকে অনুমতি সরিয়ে দেয়। -
public: সমস্ত ব্যবহারকারীদের পড়ার অনুমতি দেয়।
ch সাব-কমান্ড আপনাকে একটি ACL এ স্বতন্ত্র পরিবর্তন করতে দেয়। পড়ার অনুমতি দিতে -u username@gmail.com:R নির্দিষ্ট করুন, লেখার অনুমতি দিতে -u username@gmail.com:W নির্দিষ্ট করুন, এবং ব্যবহারকারীর অনুমতি মুছে দিতে -d username@gmail.com নির্দিষ্ট করুন। বিশেষ ব্যবহারকারী শনাক্তকারী AllUsers সকল ব্যবহারকারীকে বা তার কাছ থেকে পড়ার অনুমতি প্রদান বা প্রত্যাহার করতে ব্যবহার করা যেতে পারে। (মনে রাখবেন যে AllUsers অনুমতি প্রত্যাহার করা কোনো অতিরিক্ত অনুমতি প্রত্যাহার করে না যেগুলি আপনি স্বতন্ত্র ব্যবহারকারীদের মঞ্জুর করেছেন।)
সম্পদ
আর্থ ইঞ্জিন সম্পদের সাথে সম্পর্কিত মেটাডেটা প্রিন্ট বা আপডেট করে। উদাহরণ:
earthengine asset info projects/my-project/assets/asset_id
earthengine asset set -p name=value projects/my-project/assets/asset_id
info উপ-কমান্ড JSON আকারে সম্পদের মেটাডেটা সহ বিস্তারিত তথ্য প্রিন্ট করে। set সাব-কমান্ড একটি সম্পদে পৃথক মেটাডেটা বৈশিষ্ট্য সেট করে।
আপনার সেট করা মেটাডেটা বৈশিষ্ট্যের মানগুলি হয় সংখ্যা বা স্ট্রিং হতে পারে। --property বা -p পতাকা ব্যবহার করে সম্পত্তির নাম সেট করার সময়, সমান চিহ্ন দিয়ে সম্পত্তির নাম এবং মান আলাদা করুন। ডেটা টাইপ স্বয়ংক্রিয়ভাবে সনাক্ত করা হয়, অথবা আপনি (string) , (number) , বা (date) দিয়ে সম্পত্তির নাম উপসর্গ করে এটি স্পষ্টভাবে উল্লেখ করতে পারেন। উদাহরণস্বরূপ, এটি "42" মান সহ একটি স্ট্রিং-মূল্যবান সম্পত্তি সেট করে:
earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id
(এই উদাহরণের উদ্ধৃতিগুলি শেলটিকে বন্ধনীগুলিকে ব্যাখ্যা করতে বাধা দেয়৷ আপনার শেল এবং প্ল্যাটফর্মের উপর নির্ভর করে সেগুলি প্রয়োজনীয় হতে পারে বা নাও হতে পারে৷)
একটি সম্পত্তি মুছে ফেলার জন্য, এটি টাইপ ছাড়া null সেট করুন:
earthengine asset set -p name=null projects/my-project/assets/asset_id
তারিখের বৈশিষ্ট্যগুলি এমন সংখ্যা যা ইউনিক্স যুগের ( অর্থাৎ 1লা জানুয়ারী, 1970 সালের মধ্যরাত) থেকে মিলিসেকেন্ডের সংখ্যাকে প্রতিনিধিত্ব করে এবং সরাসরি একটি সংখ্যা হিসাবে বা নিম্নলিখিত ফর্ম্যাটে নির্দিষ্ট করা যেতে পারে:
YYYY-MM-DD
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.f
সময় অঞ্চলটি UTC বলে ধরে নেওয়া হয়। আপনি --time_start এবং --time_end পতাকা ব্যবহার করে বিশেষ শুরু এবং শেষ সময়ের বৈশিষ্ট্য সেট করতে পারেন:
earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id
cp
একটি সম্পদ কপি করে। উদাহরণ:
earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
তৈরি
নতুন ফোল্ডার এবং ছবি সংগ্রহ তৈরি করে। উদাহরণ:
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
ফোল্ডার তৈরি করতে folder উপ-কমান্ড এবং চিত্র সংগ্রহ তৈরি করতে collection ব্যবহার করুন। আপনি প্রয়োজন অনুসারে প্যারেন্ট ফোল্ডারগুলিকে পুনরাবৃত্তিমূলকভাবে তৈরি করতে -p বিকল্পটি নির্দিষ্ট করতে পারেন। নতুন-তৈরি ফোল্ডার এবং ইমেজ ডিফল্টরূপে ব্যক্তিগত ACL আছে.
ls
এক বা একাধিক ফোল্ডার বা সংগ্রহের বিষয়বস্তু তালিকাভুক্ত করে। উদাহরণ:
earthengine ls users/username
-l বিকল্পটি প্রতিটি সম্পদ সম্পর্কে আরও তথ্য সহ একটি দীর্ঘ বিন্যাসের অনুরোধ করে (বর্তমানে এটির প্রকার)। আপনি তালিকাভুক্ত প্রতিটি ফোল্ডার বা সংগ্রহ থেকে আইটেম সংখ্যা সীমিত করতে --max_items number (বা সংক্ষেপে -m ) নির্দিষ্ট করতে পারেন:
earthengine ls -m 10 projects/my-project/assets/my_large_collection
কোন আর্গুমেন্ট ছাড়া ls কমান্ড চালানোর ফলে আপনার মালিকানাধীন শীর্ষ-স্তরের ফোল্ডার তালিকাভুক্ত হবে।
মডেল
টুল যা দিয়ে TensorFlow সংরক্ষিত মডেল ম্যানিপুলেট করতে।
model prepare
আর্থ ইঞ্জিনে পরিবেশনের জন্য একটি সংরক্ষিত মডেল প্রস্তুত করুন। বিশেষত, এটি আপনার SavedModel আর্থ ইঞ্জিন থেকে অনুরোধ প্রক্রিয়াকরণের জন্য উপযুক্ত একটি ফর্মে রূপান্তরিত করে। ( SavedModel সম্পর্কে আরও জানুন ।)
earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'
এআই প্ল্যাটফর্ম মডেল সম্পর্কে এখানে আরও জানুন। এখানে একটি সম্পূর্ণ উদাহরণ দেখুন।
mv
একটি সম্পদ সরানো বা পুনঃনামকরণ। উদাহরণ:
earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
project_config
প্রকল্প কনফিগারেশন মান সেট করে। এই কমান্ডটি ব্যবহার করার আগে, set_project ব্যবহার করে একটি প্রকল্প সেট করতে ভুলবেন না।
পেতে
একটি প্রকল্প কনফিগারেশন দেখতে, get -কমান্ডটি ব্যবহার করুন:
earthengine alpha project_config get
আপনার যদি প্রকল্পের ব্যাচ টাস্ক সেটিংস দেখার অনুমতি থাকে তবে আউটপুটে রয়েছে:
-
maxConcurrentExports: প্রদত্ত প্রকল্পের জন্য সমস্ত ব্যবহারকারীদের জুড়ে সমান্তরালভাবে চলতে পারে এমন ব্যাচের সর্বাধিক সংখ্যক কাজ নির্দেশ করে এমন একটি সংখ্যা। ডিফল্টরূপে, এটি সংশ্লিষ্ট বিলিং অ্যাকাউন্টের সাবস্ক্রিপশন প্ল্যান দ্বারা অনুমোদিত সর্বোচ্চ সেট করা হয়।
অতিরিক্তভাবে, যদি আপনার প্ল্যান কনফিগারেশন দেখার অনুমতি থাকে, আউটপুটটিতে রয়েছে:
-
planMaxConcurrentExports, একটি সংখ্যা যা বিলিং অ্যাকাউন্ট ব্যবহার করে এমন সমস্ত ব্যবহারকারী এবং প্রকল্প জুড়ে সমান্তরালভাবে চলতে পারে এমন ব্যাচের সর্বাধিক সংখ্যা নির্দেশ করে৷
সেট
প্রকল্পের কনফিগারেশন আপডেট করতে, set সাব-কমান্ড ব্যবহার করুন। নিম্নলিখিত সেটিংস কনফিগার করা যেতে পারে:
-
max_concurrent_exports, প্রকল্পের সর্বাধিক ব্যাচ টাস্ক সমান্তরালতা নিয়ন্ত্রণ করতে- সঠিক অনুমতি প্রয়োজন
উদাহরণস্বরূপ, প্রদত্ত প্রকল্পের জন্য সমান্তরালভাবে 10টি কাজ চালানোর অনুমতি দেওয়ার জন্য একটি প্রকল্প কনফিগার করতে:
earthengine alpha project_config set --max_concurrent_exports=10
আউটপুট আপডেট করা প্রকল্প কনফিগারেশন প্রদর্শন করে, যা রিটার্ন get তার অনুরূপ।
ব্যাচ টাস্ক সমান্তরাল সম্পর্কে আরও তথ্যের জন্য, আর্থ ইঞ্জিন কোটা পৃষ্ঠাটি দেখুন।
rm
এক বা একাধিক সম্পদ মুছে দেয়। উদাহরণ:
earthengine rm projects/my-project/assets/asset_id
earthengine rm -r projects/my-project/assets/folder_id
আপনি একটি ফোল্ডার বা সংগ্রহের বিষয়বস্তু বারবার মুছে ফেলতে -r পতাকা ব্যবহার করতে পারেন। একাধিক সম্পদ মুছে ফেলার সময় নিরাপত্তার জন্য, আপনি --dry_run ফ্ল্যাগ ব্যবহার করতে পারেন প্রকৃতপক্ষে কিছু না মুছে ঠিক কী মুছে ফেলা হবে তা যাচাই করতে।
সেট_প্রজেক্ট
Google ক্লাউড প্রজেক্ট সেট করে যার মাধ্যমে গণনার অনুরোধ রাউট করা হয়।
earthengine set_project foo-project
ক্লাউড কার্যকারিতা প্রয়োজন এমন কমান্ডগুলি চালানোর আগে এই কমান্ডটি প্রয়োজন, উদাহরণস্বরূপ model ।
টাস্ক
দীর্ঘ-চলমান কাজগুলি সম্পর্কে তথ্য মুদ্রণ করে বা পরিচালনা করে। উদাহরণ:
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
list সাব-কমান্ড আপনার সম্প্রতি জমা দেওয়া কাজগুলি সম্পর্কে প্রাথমিক তথ্য তালিকাভুক্ত করে। -l বিকল্পটি প্রতিটি কাজ সম্পর্কে আরও তথ্য সহ একটি দীর্ঘ বিন্যাসের অনুরোধ করে। info উপ-কমান্ড পৃথক কর্ম সম্পর্কে বিস্তারিত তথ্য মুদ্রণ করে। cancel উপ-কমান্ড এক বা একাধিক চলমান কাজ বাতিল করে।
আপলোড
Google ক্লাউড স্টোরেজ থেকে আর্থ ইঞ্জিনে ছবি বা টেবিল আপলোড করে, বা বাহ্যিক চিত্র দ্বারা সমর্থিত সম্পদ তৈরি করে।
ইমেজ
ডিফল্ট সেটিংস ব্যবহার করে একটি চিত্র সম্পদ আপলোড করতে:
earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif
আপনি যদি একাধিক ইনপুট ইমেজ ফাইল নির্দিষ্ট করেন তবে সেগুলিকে একটি একক চিত্র সম্পদের টাইলস হিসাবে ব্যাখ্যা করা হবে। আর্থ ইঞ্জিনে ছবি আপলোড করার বিকল্পগুলি সম্পর্কে আপনি ইমেজ সম্পদগুলি আপলোড করার বিষয়ে আরও জানতে পারেন: উন্নত বিকল্পগুলি ।
আপনি --pyramiding_policy পতাকা ব্যবহার করে পিরামিড হ্রাস নীতি নির্দিষ্ট করতে পারেন, যা mean (ডিফল্ট), sample , mode , min বা max সেট করা যেতে পারে। এটি নিয়ন্ত্রণ করবে কিভাবে আর্থ ইঞ্জিন আপনার ছবির নিম্ন-রেজোলিউশন সংস্করণের পিরামিড তৈরি করে:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif
আপনি --last_band_alpha ব্যবহার করতে পারেন ইঙ্গিত দিতে যে ছবির জন্য মুখোশটি শেষ ব্যান্ডের একটি আলফা চ্যানেল থেকে নেওয়া উচিত:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif
আপনি --nodata_value পতাকা ব্যবহার করে একটি নো-ডেটা মান নির্দিষ্ট করতে পারেন। এটি সেই মান সহ চিত্রের যেকোনো পিক্সেলকে মাস্ক করবে:
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
আপনি উপরে বর্ণিত asset set কমান্ড দ্বারা গৃহীত একই পতাকা ব্যবহার করে সম্পদে সেট করার জন্য মেটাডেটা বৈশিষ্ট্যগুলিও নির্দিষ্ট করতে পারেন। বিকল্পগুলি চিত্র ম্যানিফেস্ট গাইডেও বর্ণনা করা হয়েছে।
টেবিল
Google ক্লাউড স্টোরেজ থেকে আর্থ ইঞ্জিন টেবিল সম্পদে একটি শেপফাইল, CSV, বা TFRecord আপলোড করতে, আপনি যেকোনও ব্যবহার করতে পারেন:
earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord
CSV এবং TFRecord ফাইলগুলিকে যেভাবে ব্যাখ্যা করা হয় তার সাথে সম্পর্কিত অনেকগুলি বিকল্প রয়েছে৷ আপনি টেবিল ম্যানিফেস্ট গাইডে গিয়ে বা এর সাথে টেবিল আপলোড বিকল্পগুলির একটি সম্পূর্ণ তালিকা দেখতে পারেন:
earthengine upload table -h
বহিরাগত_চিত্র
একটি বহিরাগত চিত্র দ্বারা সমর্থিত একটি সম্পদ তৈরি করতে, একটি ম্যানিফেস্ট সহ upload_image কমান্ডটি চালান:
earthengine alpha upload external_image --manifest /tmp/foo.json
একটি উদাহরণ ম্যানিফেস্ট হল:
{
"name": "projects/{project}/assets/cogdemo1",
"tilesets": [
{ "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
],
"properties": {
"source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
},
"startTime": "2016-01-01T00:00:00.000000000Z",
"endTime": "2016-12-31T15:01:23.000000000Z"
}
ম্যানিফেস্ট নির্মাণের বিষয়ে আরও বিশদ বিবরণের জন্য ক্লাউড জিওটিআইএফএফ গাইড এবং ইমেজ ম্যানিফেস্ট গাইড দেখুন।