আমি বেশ কয়েক মাস ধরে পাইথনের সাথে কোডিং করছি এবং প্রাথমিকভাবে জিওপ্রসেসিংয়ের জন্য কিছু জটিল স্ক্রিপ্ট তৈরি করেছি। বলা হচ্ছে, এসকিউএল / ভিবিএ / ভিবিএস স্ক্রিপ্ট ব্যাকগ্রাউন্ড থেকে আসার কারণে আমি এখনও অনেক কিছু শিখছি।
আমি জানি যে সংকলিত কোডটি সাধারণত ভাষার চেয়ে কোনও দ্রুত অনুবাদ হয় যে কোনও ভাষা অনুবাদক দ্বারা প্রসেস করা উচিত, তাই আমি বড় ডেটা নিয়ে কাজ করার জন্য একটি জিওপ্রসেসিং পাইথন স্ক্রিপ্ট একটি .EXE ফাইলে সংকলনের সম্ভাবনায় আগ্রহী।
এটা কি সম্ভব? যদি তা হয় তবে আর্কজিস্ক্রিপ্টিং বা আরকিপি মডিউলগুলি আমদানি করে পাইথন (.py) স্ক্রিপ্টটি সংকলনের সেরা উপায় কী?
আমি যা করতে চাই তা খুঁজতে কয়েক মিনিট সময় ব্যয় করেছি এবং অনুসন্ধানটি এই নিবন্ধটি অন্যদের মধ্যে ফিরিয়ে দিয়েছে: http://www.ehow.com/how_2091641_compile-python-code.html
সংকলকটি কাজ করেছে বলে মনে হয়েছে, তবে ফলাফলের .EXE ফাইলটি সম্পাদন করার পরে, এটি কিছু ফাইল অনুপলব্ধ ছিল বলে একটি ক্রিপ্টিক ত্রুটি দিয়েছে।
পাইথন স্ক্রিপ্টটি কমান্ড লাইন থেকে যুক্তিসঙ্গতভাবে ভাল বলে মনে হচ্ছে, তবে আমি ভাবছি যে আমি .py ফাইলটি সংকলন করতে সক্ষম হলে কিছুটা উন্নতি দেখতে পেলাম। আবার, আমি এমন কয়েকটি বড় ডেটাসেটের সাথে কাজ করছি যা প্রক্রিয়া করতে +20 ঘন্টা সময় নেয় (ইনপুট জলের-মানের নমুনা সাইটগুলি থেকে জলাশয়গুলি বর্ণন করে)। উন্নতির পথে আমি যা কিছু পেতে পারি তা নিয়ে যাব।
স্ক্রিপ্টটি আর্কিগ্ল্যাজে নতুন টুলবক্সে স্ক্রিপ্ট সরঞ্জাম হিসাবে স্ক্রিপ্ট সেটআপ করা বনাম সাইটগুলির পরীক্ষার সেট ব্যবহার করে কমান্ড লাইন থেকে আর্কজিআইএসের বাইরে 10% দ্রুত দৌড়েছিল। আমি কমান্ড লাইন থেকে স্ক্রিপ্টটি চালাচ্ছি w / o একটি উত্সর্গীকৃত মেশিনে খোলার আরকিজিআইএস এর কোনও উদাহরণ।
তো, পাইথন স্ক্রিপ্টগুলি কি আরকিগিসিপিটিং মডিউল এবং সেই কলটি আর্কটুলবক্স সরঞ্জামগুলি আমদানি করে সংকলন করা সম্ভব?
সম্পাদনা
ইনপুট জন্য ধন্যবাদ, এটি আমার জন্য সহায়ক। স্ক্রিপ্টটি মূলত বেশিরভাগ আর্কজিআইএস সরঞ্জামকে সমন্বিত করার এবং পছন্দসই বিন্যাস / অবস্থানগুলিতে / উপযুক্ত বৈশিষ্ট্যের সাথে আউটপুট দেওয়ার একটি উপায়। আমি ইতিমধ্যে কিছু ফ্যাট ছাঁটাই করেছি বলে আমি মনে করি কিছু অন্তর্বর্তী রাস্টার ফাইলগুলির জন্য স্ক্র্যাচ ব্যক্তিগত জিওডাটাবেস পরিবর্তে একটি স্ক্র্যাচ ফোল্ডারে লিখে লিখে যাতে তারা ইএসআরআই গ্রিড ফর্ম্যাট বনাম আইএমজি ফর্ম্যাটে সংরক্ষণ করতে পারে। আমি প্রোফাইলার পরামর্শগুলি যাচাই করব।
আমার অফিসে এমন কিছু প্রশ্ন রয়েছে যে পাইথন বলেছে যে "সংকলিত কোডটি একজন অনুবাদকের মাধ্যমে চলমান কোডের চেয়ে অনেক বেশি দ্রুত" মূলত, একটি সংকলিত ভিজ্যুয়াল বেসিক প্রোগ্রাম বা ভিবি.এনইটি প্রোগ্রামের তুলনায়, তবে এটি একটি ভাল বিষয় সরঞ্জামগুলি যে কোনও উপায়ে সময় নিতে চলেছে। এবং, এটি বর্তমান সময়ের কম্পিউটিং মেশিনগুলির সাথে দেখে মনে হচ্ছে যে ব্যাখ্যা করা কোডটি অতিরিক্ত মাইল যাওয়ার ওয়্যারেন্ট করতে সংকলিত কোডের চেয়ে অনেক ধীর হতে পারে না।
সম্পাদনা - রাস্টার ফর্ম্যাটগুলি সহ প্রোগ্রামটির অপ্টিমাইজেশনের আপডেট।
এই পাইথন প্রোগ্রামটির আমার "অপ্টিমাইজেশন "টি অনুসরণ করতে চেয়েছিলাম এবং আমি ব্যক্তিগত জিওডাটাবেস পরিবর্তে জিআরআইডি ফর্ম্যাটে অন্তর্বর্তী রাস্টারগুলি লিখে 2 ঘন্টা প্রসেসিংয়ের সময় শেভ করতে সক্ষম হয়েছি। শুধু তাই নয়, ডেটা আকারের ডিস্কের জায়গার ব্যবহারের ক্ষেত্রে স্বাক্ষর হ্রাস ছিল। আসল রানটি আমি সমস্ত রেস্টারদের লিখেছিলাম (এবং সেগুলি কেবলমাত্র রেস্টারগুলিতে রূপান্তরিত পয়েন্ট বৈশিষ্ট্যগুলি ছিল, এবং তারপরে ওয়াটারশেড রাস্টারস) ফলে কেবল এই ফাইলগুলির জন্য 37.1 গিগাবাইট ডেটা হয়েছিল। জিআরআইডি ফর্ম্যাটে কোনও ফোল্ডারে পরবর্তী দুটি ডেটা আউটপুট লেখার সময় reduced reduced67 এমবি ডেটা হ্রাস করা হয়েছিল।
আমি জানতে আগ্রহী হই যে কোনও ফাইল জিডিবি কীভাবে এই ডেটাগুলি পরিচালনা করবে যদিও মূলত তথ্যের আকারের ক্ষেত্রে। তবে, আমার প্রসেসিংয়ের সময়টি 9.5 ঘন্টা থেকে কমিয়ে 7.5 ঘন্টা পর্যন্ত কেটে ফেলা অবশ্যই জিআরআইডি ফর্ম্যাটে জিওডাটাবেসগুলির বাইরের রাস্টারদের সাথে ডিল করার পক্ষে প্রয়োজন।