কেউ কি স্ট্যান্ড-একা স্ক্রিপ্ট হিসাবে আর্কটুলবক্সে পাইথন স্ক্রিপ্ট চালানোর পার্থক্যটি অধ্যয়ন করেছে? ব্যান্ড ১ টি বের করে আরজিবি ইমেজের একটি সেটকে একক ব্যান্ডে রূপান্তরিত করতে আমাকে দ্রুত এবং নোংরা স্ক্রিপ্ট লিখতে হয়েছিল। আমার পিসিতে একা একা স্ক্রিপ্ট পড়া এবং লেখার জন্য এটি প্রায় 350 সেকেন্ডের মধ্যে 1000 অভিন্ন আকারের চিত্রগুলি প্রক্রিয়া করে। আর্টটুলবক্স থেকে একই স্ক্রিপ্টটি চালাতে প্রায় 1250 সেকেন্ড সময় লাগে।
import arcpy
import csv
from os import path
arcpy.env.workspace = in_folder
image_list = arcpy.ListRasters()
#Create a CSV file for timing output
with open(outfile, 'wb') as c:
cw = csv.writer(c)
cw.writerow(['tile_name', 'finish_time'])
#Start the timer at 0
start_time = time.clock()
for image in image_list:
#Extract band 1 to create a new single-band raster
arcpy.CopyRaster_management(path.join(image, 'Band_1'), path.join(out_folder, image))
cw.writerow([image, time.clock()])
আমি যখন প্রতিটি টাইল প্রক্রিয়াজাতকরণ শেষ করি তখন ট্র্যাক করতে কিছু কোড যুক্ত করেছিলাম এবং ফলাফলটি সিএসভি হিসাবে রফতানি করি। সমাপ্তির সময়টিকে প্রক্রিয়াকরণের সময় রূপান্তরকরণ এক্সেলে ঘটে। ফলাফলগুলি অঙ্কিত করে, প্রক্রিয়াকরণের সময়টি প্রতিটি টাইলের জন্য স্ক্রিপ্ট হিসাবে মোটামুটি একই হয়, তবে যখন আর্কজিআইএস সরঞ্জাম হিসাবে চালিত হয় তখন প্রক্রিয়াকরণের সময় রৈখিকভাবে বৃদ্ধি পায়।
যদি ডেটা পড়তে এবং লিখতে কোনও নেটওয়ার্ক ডিভাইসে থাকে তবে বৃদ্ধিটি তাত্পর্যপূর্ণ বলে মনে হয়।
আমি এই নির্দিষ্ট কাজটি সম্পাদনের জন্য বিকল্প উপায় খুঁজছি না। আমি বুঝতে চাই যে এই স্ক্রিপ্টটির কার্যকারিতা যখন সময়ের সাথে সাথে অর্জজিআইএস সরঞ্জাম হিসাবে চালিত হয় তবে কেন এটি একক একক স্ক্রিপ্ট হিসাবে নয় time অন্যান্য স্ক্রিপ্টগুলির সাথেও আমি এই আচরণটি লক্ষ্য করেছি।