1 votos

¿Cómo escribir un código en python para añadir una clase de característica al terreno utilizando una interfaz?

Estoy intentando escribir un código que cree un terreno a partir de datos lidar (LAS). El problema es que las entradas están en Feature Dataset en GDB pero no sé cómo escribir el código para que utilizando una interfaz. No voy a escribir todo el código sólo la parte que no funciona. Los datos se guardan en el nuevo Feature Dataset creado en el mismo script. Necesito reemplazar de alguna manera D:\Google Accionamiento \GDB2.gdb\data2\las con sólo las. He probado todo, quitando '' y no funciona. El error que me da siempre es: herramienta de ejecución - Fallo de ejecución (GDB) . ¿Puede alguien ayudarme? Escribí las partes del código que son significativas para crear el terreno, la última línea no funciona:

import arcpy
GDB_Location = arcpy.GetParameterAsText(0)
GDB_name = arcpy.GetParameterAsText(1)
GDB_file = arcpy.CreateFileGDB_management(GDB_Location, GDB_name) 
out_dataset_path = GDB_file
out_dataset_name = arcpy.GetParameterAsText(2)
feature_dataset = arcpy.CreateFeatureDataset_management(out_dataset_path,out_dataset_name)

arcpy.DefineProjection_management(feature_dataset, "PROJCS['WGS_1984_World_Mercator',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Mercator'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',0.0],PARAMETER['Standard_Parallel_1',0.0],UNIT['Meter',1.0]]")

....

l_g = 'las'
las_data = '{0}\{1}'.format(feature_dataset,l_g)
arcpy.LASToMultipoint_3d #in this step in created las

fd = feature_dataset
terrain = 'terrain'
terrain2 = '{0}\{1}'.format(feature_dataset,terrain)

    # Process: Create Terrain
arcpy.CreateTerrain_3d(fd,lidar_terrain, Average_Point_Spacing, "50000", "", "WINDOWSIZE", "ZMIN", "NONE", "1")

# Process: Add Terrain Pyramid Level
arcpy.AddTerrainPyramidLevel_3d(terrain2, "", "'1 5000'")

# Process: Add Feature Class to Terrain
arcpy.AddFeatureClassToTerrain_3d(terrain2, "'D:\Google Drive\GDB2.gdb\data2\las' Shape Mass_Points 1 0 1 true false las_ground_embed <None> false")

2voto

Travis Christian Puntos 183

Intente eliminar las comillas simples alrededor de la ruta completa y utilice barras inclinadas. Como:

# Process: Add Feature Class to Terrain
arcpy.AddFeatureClassToTerrain_3d(terrain2, "D:/Google Drive/GDB2.gdb/data2/las Shape Mass_Points 1 0 1 true false las_ground_embed <None> false")

Ejemplo :

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
params = "terrain.gdb/terrainFDS/points2 SHAPE masspoints 2 0 10 true false "\
   "points_embed <None> false"
arcpy.AddFeatureClassToTerrain_3d("test.gdb/featuredataset/terrain", params)

i-Ciencias.com

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.

Powered by:

X