eltopo

Problems calculating time in a mosaic

Discussion created by eltopo on Oct 28, 2012
Hi all,

I'm trying to calculate time with the tool "calculate field" for a previously created Mosaic, the code is as follows (I hope they can give me some suggestions to solve the problem.


The error is:

Traceback (most recent call last):
  File "C:/IIE_Datos/Prediccion/Ejemplomosaico/borrar2", line 59, in <module>
    arcpy.CalculateField_management(outLoc + Nommosaico, "tiempo", dimension_values, "PYTHON_9.3", "")
  File "C:\Program Files (x86)\ArcGIS\Desktop10.1\arcpy\arcpy\management.py", line 3128, in CalculateField
    raise e
ExecuteError: ERROR 000539: SyntaxError: invalid token (<expression>, line 1)
Failed to execute (CalculateField).




import arcpy
import glob, os


#*********** PRINCIPALES VARIABLES *************
prefijo = "sde.SDE."
Nommosaico = "mostest10"
variable = "pslv"

outLoc = "Database Connections/Coneccion local SDE.sde/"
inNetCDF = "C:/IIE_Datos/Prediccion/Ejemplomosaico/MMOUT_DOMAIN1.nc"

# Process: Create Mosaic Dataset
arcpy.CreateMosaicDataset_management(outLoc, Nommosaico, "PROJCS['Lambert_Conformal_Conic',GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',0.0],PARAMETER['False_Northing',-27.0],PARAMETER['Central_Meridian',-124.17],PARAMETER['Standard_Parallel_1',0.0],PARAMETER['Standard_Parallel_2',0.0],PARAMETER['Scale_Factor',1.0],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Kilometer',1000.0]];-20037.7 -30225.3 149134210447.956;1 1;1 1;0.000001;2;2;IsHighPrecision", "", "")

# Process: Add Field
arcpy.AddField_management(outLoc + Nommosaico, "tiempo", "DATE", "", "", "", "T", "NULLABLE", "NON_REQUIRED", "")            


nc_FP = arcpy.NetCDFFileProperties(inNetCDF)
nc_Dim = nc_FP.getDimensions()

test = outLoc + '/*'
r = glob.glob(test)
for i in r:
   os.remove(i)

for dimension in nc_Dim:

    top = nc_FP.getDimensionSize(dimension)

    for i in range(0, top):

        if dimension == "time":

            dimension_values = nc_FP.getDimensionValue(dimension, i)
            daat = "time '"+str(dimension_values)+ "'"
            print daat
            
            #nowFile = str(dimension_values)
            nowFile = str(i)
            testt = dimension_values.replace("/","").replace(":","").replace(".","").replace("'","").replace(' ','')
            print testt
            rast = "time" + nowFile
            #print rast
            
            # this will convert the FIRST time step in your netCDF file to a raster layer
            arcpy.MakeNetCDFRasterLayer_md(inNetCDF, variable, "lon", "lat", testt, "", daat, "BY_VALUE")
            arcpy.CopyRaster_management(testt, outLoc + rast, "", "", "-3,402823e+038", "NONE", "NONE", "", "NONE", "NONE")
         
            # Local variables:
            Build_Raster_Pyramids = "true"
            Calculate_Statistics = "true"

            # Process: Add Rasters To Mosaic Dataset
            arcpy.AddRastersToMosaicDataset_management(outLoc + Nommosaico, "Raster Dataset", outLoc + rast, "UPDATE_CELL_SIZES", "NO_BOUNDARY", "NO_OVERVIEWS", "", "0", "1500", "", "", "SUBFOLDERS", "ALLOW_DUPLICATES", Build_Raster_Pyramids, Calculate_Statistics, "NO_THUMBNAILS", "")

            # Process: Calculate Field
            arcpy.CalculateField_management(outLoc + Nommosaico, "tiempo", dimension_values, "PYTHON_9.3", "")




Thanks.

Outcomes