মূল প্রশ্নটি 10.0 এর জন্য হলেও আমি নীচের কোডটি 10.3.1 এর জন্য আপডেট করেছি।
আরস্টারমেটার ফাংশনটি তৈরি করতে এটি আর্কম্যাপে পাইথন উইন্ডোতে অনুলিপি করুন:
import arcpy, os
def RasterCenter(raster):
#raster: string reference to raster
raster = arcpy.Raster(raster)
fcname = "{}_center".format(os.path.basename(str(raster)))
x = raster.extent.XMin + (raster.extent.XMax - raster.extent.XMin)/2
y = raster.extent.YMin + (raster.extent.YMax - raster.extent.YMin)/2
featureclass = arcpy.CreateFeatureclass_management("in_memory", fcname, "POINT",spatial_reference = raster.spatialReference)
with arcpy.da.InsertCursor(featureclass, ['SHAPE@XY']) as cursor:
cursor.insertRow(((x, y),))
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0]
arcpy.MakeFeatureLayer_management(featureclass, fcname)
layer = arcpy.mapping.Layer(fcname)
arcpy.mapping.AddLayer(df, layer)
তারপরে, আপনি কল করে নিজের বৈশিষ্ট্য শ্রেণি তৈরি করতে পাইথন উইন্ডোটি ব্যবহার করতে পারেন
RasterCenter("<reference to raster">)
সুতরাং, উদাহরণস্বরূপ, যদি আপনার কাছে ডিইএম নামের রাস্টার থাকে তবে আপনি পাইথন উইন্ডোতে রাস্টার কেন্দ্র ("ডেম") কল করেন এবং এটি রাস্টারটির কেন্দ্রে একটি পয়েন্ট সহ "ডেম_সেটার" নামে একটি স্তর যুক্ত করবে। স্তরটি মেমরিতে সংরক্ষণ করা হয়, তাই আপনি যদি এটি রাখতে চান তবে এটি রফতানি করুন।
আরও এক ধাপ এগিয়ে যাওয়ার জন্য, আপনি স্ক্রিপ্টটি একটি .py ফাইলে সংরক্ষণ করতে পারেন এবং পাইপথ ফাইলটি পাইথন অনুসন্ধানের পথে রাখতে পারেন। উদাহরণস্বরূপ এটিকে রাস্টারসেন্টার.পি হিসাবে সংরক্ষণ করুন এবং এটি পাইথনপথে রাখুন (সাধারণত এটির জন্য স্পটটি সি: \ পাইথন 26 \ আর্কজিআইএস 10.0 \ লিবি)
তাহলে আপনি করতে পারেন:
import RasterCenter
RasterCenter.RasterCenter("<reference to raster">)