Estoy tratando de conseguir el X, Y coordenadas de todas las celdas de un archivo raster utilizando Python 2.6 y ArcGIS 10.0.
Me gustaría obtener la X, Y coordenadas en el centro de la célula.
¿Hay alguna manera de hacerlo?
Estoy tratando de conseguir el X, Y coordenadas de todas las celdas de un archivo raster utilizando Python 2.6 y ArcGIS 10.0.
Me gustaría obtener la X, Y coordenadas en el centro de la célula.
¿Hay alguna manera de hacerlo?
Usted puede utilizar el módulo arcpy del GetRasterProperties comando para obtener la xmin, xmax, ymin e ymax coordenadas para la trama. Mediante la conversión de estos valores, los cuales son devueltos usando getOutput
como unicode, carrozas aritmética simple se puede realizar a dar al centro de coordenadas del archivo raster.
import arcpy
path = r'C:\dem\profile-dtm_57583\grids\ns78ne1'
xmin = arcpy.GetRasterProperties_management(path,'LEFT')
xmax = arcpy.GetRasterProperties_management(path,'RIGHT')
ymin = arcpy.GetRasterProperties_management(path,'BOTTOM')
ymax = arcpy.GetRasterProperties_management(path,'TOP')
centerX = (float(xmax.getOutput(0)) + float(xmin.getOutput(0))) / 2
centerY = (float(ymax.getOutput(0)) + float(ymin.getOutput(0))) / 2
print centerX, centerY
EDITAR:
Para obtener las coordenadas de cada celda en el ráster, puede tomar la trama cellsize, y utilizarlo como un paso para recorrer todos los valores de xmin a xmax ymin a ymax para conseguir pasar a través de las coordenadas para cada celda.
#assuming square cells
cellsize = arcpy.GetRasterProperties_management(path,'CELLSIZEX')
cellsize = int(cellsize.getOutput(0))
for x in xrange(int(xmin.getOutput(0)), int(xmax.getOutput(0)), cellsize):
for y in xrange(int(ymin.getOutput(0)), int(ymax.getOutput(0)), cellsize):
print x,y
Nota este código va a tomar mucho tiempo para ejecutar con esta instrucción print como se debe imprimir una nueva línea para cada celda en el ráster.
Otro método sería leer el convertir la trama en un ASCII raster y leer en una 2D numpy matriz. La matriz de índices de haría, a continuación, corresponden a las coordenadas de las celdas.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.