Обновить схемы (Update Diagrams) (Схематика)
Резюме
Обновляет схематические представления, хранящиеся в наборе схематических данных или в папке схемы.
Могут быть обновлены все схемы или поднабор схем (например, схемы, относящиеся к определенному шаблону схемы, или схемы, которые не обновлялись определенное число дней).
Этот инструмент геообработки предназначен только для обновления схем на основе Стандартного компоновщика - т.е. схем, построенных из объектов, организованных в геометрическую сеть или набор сетевых данных, и схематических представлений, построенных из пользовательских запросов. С его помощью нельзя обновить схемы на основе Компоновщика наборов сетевых данных (Network Dataset builder) и XML-компоновщика, которые требуют особых входных данных.
Если инструмент обнаруживает во время выполнения схему на основе компоновщиков XML или наборов сетевых данных, он выдает сообщение об ошибке и останавливает процесс.
Использование
-
Этот инструмент используют в основном для обновления схем в пакетном режиме. Однако если данные пользователя сброшены и загружены вновь при создании схем, его можно использовать также для повторной синхронизации объектов схемы с относящимися к ним объектами на основе GUID-идентификаторов.
-
Если указан параметр Шаблон схемы (Diagram Template), будут обновлены только схемы на основе этого шаблона.
-
Если указан параметр Число дней без обновления (Number of days without update), будут обновлены только схемы, у которых дата последнего обновления отвечает этому критерию.
-
По умолчанию, если в качестве Входного контейнера схемы (Input Schematic Container) указана папка схемы, процесс обновления рекурсивно проходит все схемы, содержащиеся в этой папке схемы, и все схемы, содержащиеся в подпапках. Если вы не хотите обновлять схемы, содержащиеся в подпапках, задайте 0 для параметра рекурсии.
Синтаксис
Параметр | Объяснение | Тип данных |
in_container |
Набор схематических данных или папка схемы, в которых хранятся схемы. Этот контейнер уже должен существовать. | Schematic Dataset; Schematic Folder |
builder_options (дополнительно) |
Опции обновления компоновщика схемы. Это необязательные опции.
| String |
recursive (дополнительно) |
| Boolean |
diagram_type [diagram_type,...] (дополнительно) |
Шаблон обновляемой схемы. | String |
last_update_criteria (дополнительно) |
Число дней между обновлениями схемы. По умолчанию используется 0. Это значит, что все схемы будут обновляться ежедневно. | Long |
Пример кода
Обновление схематических представлений, содержащихся в заданной папке схемы, которые реализованы на основе определенного шаблона схемы или не обновлялись в течение определенного числа дней.
Как запустить этот пример скрипта Python:
- Запустите ArcCatalog или ArcMap с новой пустой картой.
- Скопируйте приведенный ниже скрипт в Окно Python:
- Нажмите клавишу ВВОД.
# Name: UpdateDiagrams.py
# Description: Update schematic diagrams
# Requirement: Дополнительный модуль ArcGIS Schematics
# import system modules
import arcpy
msgNoLicenseAvailable = "Дополнительный модуль ArcGIS Schematics license required"
try:
# Checks out the Дополнительный модуль ArcGIS Schematics license
if arcpy.CheckExtension("Schematics") == "Available":
arcpy.CheckOutExtension("Schematics")
else:
raise Exception(msgNoLicenseAvailable)
# Sets environnement settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo.gdb"
# Updates diagrams stored on a specified schematic folder. For example, diagrams in the Feeders schematic folder
arcpy.UpdateDiagrams_schematics("ElecDemo\Feeders")
# Updates diagrams based on a specified diagram template. For example, diagrams based on the GeoSchematic diagram template
arcpy.UpdateDiagrams_schematics("ElecDemo", "#", "RECURSIVE", "GeoSchematic")
# Updates diagrams stored on a specified schematic folder that have not been updated for N days. For example, diagrams stored in the Inside_Plants schematic folder not updated for 7 days
arcpy.UpdateDiagrams_schematics("ElecDemo\Inside Plants", "#", "RECURSIVE", "#", "7")
# Returns the Дополнительный модуль ArcGIS Schematics license
arcpy.CheckInExtension("Schematics")
print "Script completed successfully"
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "An error occured on line %i" % tb.tb_lineno
print str(e)