UpdateLayerTime (arcpy.mapping)

Резюме

Позволяет обновить временные свойства слоя в документе карты (.mxd), извлекая временные свойства из исходного слоя.

Обсуждение

Функция UpdateLayer позволяет только обновлять свойства символов слоя или обновлять ВСЕ свойства слоя, включая свойства времени.

Функция UpdateLayerTime позволяет обновлять только свойства времени для слоя, поэтому она не переопределяет других свойств слоя, которые не следует менять.

Объект source_layer содержит свойства времени, которые необходимо применить. Он может являться файлом слоя на диске или ссылкой на другой слой в документе карты.

Если необходимо обновить свойства слоя в файле слоя, необходимо сначала изменить свойства слоя в документе карты, затем сохранить изменения обратно в файл слоя. См. методы объекта слоя save или saveACopy и пример кода, приведенный ниже.

Синтаксис

UpdateLayerTime (data_frame, update_layer, source_layer)
ПараметрОбъяснениеТип данных
data_frame

Ссылка на объект Фрейм данных (DataFrame), содержащий обновляемый слой.

DataFrame
update_layer

Объект Layer, представляющий существующий слой, который будет обновлен.

Layer
source_layer

Ссылка на объект Слой, содержащий информацию, которая применяется к update_layer.

Layer

Пример кода

1-ый пример UpdateLayerTime

В следующем скрипте обновляются свойства времени слоя с использованием файла слоя. Слой называется 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
2-ой пример UpdateLayerTime

Следующий скрипт аналогичен приведенному выше, однако он сохраняет изменения обратно в файл слоя.

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
9/11/2013