Obwohl die ursprüngliche Frage für 10.0 war, habe ich den folgenden Code für 10.3.1 aktualisiert.
Kopieren Sie diese und fügen Sie sie in das Python-Fenster in arcmap ein, um die RasterCenter-Funktion zu erstellen:
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)
Anschließend können Sie das Python-Fenster verwenden, um Ihre Feature-Class durch Aufrufen zu erstellen
RasterCenter("<reference to raster">)
Wenn Sie beispielsweise ein Raster mit dem Namen DEM haben, rufen Sie RasterCenter ("dem") im Python-Fenster auf und fügen eine Ebene mit dem Namen "dem_center" mit einem einzelnen Punkt in der Mitte des Rasters hinzu. Die Ebene wird im Speicher gespeichert. Wenn Sie sie also behalten möchten, exportieren Sie sie.
Um noch einen Schritt weiter zu gehen, können Sie das Skript in einer .py-Datei speichern und die .py-Datei im Suchpfad für Python ablegen. Speichern Sie es beispielsweise als RasterCenter.py und platzieren Sie es in PYTHONPATH (normalerweise ist der Ort dafür C: \ Python26 \ ArcGIS10.0 \ Lib).
Dann könnten Sie tun:
import RasterCenter
RasterCenter.RasterCenter("<reference to raster">)