UtilityNetwork

Краткая информация

Класс 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.

  • 1—Junction-Junction Connectivity association
  • 4—Junction-Edge From Connectivity association
  • 5—Junction-Edge Midspan Connectivity association
  • 6—Junction-Edge To Connectivity association
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.

  • 1—Junction-Junction Connectivity association
  • 4—Junction-Edge From Connectivity association
  • 5—Junction-Edge Midspan Connectivity association
  • 6—Junction-Edge To Connectivity association
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()