Ejecutar un script de python en un Modelbuilder

Responder
jesuscv
Mensajes: 2
Registrado: Mar Sep 27, 2011 11:17 am

Ejecutar un script de python en un Modelbuilder

Mensaje por jesuscv » Mar Sep 27, 2011 11:21 am

Hola a todos tengo un script que hice en python el cual me hace un Fill de un raster, el codigo es este:

import arcpy,os,glob,sys
arcpy.CheckOutExtension("spatial")

arcpy.env.overwriteOutput=True

ruta=sys.argv[1]
raster=sys.argv[2]

DEM = raster

# Process: Fill
arcpy.gp.Fill_sa(DEM, ruta+"\\DEM_Fill", "")

Teniendo en cuenta que recibe 2 parametros agrego el script a mi toolbox de arcmap y en un modelbuilder le agrego el script y le paso los parametros de la ruta(workspace) y el raster(Raster Dataset) y a la hora de ejecutarlo me aparece el siguiente error:

<class 'arcgisscripting.ExecuteError'>: Failed to execute. Parameters are not valid.
ERROR 000860: Input surface raster: is not the type of Composite Geodataset, or does not exist.
Failed to execute (Fill).

Estoy trabajando con Arcmap 10 y necesito ayuda, si me pueden ayudar se los agradeceria muchisimo...

Saludos y cualquier cosa yo tambien les podre ayudar.
Avatar de Usuario
chaco
Mensajes: 45
Registrado: Vie Sep 16, 2011 7:47 pm

Re: Ejecutar un script de python en un Modelbuilder

Mensaje por chaco » Dom Oct 02, 2011 10:22 pm

Una pregunta tus archivos los tienes dentro de una Geodatabase? también antes de todo prueba manualmente en ModelBuilder.

... porque pones dos comillas en la última línea ...
jesuscv
Mensajes: 2
Registrado: Mar Sep 27, 2011 11:17 am

Re: Ejecutar un script de python en un Modelbuilder

Mensaje por jesuscv » Vie Oct 07, 2011 12:22 pm

Hola que tal, pues ya corregi ese problema y para lo que queria yo hacer quedo algo asi:

import arcpy,os,glob,sys
arcpy.CheckOutExtension("spatial")

arcpy.env.overwriteOutput=True

raster=sys.argv[1]
ruta=sys.argv[2]

DEM = raster
Constante=1
RasterP=ruta+"\\RasterP"
RasterPF=ruta+"\\RasterPF"
RasterPFD=ruta+"\\RasterPFD"
RasterPFA=ruta+"\\RasterPFA"
RedDrenaje=ruta+"\\RedDrenaje"
RedDrenaPoli=ruta+"\\RedDrenaPoli"
Vertices=ruta+"\\Vertices"
CuencasDeli=ruta+"\\CuencasDeli"
CuencasDeliPo=ruta+"\\CuencasDeliPo"
CurvasNivel=ruta+"\\CurvasNivel"

# Process: Project Raster
arcpy.ProjectRaster_management(raster, RasterP, "PROJCS['WGS_1984_UTM_Zone_14N',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',0.0],PARAMETER['Central_Meridian',-99.0],PARAMETER['Scale_Factor',0.9996],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]", "NEAREST", "1298.53395160856", "", "", "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]")

# Process: Fill
arcpy.gp.Fill_sa(RasterP, RasterPF, "")

# Process: Flow Direction
arcpy.gp.FlowDirection_sa(RasterPF, RasterPFD, "NORMAL", "")

# Process: Flow Accumulation
arcpy.gp.FlowAccumulation_sa(RasterPFD, RasterPFA, "", "FLOAT")

# Process: Con
arcpy.gp.Con_sa(RasterPFA, Constante, RedDrenaje, "", "Value > 349")

# Process: Raster to Polyline
arcpy.RasterToPolyline_conversion(RedDrenaje, RedDrenaPoli , "ZERO", "0", "SIMPLIFY", "VALUE")

# Process: Feature Vertices To Points
arcpy.FeatureVerticesToPoints_management(RedDrenaPoli, Vertices, "END")

# Process: Watershed
arcpy.gp.Watershed_sa(RasterPFD, Vertices, CuencasDeli, "ARCID")

# Process: Raster to Polygon
arcpy.RasterToPolygon_conversion(CuencasDeli, CuencasDeliPo, "SIMPLIFY", "VALUE")

# Process: Contour
arcpy.gp.Contour_sa(RasterP, CurvasNivel, "25", "0", "1")

Lo de las "" al final es porq pedia un raster de salida pero como es opcional ps por eso mande "" (vacio).

Ahora lo que tengo como problema es que quiero publicar una Toolbox con este script, agrego una nueva Toobox y le agrego un script y un nuevo modelo en el modelo agrego las 2 variables q necesita el script y cuando lo ejecuto todo esta bien y no ahi problemas pero cuando intento publicar la toolbox con arcgis server me da un error que dice que parametro invalido - ruta - Worspace.

Y ahi estoy atorado alguien me podria ayudar??

Saludos
Responder