অ্যাপ ইঞ্জিন & আর্থ ইঞ্জিন ওভারভিউ

গুগল অ্যাপ ইঞ্জিন আপনাকে গুগলের সার্ভারে আপনার নিজস্ব কাস্টম অ্যাপ্লিকেশন তৈরি ও চালানোর সুযোগ দেয়। অ্যাপ ইঞ্জিন অ্যাপ্লিকেশনগুলো তৈরি করা, রক্ষণাবেক্ষণ করা এবং আপনার ট্র্যাফিক ও ডেটা স্টোরেজের চাহিদা পরিবর্তনের সাথে সাথে এর পরিধি বাড়ানো সহজ। আপনাকে শুধু আপনার অ্যাপ্লিকেশনের সোর্স কোড আপলোড করতে হবে এবং এটি ব্যবহারের জন্য প্রস্তুত হয়ে যাবে। আপনি যদি অ্যাপ ইঞ্জিনের জন্য ডেভেলপমেন্টে নতুন হন, তবে কাজ শুরু করার আগে অবশ্যই অ্যাপ ইঞ্জিন পাইথন বা নোড.জেএস কুইকস্টার্টটি দেখে নেবেন।

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

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

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

আর্থ ইঞ্জিন দিয়ে অ্যাপ ইঞ্জিন অ্যাপ স্থাপন করা

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

আপনার গুগল ক্লাউড প্রজেক্টে আর্থ ইঞ্জিন এপিআই (Earth Engine API) সক্রিয় করুন।

এই নির্দেশাবলী অনুসারে একটি গুগল ক্লাউড প্রজেক্ট তৈরি বা নির্বাচন করুন এবং আর্থ ইঞ্জিন এপিআই (Earth Engine API) সক্রিয় করুন।

পরিচয়পত্র সেট আপ করুন

পরিষেবা অ্যাকাউন্ট

আপনার অ্যাপ ব্যবহারকারী যেই হোক না কেন, তার পক্ষ থেকে আর্থ ইঞ্জিনে (Earth Engine) অনুরোধ অনুমোদন করার জন্য একটি সার্ভিস অ্যাকাউন্ট ব্যবহার করা যেতে পারে। config.py ফাইলটিতে সার্ভিস অ্যাকাউন্টের ইমেল অ্যাড্রেস ব্যবহার করে অথেনটিকেশন কোড এবং একটি প্রাইভেট কী ফাইল থাকে। একটি সার্ভিস অ্যাকাউন্টের মাধ্যমে অথেনটিকেশন সেট আপ করতে, সার্ভিস অ্যাকাউন্ট এবং প্রাইভেট কী ফাইল তৈরি করার জন্য এই নির্দেশাবলী অনুসরণ করুন। কী ফাইলটির নাম .private-key.json দিন এবং এটিকে আপনার প্রজেক্ট ডিরেক্টরিতে সরিয়ে নিন।

পাইথন

যদি আগে থেকে না করে থাকেন, তাহলে প্রথমে আর্থ ইঞ্জিন পাইথন এপিআই (Earth Engine Python API) সেট আপ করুনএই নির্দেশাবলী অনুযায়ী সার্ভিস অ্যাকাউন্টটি পরীক্ষা করুন।

টেস্ট সফল হলে, আপনার সার্ভিস অ্যাকাউন্টের ইমেল অ্যাড্রেস দিয়ে config.py (অথবা আপনার সোর্স কোডের সমতুল্য কোনো ফাইল) আপডেট করুন। (কী ফাইলের পাথ পরিবর্তন করার প্রয়োজন নেই, কারণ এটি আপনার প্রজেক্ট ডিরেক্টরিতে রয়েছে)।

নোড.জেএস

npm install চালিয়ে প্রোজেক্টের ডিপেন্ডেন্সিগুলো ইনস্টল করুন। Earth Engine Node.js API এবং অন্য যেকোনো ডিপেন্ডেন্সি আপনার প্রোজেক্ট ডিরেক্টরির ./node_modules ফোল্ডারে কপি হয়ে যাবে। ইনস্টলেশন ব্যর্থ হলে, Node.js-এর একটি সাম্প্রতিক সংস্করণ ইনস্টল করা আছে কিনা তা পরীক্ষা করুন । লাইব্রেরিটি অথেন্টিকেট এবং ইনিশিয়ালাইজ করুন, my-project জায়গায় আপনার Google Cloud প্রোজেক্ট আইডি বসান:

