I'm writing a script that adds a time enabled layer to a non-time aware dataframe. I want to be able to modify the start and end time of the dataframe and I've been using the cdde below but I'm getting an error saying "currentTime" is not supported on this instance of DataFrameTime. Does anyone know why that is?
import arcpy
import datetime
import os
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "New Data Frame")[0]
timeLayer = arcpy.mapping.Layer(r"C:\Project\Data\Accidents.lyr")
arcpy.mapping.AddLayer(df, timeLayer, "AUTO_ARRANGE")
df.time.resetTimeExtent()
df.time.timeWindowUnits = "DAYS"
df.time.timeWindow = 7
df.time.currentTime = datetime.datetime(2008, 10, 1)
endTime = datetime.datetime(2008, 10, 31)
interval = arcpy.time.EsriTimeDelta(1, 'weeks')
while df.time.currentTime <= endTime:
# An example str(newTime) would be: "2008-01-29 02:19:59"
# The following line splits the string at the space and takes the first
# item in the resulting string.
fileName = str(df.time.currentTime).split(" ")[0] + ".png"
arcpy.mapping.ExportToPNG(mxd, os.path.join(r"C:\Project\Output", fileName))
df.time.currentTime = df.time.currentTime + interval
del mxd, timeLayer
import arcpy
import datetime
import os
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "New Data Frame")[0]
timeLayer = arcpy.mapping.Layer(r"C:\Project\Data\Accidents.lyr")
arcpy.mapping.AddLayer(df, timeLayer, "AUTO_ARRANGE")
df.time.resetTimeExtent()
df.time.timeWindowUnits = "DAYS"
df.time.timeWindow = 7
df.time.currentTime = datetime.datetime(2008, 10, 1)
endTime = datetime.datetime(2008, 10, 31)
interval = arcpy.time.EsriTimeDelta(1, 'weeks')
while df.time.currentTime <= endTime:
# An example str(newTime) would be: "2008-01-29 02:19:59"
# The following line splits the string at the space and takes the first
# item in the resulting string.
fileName = str(df.time.currentTime).split(" ")[0] + ".png"
arcpy.mapping.ExportToPNG(mxd, os.path.join(r"C:\Project\Output", fileName))
df.time.currentTime = df.time.currentTime + interval
del mxd, timeLayer