Tengo puntos específicos en un archivo shp y una lista de rasters en el mismo sistema de coordenadas y quiero extraer los valores de los rásteres para cada punto y colocar estos valores en la columna de la Tabla de Atributos del archivo shp de puntos.
Los rastreos son archivos separados.
¿Es posible pasar de vector a trama?
Archivo Shp pf puntos:
infc = 'samplepoints1.shp'
código sólo un comienzo:
import arcpy
infile = r"C:\Users\anna_pavlenko\Desktop\SILVER\biscuit_dnbr.tif"
#create raster object
ftc = arcpy.sa.Raster(infile)
#rows and columns
ftc.height
ftc.width
#cell size
cellSize = ftc.meanCellHeight
print 'The cell size is ', cellSize, 'm'
rasterList = r"C:\Users\biscuit_dnbr.tif"
rstArray = arcpy.RasterToNumPyArray(rasterList)
rows, cols = rstArray.shape
print "number of rows: " , rows
print "number of columns: ", cols
for rowNum in xrange(rows):
for colNum in xrange(cols):
value = rstArray.item(rowNum, colNum)
Si uso
inRasterList = [["biscuit_dnbr.tif", "foothills_dnbr.tif", "dNBR1"] , ["biscuit_rdnbr.tif", "foothills_rdnbr.tif", "RdNBR1"],["silver_dnbr.tif", "pony_complex_dnbr.tif", "dNBR2"], ["silver_rdnbr.tif", "pony_complex_rdnbr.tif", "RdNBR2"]]
# ["foothills_dnbr.tif","dNBR1"], "foothills_rdnbr.tif", "RdNBR1"],
# ["pony_complex_dnbr.tif", "dNBR2"], "pony_complex_rdnbr.tif", "RdNBR2"]]
ExtractMultiValuesToPoints(inPointFeatures, inRasterList, "NONE")
Esta función crea valores para 1 lugar (polígono) y extrae el valor del punto dentro de este polígono solamente y los coloca en columnas: "dNBR1", "dNBR2", "RdNBR1", "RdNBR2".
Para otro conjunto de rásters crea 0 -zeros para los primeros puntos y añade nuevas columnas : "dNBR1_1", "dNBR2_1", "RdNBR1_1", "RdNBR2_" cada vez.