Краткая информация
Класс UtilityNetwork обеспечивает доступ к методам, поддерживающим управление контроллерами подсети и связями между объектами сети. Вы также можете создавать или удалять связи связности, содержания и прикрепления к структуре между определенными объектами, а также включать или отключать назначение контроллера подсети для определенных объектов.
Синтаксис
UtilityNetwork (utilityNetworkPath)
Параметр | Описание | Тип данных |
utilityNetworkPath | The input utility network. | String |
Обзор метода
Метод | Описание |
AddConnectivityAssociation (association_type, from_table, from_global_id, from_terminal_name, to_table, to_global_id, to_terminal_name, percent_along) | Метод AddConnectivityAssociation создает связь связности между двумя не совпадающими объектами для моделирования связности. Например, вы можете определить связи связности для класса точечных объектов и таблиц объектов соединений в специализированной сети и структурной сети, если в сети есть правила, поддерживающие связность. Два точечных объекта, такие как трансформатор и предохранитель, которые не совпадают, могут быть смещены друг от друга по x, y или z, а их как связность поддерживается посредством связи связности. Связи связности соединение-соединение также поддерживают связность между терминалами на объектах. Существует несколько типов связей связности: соединение-соединение, соединение-ребро от, соединение-ребро середина и соединение-ребро до. |
AddContainmentAssociation (container_table, container_global_id, content_table, content_global_id, is_content_visible) | Метод AddContainmentAssociation создает связи содержания для моделирования плотной коллекции объектов в сети. Связи содержания позволяют представить коллекцию объектов большой плотности в виде отдельного объекта. Например, устройства, провода и проводники могут размещаться внутри таких объектов, как подстанция, коммутатор, траншея трубопровода или канал для прокладки проводов. Объекты содержания могут быть показаны или скрыты в виде карты, чтобы улучшить видимость и уменьшить беспорядок на карте. Объект, содержащий другие объекты, называется контейнером, а находящиеся в нем объекты называются содержанием. Инженерная сеть поддерживает вложенное содержание, а также отношения один-ко-многим между содержанием и контейнером. Во вложенном содержании объект контейнера может содержать в себе другой объект контейнера, в который, в свою очередь, включено содержание. Например, в подстанцию может входить распределительная коробка, которая может содержать электрические устройства. При отношении один-ко-многим отдельный объект содержания содержится более, чем в одном контейнере, например, одна линия проходит по многим кабельным блокам. |
AddStructuralAttachmentAssociation (structure_table, structure_global_id, attachment_table, attachment_global_id) | Метод AddStructuralAttachmentAssociation создает связь прикрепления к структуре, чтобы обеспечить моделирование поддерживающих структур и прикреплений, которые передают ресурсы в сети. Прикрепления к структуре логически связывают объекты структуры с другими объектами в инженерной сети. Эти связи позволяют моделировать отношения между структурами, которые поддерживают оборудование, и связанным оборудованием. Например, столб может служить в качестве структуры с трансформатором в качестве прикрепления. |
DeleteConnectivityAssociation (association_type, association_global_id) | Метод DeleteConnectivityAssociation удаляет связь связности между двумя объектами. |
DeleteContainmentAssociation (association_global_id) | Метод DeleteContainmentAssociation удаляет связь содержания между объектом-контейнером и его содержанием. |
DeleteStructualAttachmentAssociation (association_global_id) | Метод DeleteStructualAttachmentAssociation удаляет связь прикрепления к структуре между объектом структуры и прикрепленным объектом. Более подробно о том, как удалить связь прикрепления к структуре |
DisableSubnetworkController (table, global_id, terminal_name) | Метод DisableSubnetworkController удаляет назначение контроллера подсети с терминала на устройстве или объекте соединения. |
EnableSubnetworkController (table, global_id, terminal_name, subnetwork_controller_name, subnetwork_name, tier_name, description, notes) | Метод EnableSubnetworkController включает контроллер подсети. Контроллеры подсети задаются на терминале устройства или объекта соединения для представления исходной подсети. |
HasValidNetworkTopology () | Метод HasValidNetworkTopology проверяет, включена ли топология сети. Перед созданием связей и изменением контроллеров подсети полезно убедиться в том, что топология инженерной сети включена. |
Методы
AddConnectivityAssociation (association_type, from_table, from_global_id, from_terminal_name, to_table, to_global_id, to_terminal_name, percent_along)
Параметр | Описание | Тип данных |
association_type | An integer value representing the type of connectivity association that will be created.
| Integer |
from_table | The table name of the from object. | String |
from_global_id | The global ID of the from object. | String |
from_terminal_name | The terminal name of the from object. | String |
to_table | The table name of the to object. | String |
to_global_id | The global ID of the to object. | String |
to_terminal_name | The terminal name of the to object. | String |
percent_along | The percentage along the edge where the connection occurs. This is only used for midspan connectivity.. | Float |
Тип данных | Описание |
Integer | Object ID новой связи связности. |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
# Pass in the utility network layer
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
object_id = myUtilityNetwork.AddConnectivityAssociation(
1, "WaterDevice","{41D5BFC0-BFED-40A1-AB1A-02B0D69FB835}",
"High Pressure In", "WaterDevice",
"{D8F5535D-36B1-485E-97D3-E92E453CC11E}", "Port One", 0)
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
AddContainmentAssociation (container_table, container_global_id, content_table, content_global_id, is_content_visible)
Параметр | Описание | Тип данных |
container_table | The table name of the container object. | String |
container_global_id | The global ID of the container object. | String |
content_table | The table name of the content object. | String |
content_global_id | The global ID of the content object. | String |
is_content_visible | Specifies whether the content will be visible. | Boolean |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
# Pass in the utility network layer
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
myUtilityNetwork.AddContainmentAssociation(
"StructureBoundary", "{A498A20B-C086-48C9-993D-F71231037806}",
"WaterDevice", "{90483407-0BBF-48FF-A7B8-D3D26313A7CB}", True)
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
AddStructuralAttachmentAssociation (structure_table, structure_global_id, attachment_table, attachment_global_id)
Параметр | Описание | Тип данных |
structure_table | The table name of the structure object. | String |
structure_global_id | The global ID of the structure object. | String |
attachment_table | The table name of the attachment object. | String |
attachment_global_id | The global ID of the attachment object. | String |
Тип данных | Описание |
Integer | Object ID новой связи прикрепления к структуре. |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
object_id = myUtilityNetwork.AddStructuralAttachmentAssociation(
"StructureJunction", "{529DE843-659D-499B-AF2A-FA8E47E89CAD}",
"ElecDistDevice", "{505C79BC-1019-4A71-85B5-F4D38F6E0C6E}")
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
DeleteConnectivityAssociation (association_type, association_global_id)
Параметр | Описание | Тип данных |
association_type | An integer value representing the type of connectivity association that will be deleted.
| Integer |
association_global_id | The global ID of the association that will be deleted. | String |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
myUtilityNetwork.DeleteConnectivityAssociation(
1, "{0356CDD1-C44A-4273-8EE7-73A27EFEF116}")
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
DeleteContainmentAssociation (association_global_id)
Параметр | Описание | Тип данных |
association_global_id | The global ID for the specified containment association in the utility network. | String |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
myUtilityNetwork.DeleteContainmentAssociation(
"{8513D6CE-0416-4967-BBCC-591A1C34CF4A}")
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
DeleteStructualAttachmentAssociation (association_global_id)
Параметр | Описание | Тип данных |
association_global_id | The global ID of the specified structural attachment association in the utility network. | String |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
# Pass in the utility network layer
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
myUtilityNetwork.DeleteStructuralAttachmentAssociation(
"{549DE843-659D-499B-AF2A-FA8E47E89CAD}")
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
DisableSubnetworkController (table, global_id, terminal_name)
Параметр | Описание | Тип данных |
table | The table name to which the subnetwork controller is assigned. | String |
global_id | The global ID for the feature to which the subnetwork controller is assigned. | String |
terminal_name | The name of the terminal to which the subnetwork controller is assigned. | String |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
myUtilityNetwork.DisableSubnetworkController(
"ElecDistDevice", "{A6BFF336-92F9-45F0-8ACE-AAD6137E5E2B}", "Side1")
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
EnableSubnetworkController (table, global_id, terminal_name, subnetwork_controller_name, subnetwork_name, tier_name, description, notes)
Параметр | Описание | Тип данных |
table | The table name to which the new subnetwork controller will be assigned. | String |
global_id | The global ID for the feature to which the new subnetwork controller will be assigned. | String |
terminal_name | The name of the terminal on which the new subnetwork controller will be assigned. | String |
subnetwork_controller_name | The name of the new subnetwork controller. | String |
subnetwork_name | The name of the subnetwork on which the subnetwork controller participates. | String |
tier_name | The name of the tier to which the subnetwork controller belongs. | String |
description | A description of the new subnetwork controller. | String |
notes | Notes for the new subnetwork controller. | String |
Тип данных | Описание |
Integer | Object ID новой строки в таблице подсетей. |
import arcpy
editor = arcpy.da.Editor(r"C:\testData\SDK_UtilityNetwork.geodatabase")
# Pass in the utility network layer
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\testData\SDK_UtilityNetwork.geodatabase\main.TestNetwork\main.TestNetwork")
if not editor.isEditing:
editor.startEditing()
editor.startOperation()
object_id = myUtilityNetwork.EnableSubnetworkController(
"PipelineDevice", "{560FCA60-62B4-4B40-8CD9-9986AD63FA10}", "Terminal One",
"#2-213 - Batchelder HP T1", "213 - Batchelder HP", "Cathodic Read Location",
"Some Description", "No Notes")
if editor.isEditing:
editor.stopOperation()
editor.stopEditing(True)
HasValidNetworkTopology ()
Тип данных | Описание |
Boolean | Возвращенное логическое значение True указывает, что топология для инженерной сети включена. |
import arcpy
myUtilityNetwork = arcpy.un.UtilityNetwork(
r"C:\path\to\data\testdata1.sde\ELEC.TestNetwork\ELEC.TestNetwork")
is_valid = myUtilityNetwork.HasValidNetworkTopology()