摘要
通过从源图层提取时间属性,更新地图文档 (.mxd) 中图层的时间属性。
讨论
UpdateLayer 函数要么仅更新图层的符号系统属性,要么更新所有图层属性,包括时间属性。
而 UpdateLayerTime 函数可仅更新图层的时间属性,并且不会覆盖您不希望更改的其他图层属性。
source_layer 包含要应用的时间属性。其可以是磁盘上的图层文件也可以是对地图文档中另一个图层的引用。
如果要更新图层文件内的图层属性,则必须首先修改地图文档中的图层属性,然后将更改保存到图层文件中。请参阅图层对象的 save 或 saveACopy 方法和以下的代码示例。
语法
UpdateLayerTime (data_frame, update_layer, source_layer)
代码实例
UpdateLayerTime 示例 1
以下脚本使用图层文件来更新图层的时间属性。名为 temperature 的图层未启用时间。启用时间的图层文件的时间属性将应用于 temperature 图层。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Temperature.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "World")[0]
lyr = arcpy.mapping.ListLayers(mxd, "temperature", df)[0]
lyrFile = arcpy.mapping.Layer(r"C:\Project\Data\Time\LayerWithTimeProperties.lyr")
arcpy.mapping.UpdateLayerTime(df, lyr, lyrFile)
# Save changes to a new MXD
mxd.saveACopy(r"C:\Project\Temperature2.mxd")
# Clean up variables
del mxd, df, lyr, lyrFile
UpdateLayerTime 示例 2
以下脚本类似于上述示例,但会将更改保存到图层文件中。
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Temperature.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "World")[0]
lyr = arcpy.mapping.ListLayers(mxd, "temperature", df)[0]
lyrFile = arcpy.mapping.Layer(r"C:\Project\Data\Time\LayerWithTimeProperties.lyr") #orginally authored in ArcMap
arcpy.mapping.UpdateLayerTime(df, lyr, lyrFile)
# Save changes to a new Layer file
lyr.saveACopy(r"C:\Project\TemperatureWithTime.lyr")
# Clean up variables
del mxd, df, lyr, lyrFile