हालांकि मूल प्रश्न 10.0 के लिए था, मैंने नीचे दिए गए कोड को 10.3.1 के लिए अपडेट किया है।
RasterCenter फ़ंक्शन बनाने के लिए इसे arcmap में अजगर विंडो में कॉपी करें:
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 फ़ाइल में सहेज सकते हैं और अजगर के लिए .py फ़ाइल को खोज पथ में रख सकते हैं। उदाहरण के लिए इसे RasterCenter.py के रूप में सहेजें और PYTHONPATH में रखें (सामान्य रूप से इसके लिए स्थान C: \ Python26 \ ArcGIS10.0 \ Lib) है
तो आप कर सकते हैं:
import RasterCenter
RasterCenter.RasterCenter("<reference to raster">)