Краткая информация
Создает схематическое представление
В зависимости от компоновщика схемы, создание схемы может быть основано на слоях объектов, классов объектов, таблицах объектов, слое сетевого анализа или данных XML.
Использование
Если имя выходного схематического представления уже существует, оно может быть удалено, а затем создано повторно. Чтобы избежать этого удаления, можно снять отметку с опции Переписать результаты операций геообработки (Overwrite the outputs of geoprocessing operations) в диалоговом окне Опции геообработки (Geoprocessing Options).
Потребность в параметре Входные данные зависит от компоновщика схемы, связанного с шаблоном схемы, заданным для создаваемого представления:
- Для шаблона схемы, основанного на Стандартном компоновщике, настроенном для работы из геометрической сети или набора сетевых данных, параметр необходим. Заданные входные таблицы могут быть слоями объектов, классами объектов или таблицами объектов.
- Для шаблона схемы, основанного на Компоновщике наборов сетевых данных, в качестве параметра Входные данные должен быть задан уникальный слой сетевого анализа.
- Для шаблона схемы, основанного на XML-компоновщике, в качестве параметра Входные данные должен быть задан уникальный файл XML.
- Для шаблона схемы, основанного на Стандартном компоновщике, настроенном для работы из пользовательских запросов, входные данные не требуются.
Синтаксис
CreateDiagram_schematics (out_location, out_name, diagram_type, {in_data}, {builder_options})
Параметр | Объяснение | Тип данных |
out_location | Набор схематических данных или папка схемы, в которых будет создана схема. | Schematic Dataset;Schematic Folder |
out_name | Имя создаваемого схематического представления. | String |
diagram_type [diagram_type,...] | Шаблон для создаваемого схематического представления. | String |
in_data [in_data,...] (дополнительно) | Входные данные для создания схемы. Параметр Входные данные указывает элементы, на основе которых будет создана схема. Параметр должен быть задан для большинства предопределенных компоновщиков схемы:
| Table View;Data Element;Layer |
builder_options (дополнительно) | Параметры создания в компоновщике схемы. Эти параметры необходимы только для схем на основе Компоновщика набора сетевых данных, чтобы указать, будут ли объединяться узлы.
| String |
Пример кода
Инструмент Создать схему и Стандартный компоновщик, работающий с данными геометрической сети: пример 1 (автономный скрипт Python)
Создание образцов схематических представлений из объектов ГИС, организованных в геометрическую сеть.Как запустить этот пример скрипта 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 Schematics general settings
dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
gdbName="ElecDemo.gdb"
out_schDataset="ElecDemo"
out_diagAName="FeederDiagram"
out_diagBName="ElectricMainNetworkDiagram"
out_diagTempName="GeoSchematic"
input_FC1="ElectricNetwork/Feeder"
input_FC2="ElectricNetwork/PrimaryLine"
input_LayerName="PrimaryLineLayer"
input_Filter="PHASECODE=135"
# Sets environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# CreateDiagram from a feature class, Feeder
arcpy.CreateDiagram_schematics(out_schDataset, out_diagAName, out_diagTempName, input_FC1)
# CreateDiagram from a feature layer
# 1) Creates a layer with the selection
InputLayer = arcpy.MakeFeatureLayer_management(input_FC2, input_LayerName, input_Filter)
# 2) Uses the layer as input of CreateDiagram
arcpy.CreateDiagram_schematics(out_schDataset, out_diagBName, out_diagTempName, 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)
Инструмент Создать схему и Компоновщик набора сетевых данных: пример 2 (автономный скрипт Python)
Создание образцов схематических представлений из рассчитанного слоя сетевого анализа.Как запустить этот пример скрипта Python:
- Запустите ArcMap.
- Откройте файл Open the ParisTours.mxd, хранящийся в C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset.
- Щелкните Геообработка (Geoprocessing) > Опции геообработки (Geoprocessing Options).
- Снимите отметку с Включить в разделе Обработка в фоновом режиме и щелкните ОК.
- Скопируйте приведенный ниже скрипт в Окно 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 general settings
dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_Configuration/Network_Dataset"
gdbName="NetworkAnalyst_Schematics.gdb"
out_schDataset="NA_SchematicDataset"
out_diagAName="DiagramTour_MERGED"
out_diagBName="DiagramTour_NOTMERGED"
out_diagTempName="NADiagrams"
in_NALayerName="Routes/Tour1"
option1="MERGE_NODES"
option2="NO_MERGE_NODES"
# Sets environnement settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# CreateDiagram from a solved route network analysis layer
# 1) Solves the route network analysis layer, Tour1
arcpy.Solve_na(in_NALayerName)
# 2) Creates diagrams from this solved route network analysis layer
# a - A diagram where a single node is created to represent a GIS point crossed N times along this route (option1)
arcpy.CreateDiagram_schematics(out_schDataset, out_diagAName, out_diagTempName, in_NALayerName, option1)
# b - A diagram where N nodes are created to represent a GIS point crossed N times along this route (option2)
arcpy.CreateDiagram_schematics(out_schDataset, out_diagBName, out_diagTempName, in_NALayerName, option2)
# 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-компоновщик (XML builder): пример 3 (автономный скрипт Python)
Создание образца схематического представления на основе XML компоновщика. Как запустить этот пример скрипта Python:
- Запустите ArcCatalog
- Создание и настройка набора схематических данных, используемого в ходе работы примера скрипта:
- Перейдите в папку C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data в дереве Каталога.
- Щелкните правой кнопкой мыши базу геоданных GISDatabaseForXML, выберите Новый (New), а затем щелкните Набор схематических данных (Schematic Dataset).
- Введите XMLDataset в качестве имени только что созданного набора схематических данных и нажмите клавишу ENTER.
- Щелкните правой кнопкой мыши набор схематических данных XMLDataset и щелкните Редактировать (Edit).
- Щелкните правой кнопкой мыши элемент XMLDataset в дереве Редактора набора данных (Dataset Editor) и щелкните Новый шаблон схематического представления (New Schematic Diagram Template).
- Введите XMLDiagrams в текстовое поле Имя (Name).
- Выберите XML-компоновщик в разделе Компоновщик схемы (Schematic Builder).
- Щелкните Свойства компоновщика схемы и отметьте опцию Автоматическое создание класса объектов схемы.
- Закройте диалоговое окно Свойства компоновщика (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 Schematics general settings
dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_Configuration/XML_Data"
gdbName="GISDatabaseForXML.gdb"
out_schDataset="XMLDataset"
out_diagName="XMLDiagramSample"
out_diagTempName="XMLDiagrams"
input_XmlFile="SampleNetworkData.xml"
# Sets environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# CreateDiagram from a XML file, SampleNetworkData.xml file
arcpy.CreateDiagram_schematics(out_schDataset, out_diagName, out_diagTempName, dataLocation + "/" + input_XmlFile)
# 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)
Инструмент Создать схему и Стандартный компоновщик, работающий из пользовательских запросов: пример 4 (автономный скрипт Python)
Создание образца схематического представления из пользовательских запросов.Как использовать этот пример скрипта Python:
- Запустите ArcCatalog
- Этот скрипт работает с копией учебной базы геоданных ElecDemo, чтобы избежать перезаписи исходной, внутренней схемы:
- Перейдите в папку C:\ArcGIS\ArcTutor\Schematics\chematics_In_ArcMap в дереве Каталога (Catalog)
- Скопируйте и вставьте базу геоданных ElecDemo. Только что созданная база геоданных ElecDemo_1 предназначена для работы примера скрипта.
- Скопируйте и вставьте следующий скрипт в окно Python в ArcCatalog или ArcMap:
- Нажмите ENTER.ArcGIS Schematics
# Name: CreateDiagramCustomQuery.py
# Description: Create a schematic diagram from custom queries
# Requirement:
# 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 Schematics general settings
dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
gdbName="ElecDemo_1.gdb"
out_schDataset="ElecDemo"
out_schFolder="Inside Plants"
out_diagName="Substation 08"
out_diagTempName="InsidePlants"
# Sets environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# CreateDiagram from a diagram template configured from custom queries
arcpy.CreateDiagram_schematics(out_schDataset + "/" + out_schFolder, out_diagName, out_diagTempName)
# 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)
Параметры среды
Информация о лицензировании
- ArcGIS for Desktop Basic: Требует Данные схем (Schematics)
- ArcGIS for Desktop Standard: Требует Данные схем (Schematics)
- ArcGIS for Desktop Advanced: Требует Данные схем (Schematics)