আমি পাইথনের জিডিএল দিয়ে নিয়মিত নিজের জিওটিআইএফএফ রেস্টার তৈরি করি, যেমন:
from osgeo import gdal
from numpy import random
data = random.uniform(0, 10, (300, 200))
driver = gdal.GetDriverByName('GTiff')
ds = driver.Create('MyRaster.tif', 200, 300)
band = ds.GetRasterBand(1)
band.WriteArray(data)
ds = band = None # save, close
তবে ফলাফলটি যখন আর্কগ্ল্যাটালগ / আর্কজিআইএস-এর সাথে দেখা হয় তখন এটি কালো বা ধূসর দেখায়, কারণ এর কোনও পরিসংখ্যান নেই। এটি রাস্টারকে ডান ক্লিক করে এবং আর্টকিগ্ল্যাজে "পরিসংখ্যান গণনা ..." বাছাই করে বা এটি একটি কমান্ড প্রম্পটে gdalinfo ব্যবহার করে সমাধান করা হয়েছে:
gdalinfo -stats MyRaster.tif
উত্পন্ন হবে MyRaster.tif.aux.xml
, যা আর্জিজিআইএস দ্বারা সঠিকভাবে রাস্টার স্কেল করতে ব্যবহৃত হয়। পিএএম (পার্সেন্ট্যান্ট অক্সিলিয়ারি মেটাডেটা) ফাইলে পরিসংখ্যান রয়েছে, উল্লেখযোগ্যভাবে সর্বনিম্ন এবং সর্বোচ্চ মান:
<PAMDataset>
<PAMRasterBand band="1">
<Metadata>
<MDI key="STATISTICS_MINIMUM">0</MDI>
<MDI key="STATISTICS_MAXIMUM">10</MDI>
<MDI key="STATISTICS_MEAN">5.0189833333333</MDI>
<MDI key="STATISTICS_STDDEV">2.9131294111984</MDI>
</Metadata>
</PAMRasterBand>
</PAMDataset>
আমার প্রশ্ন: একটি পরিসংখ্যান ফাইল তৈরি করার জন্য জিডিএল পাওয়ার কোনও অন্তর্নির্মিত উপায় আছে ( gdalinfo -stats
কমান্ডটি ব্যবহার করা ব্যতীত )? নাকি আমার নিজের লেখার দরকার আছে?
band.GetStatistics(0,1)
প্রকৃতপক্ষে পরিসংখ্যান গণনা করবে এবং একক ফাইলে এটি জিওটিআইএফএফ মেটাডেটাতে যুক্ত করবে। অন্য কোনও ফাইলের প্রয়োজন নেই। তবে এসরি পণ্যগুলির সাথে পরীক্ষা করা থেকে, এটি কেবল আর্কজিআইএস 10.0 এবং তার সাথে কাজ করে, আর্কিআইএস 9.3 বা তার আগে নয়।