La secuencia de comandos adjunta es mi estancado intento de realizar el siguiente flujo de trabajo:
- Crear una tabla y crear campos
- El bucle a través de una carpeta de punto de shapefiles y realizar el promedio de análisis del vecino más cercano
- Crear una fila y escribir "nn_values[]" los campos correspondientes
- mover a la siguiente shapefile y repetir
Correctamente la secuencia de comandos genera una tabla, se ejecuta la aNN análisis para un shapefile y se agrega una fila vacía en la mesa. Como un producto final, me gustaría una tabla con todos los valores de de los análisis estadísticos. ¿Cómo puedo escribir los asociados aNN estadístico de salida (es decir, "nn_values[]") a los campos correspondientes en cada iteración en la for
bucle? Muchas gracias por la orientación.
# Import system modules
import arcpy, os
from arcpy import env
# Set over write
env.overwriteOutput = 1
# Local variables...
env.workspace = r"C:\temp"
Dir = env.workspace
out_name = "NNtable.dbf"
### Execute CreateTable
arcpy.CreateTable_management(Dir, out_name)
### Add fields
arcpy.AddField_management(Dir + "\\" + out_name, "index", "FLOAT")
arcpy.AddField_management(Dir + "\\" + out_name, "z_score", "FLOAT")
arcpy.AddField_management(Dir + "\\" + out_name, "p_value", "FLOAT")
arcpy.AddField_management(Dir + "\\" + out_name, "expected", "FLOAT")
arcpy.AddField_management(Dir + "\\" + out_name, "observed", "FLOAT")
arcpy.AddField_management(Dir + "\\" + out_name, "pathway", "TEXT")
# List FCs
fclist = arcpy.ListFeatureClasses()
for fc in fclist:
try:
# Obtain Nearest Neighbor Ratio and z-score
# Process: Average Nearest Neighbor...
nn_output = arcpy.AverageNearestNeighbor_stats(fc, "EUCLIDEAN_DISTANCE", "NO_REPORT", "#")
# Create list of Average Nearest Neighbor output values by splitting the result object
nn_values = nn_output.split(";")
print "The nearest neighbor index is: " + nn_values[0]
print "The z-score of the nearest neighbor index is: " + nn_values[1]
print "The p-value of the nearest neighbor index is: " + nn_values[2]
print "The expected mean distance is: " + nn_values[3]
print "The observed mean distance is: " + nn_values[4]
print "The path of the HTML report: " + nn_values[5]
except:
# If an error occurred when running the tool, print out the error message.
print arcpy.GetMessages()
# Create insert cursor for table
#
rows = arcpy.InsertCursor(Dir + "\\" + out_name)
row = rows.newRow()
rows.insertRow(row)
# Delete cursor and row objects to remove locks on the data
del row
del rows