Hi all,
I try to update a mosaic dataset with arcpy and then populate two fields (AcquisitionDate and Sensor) based on the name of each raster. What I see is the following:
Do you have any idea of whats happening with my code?
Here it is:
import arcpy
import datetime
from datetime import datetime
print('Preparing and reading data')
arcpy.env.workspace = r"\\workspace\IMM"
mdname = r"IMM.gdb/land_bgd"
inpath = r"\\workspace\IMM\Base"
print("Building the list of the rasters already present")
rstList=[]
fields = ['Name','AcquisitionDate','Sensor']
with arcpy.da.SearchCursor(mdname, fields) as cursor:
for row in cursor:
rstList.append(row[0])
print(rstList)
print('Doing the mosaic')
arcpy.management.AddRastersToMosaicDataset(mdname, "Raster Dataset", inpath, "UPDATE_CELL_SIZES", "UPDATE_BOUNDARY", "NO_OVERVIEWS", None, 0, 1500, None, '*.TIF', "NO_SUBFOLDERS", "EXCLUDE_DUPLICATES", "BUILD_PYRAMIDS", "NO_STATISTICS", "NO_THUMBNAILS", '', "NO_FORCE_SPATIAL_REFERENCE", "NO_STATISTICS", None, "NO_PIXEL_CACHE", r"C:\Users\text\AppData\Local\ESRI\rasterproxies\land_bgd")
print('Populating fields')
with arcpy.da.UpdateCursor(mdname, fields) as cursor:
for row in cursor:
if row[0]not in rstList:
acqDate = datetime.strftime(datetime.strptime(row[0].split('_')[0], '%Y%m%d'),'%d/%m/%Y')
row[1]=acqDate
row[2]=row[0].split('_')[3]
cursor.updateRow(row)
del cursor, row
print ("Done")