দূরবর্তী সেন্সিং জন্য প্রস্তাবিত প্রোগ্রামিং ভাষা?


14

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

উত্তর:


28

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

এছাড়াও, ভুলে যাবেন না যে ERDAS এর একটি স্ক্রিপ্টিং ভাষা (EML) রয়েছে যা বেশ ভাল এবং শেখার পক্ষে সহজ। EML গ্রাফিক মডেলারের মেরুদণ্ড এবং জিএমডি কেবল প্যাকেজড EML স্ক্রিপ্টগুলি যা গ্রাফিক মডেলার ইন্টারফেসের অধীনে বসে। ইএমএল সরাসরি ব্যবহারের সুবিধা হ'ল আপনি / যখন লুপগুলি ব্যবহার করতে পারেন এবং স্ক্রিপ্টিং ভাষায় আরও বেশি ERDAS কার্যকারিতা অ্যাক্সেস করতে পারেন।

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

পাইথন বিকল্পগুলি NumPy এবং SciPy নমনীয় তবে আইডিএল এবং ম্যাটল্যাবের মতো অনুকূল নয়। এর মতো, বড় অ্যারেগুলির সাথে কাজ করার সময় আপনাকে স্থান এবং গতির সাথে সম্বোধন করতে হবে। পাইথনের একটি বিশাল সুবিধা হ'ল বিভিন্ন বিশ্লেষণমূলক কাজ সম্পাদনের জন্য অতিরিক্ত গ্রন্থাগার। প্যাকেজগুলির মাধ্যমে উপলব্ধ কিছু সংযোজন কার্যকারিতার নামকরণের জন্য দূরবর্তী সেন্সিং , ননপ্যারামেট্রিক পরিসংখ্যান , স্থানিক ক্লাসের জন্য বাইন্ডিংগুলি (যেমন জিডিএল, লিবলাস) রয়েছে packages

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

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

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


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

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

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

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

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

15

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

ব্যবহারিক দৃষ্টিকোণ থেকে পাইথন , আর (ওপেন সোর্স) এবং ম্যাটল্যাব (বাণিজ্যিক) আমার প্রতিদিনের দূরবর্তী সেন্সিং ভিত্তিক কাজের জন্য সবচেয়ে গুরুত্বপূর্ণ ভাষা। আমি ডিজিটাল ইমেজ প্রসেসিংয়ের বেশিরভাগ জন্য ম্যাটল্যাব, আরও জিআইএস সম্পর্কিত কাজের জন্য পাইথন এবং গ্রাফিক্স / বিশ্লেষণামূলক উদ্দেশ্যে আর ব্যবহার করি।

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


1
পাইথন এর মধ্যে অনেকগুলি মডিউল রয়েছে যেমন পাই পাই 5 এবং নম্পি / স্কিপি। ওএসএসআইএম এর মতো আরও বড় লাইব্রেরি রয়েছে , বিশেষত চিত্র প্রক্রিয়াকরণের জন্য।
রোল্যান্ড

1
পাইথনে +1 এটি একটি সাধারণ উদ্দেশ্য ভাষা এবং আপনার যদি জিআইএস স্ক্রিপ্টিং সহ 'বাক্সের বাইরে' পড়ে যেতে পারে এমন সরঞ্জামগুলি ব্যবহার করতে হয় তবে পাইথন এটি করতে পারে।

ধন্যবাদ ছেলেরা, আমি পাইথনের উপর কাজ শুরু করব এবং আমার ভাষাগুলি কম হয়ে গেলে অন্যান্য ভাষায় প্রসারিত হবে sounds আপনার সাহায্যের জন্য অনেক ধন্যবাদ.
এমিলি

1
রাস্টারিও সম্পর্কে ভুলে যাবেন না: github.com/mapbox/rasterio পাইথনের রাস্টারদের জন্য একটি নতুন লাইব্রেরি।
অ্যালেক্স লেথ

2

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

সহজেই একাধিক ভাষা শেখার পক্ষে সক্ষম হওয়া গুরুত্বপূর্ণ নয়, তবে প্রাথমিক ভুলগুলি এড়ানোর জন্য।

কয়েকটি প্রস্তাবিত বিষয় হ'ল:

  • ডেটা ধরণ, মেমরির ব্যবহার
  • পরিবেশ
  • পুনরাবৃত্তির
  • প্যাটার্ন ম্যাচিং
  • পদ্ধতিগত দৃষ্টান্ত, পরিমিতি

এছাড়াও, আপনার যদি কোড লেখার সমস্যা হয় তবে এক ধাপ পিছনে যান এবং সিউডোকোড লিখুন। মূলত আপনার কোডের পিছনে যুক্তিটি এবং আপনি এটি সম্পাদন করতে চান তা ধাপে ধাপে লিখুন।

আপনি যদি একজন শিক্ষার্থী হন তবে আমি প্রথম এবং দ্বিতীয় বর্ষের কমপ্লেক্স সায়েন্স কোর্স করার পরামর্শ দিই।

চিয়ার্স।


2

আমি মনে করি এটির একটি পৃথক উত্তরের মূল্য রয়েছে: রিমোট সেন্সিংয়ের জন্য পাইথন কীভাবে ব্যবহার করতে হবে তা শেখার জন্য একটি দুর্দান্ত পাতায় এটি হ'ল লেকচার নোটগুলি দুর্দান্ত টিউটোরিয়াল হ'ল: http://www.gis.usu.edu/~chrisg/python / 2009 /

আমার জন্য পাইথন এবং কোয়ান্টামজিআইএস এর সংমিশ্রণটি আমার সমস্ত রিমোট সেন্সিং এবং জিআইএসের প্রয়োজনীয়তা সমাধান করে।


0

এটি সত্যই রিমোট সেন্সিং (চিত্র বিশ্লেষণ) এ আপনি যে প্যাকেজগুলি ব্যবহার করবেন বলে নির্ভর করে hope আরকজিআইএস (ইএসআরআই) কোনও রিমোট সেন্সিং প্যাকেজ নয়। আপনি যদি ওপেন সোর্স প্যাকেজগুলি ব্যবহার করতে চান তবে আমি সম্মত হব যে পাইথন এবং আর দুর্দান্ত ভাষা। আমি সি ++ এবং সিও বিবেচনা করব, যাতে আপনি কয়েকটি গ্রন্থাগারের (যেমন: জিডিএল) আরও গভীরভাবে ডুব দিতে পারেন। আপনি যদি শেল্ফ (সিওটিএস) প্যাকেজগুলি বাণিজ্যিকভাবে বন্ধ রাখতে চান তবে আপনি সি ভাষাগুলিতে আরও সন্ধান করতে চাইবেন (সি, সি ++ এবং সি #)। শুভ কোডিং।

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