const ee = require('@google/earthengine');
ee.data.authenticateViaPrivateKey('.private-key.json');
ee.initialize(null, null, null, null, null, 'my-project');

OAuth 2.0 ক্লায়েন্ট আইডি

আপনি যদি চান ব্যবহারকারীরা (সার্ভিস অ্যাকাউন্ট ব্যবহার না করে) নিজেদের পরিচয়েই প্রমাণীকরণ করুক, তাহলে আপনাকে আপনার ক্লাউড প্রজেক্ট থেকে একটি OAuth ক্লায়েন্ট আইডি সেট আপ করতে হবে। তা করতে:

  1. এই নির্দেশাবলী অনুযায়ী একটি ক্লায়েন্ট আইডি তৈরি করুন।
  2. আপনার ক্লায়েন্ট আইডি ব্যবহার করার জন্য static/script.js (অথবা আপনার সোর্স কোডের সমতুল্য কোনো ফাইল) আপডেট করুন।
  3. নিশ্চিত করুন যে ee_api_js.js ফাইলটি /static/ ডিরেক্টরিতে (বা সমতুল্য) আছে। আপনি এটি সরাসরি GitHub থেকে ডাউনলোড করতে পারেন, npm থেকে ইনস্টল করতে পারেন , অথবা, যদি আপনি ইতিমধ্যেই সম্পূর্ণ EE API রিপো ক্লোন করে থাকেন, তবে আপনার লোকাল ফাইলসিস্টেমে earthengine-api/javascript/build থেকে এটি কপি করতে পারেন।

স্থানীয় উন্নয়ন পরিবেশ স্থাপন করুন

পাইথন

প্রজেক্টটি ডাউনলোড ও বিল্ড করার জন্য গিটহাবের প্রতিটি উদাহরণ ডিরেক্টরিতে দেওয়া নির্দেশাবলী অনুসরণ করুন। যদি সেখানে build.sh ফাইল থাকে, তবে আপনার অ্যাপ্লিকেশন রুট ফোল্ডার থেকে নিম্নলিখিত কমান্ডটি দিয়ে সেটি চালান:

./build.sh

সেটআপ স্ক্রিপ্টটি ডিপেন্ডেন্সিগুলো ডাউনলোড করবে এবং গুগল কমান্ড লাইন টুলস ইনস্টল করবে, যদি সেগুলো আপনার সিস্টেমে আগে থেকে না থাকে। আর্থ ইঞ্জিন পাইথন এপিআই এবং এর ডিপেন্ডেন্সিগুলো আপনার প্রজেক্ট ডিরেক্টরির একটি ./lib ফোল্ডারে কপি করা হবে।

নিম্নলিখিত কমান্ডটি চালিয়ে অ্যাপ ইঞ্জিন কমান্ড লাইন টুলগুলো উপলব্ধ আছে কিনা তা যাচাই করুন:

dev_appserver.py

যদি কমান্ডটি খুঁজে না পাওয়া যায়, তাহলে ম্যানুয়ালি পাইথনের জন্য গুগল অ্যাপ ইঞ্জিন এসডিকে (Google App Engine SDK for Python ) ডাউনলোড এবং ইনস্টল করার চেষ্টা করুন। যদি কমান্ডটি পাওয়া যায়, তবে এটি "error: too few arguments" ত্রুটির সাথে ব্যর্থ হবে।

নোড.জেএস

কোনো সেটআপের প্রয়োজন নেই।

স্থানীয়ভাবে চালান

একবার আপনার সার্ভিস অ্যাকাউন্টটি আর্থ ইঞ্জিন অ্যাক্সেসের জন্য নিবন্ধিত হয়ে গেলে, উদাহরণগুলো পরীক্ষা করার সময় আপনি প্রমাণীকরণের জন্য এটি ব্যবহার করতে পারবেন ( config.py দেখুন)। প্রথমে আপনার প্রজেক্ট ডিরেক্টরিতে গিয়ে এবং নিম্নলিখিত কমান্ডটি চালিয়ে উদাহরণগুলো স্থানীয়ভাবে পরীক্ষা করে দেখুন:

পাইথন
dev_appserver.py .
নোড.জেএস
npm install
npm start

লোকাল সার্ভারে অ্যাপটি চলতে দেখতে আপনার ব্রাউজারে http://localhost:8080- এ যান। আপনি যে কোনো পরিবর্তন করলে (এবং সেভ করলে) পেজটি রিফ্রেশ করার সাথে সাথে তা স্বয়ংক্রিয়ভাবে কার্যকর হয়ে যাবে।