Создать схему (Create Diagram) (Схематика)
Резюме
Создает схематическое представление
В зависимости от компоновщика схемы создание схемы может быть основано на слоях объектов, классов объектов, таблицах объектов, слое сетевого анализа или данных XML.
Использование
-
Если имя выходного схематического представления уже существует, оно может быть удалено, а затем создано повторно. Чтобы избежать этого удаления, можно снять флажок с опции Переписать результаты операций геообработки (Overwrite the outputs of geoprocessing operations) в диалоговом окне Опции геообработки (Geoprocessing Options).
-
Потребность в параметре Входные данные (Input Data) зависит от компоновщика схемы, связанного с шаблоном схемы, заданным для создаваемого представления:
- Для шаблона схемы, основанного на Стандартном компоновщике, настроенном для работы из геометрической сети или набора сетевых данных (Standard builder when it is configured to operate from a geometric network or a network dataset), параметр необходим. Заданные входные таблицы могут быть слоями объектов, классами объектов или таблицами объектов.
- Для шаблона схемы, основанного на Компоновщике наборов сетевых данных (Network Dataset builder), в качестве параметра Входные данные (Input Data) должен быть задан уникальный слой сетевого анализа.
- Для шаблона схемы, основанного на XML-компоновщике (XML builder), в качестве параметра Входные данные (Input Data) должен быть задан уникальный файл XML.
- Для шаблона схемы, основанного на Стандартном компоновщике, настроенном для работы из пользовательских запросов, входные данные не требуются.
Синтаксис
Параметр | Объяснение | Тип данных |
out_location |
Набор схематических данных или папка схемы, в которых будет создана схема. Внимание: Этот контейнер уже должен существовать. | Schematic Dataset;Schematic Folder |
out_name |
Имя создаваемого схематического представления. | String |
diagram_type [diagram_type,...] |
Шаблон для создаваемого схематического представления. | String |
in_data [in_data,...] (дополнительно) |
Входные данные для создания схемы. Параметр Входные данные (Input Data) указывает элементы, на основе которых будет создана схема. Параметр должен быть задан для большинства предопределенных компоновщиков схемы:
Внимание: Если входные данные для шаблонов схемы, работающих со Стандартным компоновщиком (Standard builder), настроенным для работы из геометрической сети, набора сетевых данных, XML-компоновщиком (XML builder) и Компоновщиком набора сетевых данных (Network Dataset builder), не заданы, схема создана не будет. | Table View;Data Element;Layer |
builder_options (дополнительно) |
Параметры создания в компоновщике схемы. Эти параметры необходимы только для схем на основе Компоновщика набора сетевых данных (Network Dataset builder), чтобы указать, будут ли объединяться узлы.
| String |
Пример кода
Создание образцов схематических представлений из объектов ГИС, организованных в геометрическую сеть.
Как запустить этот пример скрипта Python:
- Запустите ArcCatalog или ArcMap с новой пустой картой.
- Скопируйте приведенный ниже скрипт в Окно Python:
- Нажмите ENTER.
# Name: CreateDiagramStd.py
# Description: Create schematic diagrams sample from GIS features organized into a geometric network
# 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 environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo.gdb"
# CreateDiagram from a feature class, Feeder
arcpy.CreateDiagram_schematics("ElecDemo", "FeederDiagram", "GeoSchematic", "ElectricNetwork\Feeder")
# CreateDiagram from a feature layer
# 1) Creates a layer with the selection
InputLayer = arcpy.MakeFeatureLayer_management("ElectricNetwork\PrimaryLine","PrimaryLineLayer", "PHASECODE =135")
# 2) Uses the layer as input of CreateDiagram
arcpy.CreateDiagram_schematics("ElecDemo", "ElectricMainNetworkDiagram", "GeoSchematic", InputLayer)
# 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)
Создание образцов схематических представлений из рассчитанного слоя сетевого анализа.
Как запустить этот пример скрипта Python:
- Запустите ArcMap.
- Откройте файл Open the ParisTours.mxd, хранящийся в C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset.
- Щелкните Геообработка (Geoprocessing) > Опции геообработки (Geoprocessing Options).
- Снимите флажок с Включить (Enable) в разделе Обработка в фоновом режиме (Background Processing) и щелкните ОК.
- Скопируйте приведенный ниже скрипт в Окно Python:
- Нажмите ENTER.
# Name : CreateDiagramNDS.py
# Description : Create a schematic diagram from the network dataset builder
# Requirement: Дополнительный модуль ArcGIS Schematics,Дополнительный модуль ArcGIS Network Analyst
# import system modules
import arcpy
msgNoLicenseSchematicsAvailable = "Дополнительный модуль ArcGIS Schematics license required"
msgNoLicenseNetworkAnalystAvailable = "Дополнительный модуль ArcGIS Network Analyst license required"
try:
# Checks out the Дополнительный модуль ArcGIS Schematics licence
if arcpy.CheckExtension("Schematics") == "Available":
arcpy.CheckOutExtension("Schematics")
else:
raise Exception(msgNoLicenseSchematicsAvailable)
# Checks out the Дополнительный модуль ArcGIS Network Analyst licence
if arcpy.CheckExtension("Network") == "Available":
arcpy.CheckOutExtension("Network")
else:
raise Exception(msgNoLicenseNetworkAnalystAvailable)
# Sets environnement settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset\NetworkAnalyst_Schematics.gdb"
# CreateDiagram from a solved route network analysis layer
# 1) Solves the route network analysis layer, Tour1
arcpy.Solve_na("Routes\Tour1")
# 2) Creates diagrams from this solved route network analysis layer
# a - DiagramTour_MERGED diagram, where a single schematic feature node is created to represent a network junction which is crossed N times along the resultant route (MERGE_NODES option)
arcpy.CreateDiagram_schematics("NA_SchematicDataset", "DiagramTour_MERGED", "NADiagrams", "Routes\Tour1", "MERGE_NODES")
# b - DiagramTour_NOTMERGED diagram, where N schematic nodes are created to represent a network junction which is crossed N times along the resultant route (NOT_MERGE_NODES option)
arcpy.CreateDiagram_schematics("NA_SchematicDataset", "DiagramTour_NOTMERGED", "NADiagrams", "Routes\Tour1", "NO_MERGE_NODES")
# Returns the licences
arcpy.CheckInExtension("Schematics")
arcpy.CheckInExtension("Network")
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)
Создание образца схематического представления на основе XML компоновщика.
Как запустить этот пример скрипта Python:
- Запустите ArcCatalog
- Создание и настройка набора схематических данных, используемого в ходе работы примера скрипта:
- Перейдите в папку C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data в дереве Каталога (Catalog).
- Щелкните правой кнопкой мыши базу геоданных GISDatabaseForXML, выберите Новый (New), а затем щелкните Набор схематических данных (Schematic Dataset).
- Введите XMLDataset в качестве имени только что созданного набора схематических данных и нажмите клавишу ENTER.
- Щелкните правой кнопкой мыши набор схематических данных XMLDataset и щелкните Редактировать (Edit).
- Щелкните правой кнопкой мыши элемент XMLDataset в дереве Редактора набора данных (Dataset Editor) и щелкните Новый шаблон схематического представления (New Schematic Diagram Template).
- Введите XMLDiagrams в текстовое поле Имя (Name).
- Выберите XML-компоновщик (XML Builder) в разделе Компоновщик схемы (Schematic Builder).
- Щелкните Свойства компоновщика схемы (Schematic Builder Properties) и отметьте флажком Автоматическое создание класса объектов схемы (Automatic schematic feature class creation).
- Закройте диалоговое окно Свойства компоновщика (Builder Properties).
- Нажмите OK.
- Щелкните Сохранить (Save) на панели инструментов Редактор набора схематических данных (Schematic Dataset Editor) и закройте Редактора.
- Скопируйте и вставьте следующий скрипт в окно Python в ArcCatalog или ArcMap:
- Нажмите ENTER.
# Name: CreateDiagramXML.py
# Description: Create a sample schematic diagram based on the XML builder
# 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 environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\GISDatabaseForXML.gdb"
# CreateDiagram from a XML file, SampleNetworkData.xml file
arcpy.CreateDiagram_schematics("XMLDataset", "XMLDiagramSample", "XMLDiagrams", "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\SampleNetworkData.xml")
# 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)
Создание образца схематического представления из пользовательских запросов.
Как использовать этот пример скрипта Python:
- Запустите ArcCatalog
- Этот скрипт работает с копией учебной базы геоданных ElecDemo, чтобы избежать перезаписи исходной, внутренней схемы:
- Перейдите в папку C:\ArcGIS\ArcTutor\Schematics\chematics_In_ArcMap в дереве Каталога (Catalog)
- Скопируйте и вставьте базу геоданных ElecDemo. Только что созданная база геоданных ElecDemo_1 предназначена для работы примера скрипта.
- Скопируйте и вставьте следующий скрипт в окно Python в ArcCatalog или ArcMap:
- Нажмите ENTER.
# Name: CreateDiagramCustomQuery.py
# Description: Create a schematic diagram from custom queries
# 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 environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo_1.gdb"
# CreateDiagram from a diagram template, InsidePlants, which is configured to generate diagrams from custom queries
arcpy.CreateDiagram_schematics("ElecDemo\Inside Plants", "Substation 08", "InsidePlants")
# 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)