Aunque la pregunta original era para 10.0, he actualizado el siguiente código para 10.3.1.
Copie y pegue esto en la ventana de Python en arcmap para crear la función RasterCenter:
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)
Luego, puede usar la ventana de Python para crear su clase de entidad llamando
RasterCenter("<reference to raster">)
Entonces, por ejemplo, si tiene un ráster llamado DEM, llama a RasterCenter ("dem") en la ventana de Python, y agregará una capa llamada "dem_center" con un solo punto en el centro del ráster. La capa se almacena en la memoria, por lo que si desea conservarla, expórtela.
Para ir un paso más allá, puede guardar el script en un archivo .py y colocar el archivo .py en la ruta de búsqueda de python. por ejemplo, guárdelo como RasterCenter.py y colóquelo en PYTHONPATH (normalmente el lugar para esto es C: \ Python26 \ ArcGIS10.0 \ Lib)
Entonces podrías hacer:
import RasterCenter
RasterCenter.RasterCenter("<reference to raster">)