Escribí un guión que, idealmente, las cargas de crudo .las (los datos LiDAR) archivos en una geodatabase y, a continuación, crea un terreno en el multipunto archivos que se crean. Cuando ejecute la secuencia de comandos a pesar de recibir:
ExecuteError: ERROR 000210: No se puede crear una salida C:\Users\peter\Desktop\test.gdb\bare_earth\1las El nombre de la tabla no es válido. No se pudo ejecutar (LASToMultipoint)
Hasta ahora, la única cosa que puedo encontrar es que Windows 7 sigue cambiando mi carpeta con permisos de sólo lectura, pero todavía puedo manualmente crear, editar y eliminar en los directorios.
import os
import arcpy, math, glob
from arcpy import env
arcpy.CheckOutExtension("3D")
arcpy.env.overwriteOutput = True
#make workspace in memory
arcpy.env.workspace = "in_memory"
#define parameters using GetParameter in ArcMap
geodatabase = arcpy.GetParameter(0) #0)input Geodatabase
outfeaturedataset = arcpy.GetParameter(1) #1)Desired Name for the feature class
projection = arcpy.GetParameter(2) #2)coordinate system
terrain_name = arcpy.GetParameter(3) #3)Name of the Terrain
class_code = arcpy.GetParameter(4) #4) the return class code to use
lasdirectory = arcpy.GetParameter(5) #5) directory to get las data in
#designate directory where .las files are located
os.chdir (lasdirectory)
created_FC_tool = arcpy.CreateFeatureDataset_management(geodatabase, outfeaturedataset, projection)
created_FC = created_FC_tool.getOutput(0)
#Create a Terrain
arcpy.CreateTerrain_3d (created_FC, terrain_name, 1.24605815948, 50000, '', 'WINDOWSIZE', 'ZMIN', 'NONE', 1)
output_terrain = os.path.join (created_FC, terrain_name)
arcpy.AddTerrainPyramidLevel_3d (output_terrain, 'WINDOWSIZE', '2.5 1000; 5 2000; 10 4000; 20 8000; 40 16000')
#process the .las file and add to the feature dataset and terrain
for LASfiles in glob.glob("*.las"):
print LASfiles
pointinfo = "point_file_information"
#Get Pointfile information
arcpy.PointFileInformation_3d(LASfiles, pointinfo, "LAS", "", projection)
#get average point spacing variable
pointspacing = arcpy.SearchCursor (pointinfo)
field = "Pt_Spacing"
for row in pointspacing:
avg_space = (row.getValue(field))
print avg_space
#convert las to multipoint
#create lable for multipoint file
listlable = list(LASfiles)
del listlable[-4]
multipointlable = ''.join(listlable)
print multipointlable
print created_FC
outputPlable = os.path.join (created_FC, multipointlable)
arcpy.LASToMultipoint_3d(LASfiles, outputPlable, 1.5, class_code, "", "INTENSITY", projection, "las", 1)
print outputPlable
outputPlable_parameters = outputPlable + ' Shape masspoints 1 0 40 true false R06305328las_embed <None> false'
print outputPlable_parameters
arcpy.AddFeatureClassToTerrain_3d (output_terrain, outputPlable_parameters)
#Build the terrain
arcpy.BuildTerrain_3d (output_terrain)
Cualquier ayuda es muy apreciada, si es un Windows 7 el problema de no sé qué voy a hacer como mi equipo de trabajo está bloqueado como Fort Knox por nuestra mesa de ayuda :(
Gracias de antemano,
Pete