Connectivity Policies (arcpy)

Резюме

Предоставляет сведения о политиках подключений, используемых источниками ребер и соединений. Свойства с символом "X" в именах являются динамическими. Возможные значения "X" зависят от другого свойства. Например, для указанного источника ребер свойства connSubtypeX и connPolicyX являются динамическими, где X указывает на определенный подтип. Диапазон возможных значений X зависит от свойства subTypeConnCount. Если у источника ребер два подтипа, он будет поддерживать свойства connSubtype0, connSubtype1, connPolicy0 и connPolicy1.

Свойства

СвойствоОбъяснениеТип данных
usesSubtypes
(только чтение)

Для источников ребер и соединений.

Булев оператор, указывающий, определяют ли данные источники ребер или соединений группы и политики связности по подтипам.

Boolean
classConnectivity
(только чтение)

Для источников ребер и соединений.

Задает политику, которая определяет каким образом соединяются друг с другом все элементы ребер в данном источнике ребер или элементы соединения в данном источнике соединений. Если свойство usesSubtypes для данного источника ребер или соединений возвращает значение «true», значит такое свойство не должно использоваться для определения политики соединения. Вместо этого для определенного подтипа используйте свойство connPolicyX.

Это свойство возвращает следующие ключевые слова для источника ребер:

  • Конечная вершина (EndVertex)
  • Любая вершина (AnyVertex)

Это свойство возвращает следующие ключевые слова для источника соединений:

  • Заменить
  • Предпочтение
String
subtypeConnCount
(только чтение)

Для источников ребер и соединений.

Общее число подтипов, используемых для определения политики соединения данного источника ребер или соединений. Если свойство usesSubtypes возвращает значение «false», то это свойство возвращает значение 0.

Integer
connSubtypeX
(только чтение)

Для источников ребер и соединений.

Код подтипа, используемого для определения подтипа данного источника объекта ребер или соединений. connSubtypeX – это динамическое свойство, поддерживаемое только в том случае, если значение subTypeConnCount больше нуля.

Integer
connPolicyX
(только чтение)

Для источников ребер и соединений.

Задает политику, которая определяет каким образом соединяются друг с другом все элементы ребер для определенного подтипа в данном источнике ребер или все элементы соединения в данном источнике соединений. connPolicyX – это динамическое свойство, поддерживаемое только в том случае, если значение subTypeConnCount больше нуля.

Это свойство возвращает следующие ключевые слова для источника ребер:

  • Конечная вершина (EndVertex)
  • Любая вершина (AnyVertex)

Это свойство возвращает следующие ключевые слова для источника соединений:

  • Заменить
  • Предпочтение
String
defaultGroup
(только чтение)

Только для источника ребер.

Группа связности, в которой участвует данный источник объекта ребра.

Если свойство usesSubtypes возвращает значение «true», то это свойство возвращает значение -1. В этом случае, используйте свойство groupNameX для определенного подтипа.

Integer
groupCount
(только чтение)

Только для источника ребер.

Общее число подтипов, используемых для определения группы связности данного источника ребер. Если свойство usesSubtypes возвращает значение «false», то это свойство возвращает значение 0.

Integer
groupSubtypeX
(только чтение)

Только для источника ребер.

Код подтипа, используемого для определения подтипа данного источника объекта ребер.groupSubtypeX – это динамическое свойство, поддерживаемое только в том случае, если значение groupCount больше нуля.

Integer
groupNameX
(только чтение)

Только для источника ребер.

Группа связности, в которой участвует определенный подтип данного источника объекта ребер. groupNameX – это динамическое свойство, поддерживаемое только в том случае, если значение groupCount больше нуля.

String
defaultGroupsCount
(только чтение)

Только для источника соединений.

Общее число групп связности, к которым относится данный источник соединений. Если свойство usesSubtypes возвращает значение «true», используйте свойство subtypeXGroupsCount для определения общего числа групп связности, к которым относится определенный подтип данного источника соединений.

Если свойство usesSubtypes возвращает значение «true», то это свойство возвращает значение 0.

Integer
defaultGroupNameX
(только чтение)

Только для источника соединений.

Группа связности, в которой участвует данный источник объекта соединений. defaultGroupNameX – это динамическое свойство, поддерживаемое только в том случае, если значение defaultGroupsCount больше нуля. Диапазон возможных значений Х зависит от свойства defaultGroupsCount.

String
subtypeGroupCount
(только чтение)

Только для источника соединений.

Общее число подтипов, используемых для определения групп связности данного источника соединений. Если свойство usesSubtypes возвращает значение «false», то это свойство возвращает значение 0.

Integer
subtypeGroupX
(только чтение)

Только для источника соединений.

Код подтипа, используемого для определения подтипа (обозначенного Х) данного источника объекта соединений. subtypeGroupX – это динамическое свойство, поддерживаемое только в том случае, если значение subtypeGroupCount больше нуля.

Integer
subtypeXGroupsCount
(только чтение)

Только для источника соединений.

Общее число групп связности, к которым принадлежит определенный подтип (обозначенный Х) данного источника объекта соединений. subtypeXGroupsCount – это динамическое свойство, поддерживаемое только в том случае, если значение subTypeGroupCount больше нуля.

Integer
subtypeXGroupNameX
(только чтение)

Только для источника соединений.

Группа связности, в которой участвует определенный подтип данного источника объекта ребер. groupNameX – это динамическое свойство, поддерживаемое только в том случае, если значение groupCount больше нуля.

String

Пример кода

Пример свойств политик подключений 1

Отображение сведений о политике подключений для источников ребер в наборе сетевых данных.

# Name: NDSConnectivityPolicies_ex01.py
# Description: Prints out the connectivity policy information about the
#              edge sources for a given network dataset 

import arcpy
import sys

# Set workspace
arcpy.env.workspace = "C:/Data/Paris.gdb/Transportation"

#Create a Describe object from the network dataset
desc = arcpy.Describe("ParisMultimodal_ND")

justify = 35
print ("------- Edge sources") 

# Get all the edge sources for the network dataset 
edgeSources = desc.edgeSources 

#If there are no edge sources, quit
if not edgeSources:
    print ("%*s" % (justify, "(No edge sources)")) 
    sys.exit(0)

for edgeSource in edgeSources:
    print (" %*s: %s" % (justify, "Source Name" , edgeSource.name))
    print (" %*s: %s" % (justify, "Source ID" , str(edgeSource.sourceID))) 
    print (" %*s: %s" % (justify, "Source Type", edgeSource.sourceType))
    print (" %*s: %s" % (justify, "Element Type", edgeSource.elementType))
    print (" %*s: %s" % (justify, "From Elevation Field",
                         edgeSource.fromElevationFieldName))
    print (" %*s: %s" % (justify, "To Elevation Field",
                         edgeSource.toElevationFieldName))
    # Get connectivity information
    conn = edgeSource.connectivityPolicies 
    # Check if subtypes are used for edge sources to define connectivity groups
    #and policies
    bUseSubtypes = conn.usesSubtypes 
    print(" %*s: %s" % (justify, "Connectivity defined by subtype?",
                        str(conn.usesSubtypes)))
    
    #Print connectivity policy information depending on the use of subtypes 
    if not bUseSubtypes:
        print("%*s: %s" %(justify,"Connectivity Policy",conn.classConnectivity)) 
    else: 
        # Connectivity policy by subtype
        print(" %*s: %s" % (justify, "Number of subtypes",
                            str(conn.subtypeConnCount))) 
        for i in range(0, conn.subtypeConnCount):
            subtypeCode = getattr(conn, "connSubtype" + str(i)) 
            policy = getattr(conn, "connPolicy" + str(i))
            print(" %*s: %s" %(justify, "Subtype Code",subtypeCode))  
            print(" %*s: %s" % (justify, "... has connectivity policy", policy))
    
    # Print connectivity Group information depending on the use of subtypes
    if not bUseSubtypes: 
        print("%*s: %s" % (justify,"Belongs to Connectivity Group",
                           conn.defaultGroup))         
    else: 
        # Connectivity group by subtype
        print(" %*s: %s" %(justify,"Number of subtypes for connectivity groups",
                          conn.groupCount))
        for i in range(0, conn.groupCount): 
            subtypeCode = getattr(conn, "groupSubtype" + str(i)) 
            name = getattr(conn, "groupName" + str(i)) 
            print( "%*s: %s" %(justify,"Subtype Code", subtypeCode)) 
            print("%*s: %s" %(justify,"... belongs to connectivity group",name))
    print(" ")
Пример свойств политик подключений 2

Отображение сведений о политике подключений для источников соединений в наборе сетевых данных.

# Name: NDSConnectivityPolicies_ex02.py
# Description: Prints out the connectivity policy information about the
#              junction sources for a given network dataset 

import arcpy
import sys

# Set workspace
arcpy.env.workspace = "C:/Data/Paris.gdb/Transportation"

#Create a Describe object from the network dataset
desc = arcpy.Describe("ParisMultimodal_ND")

justify = 35
print ("------- Junction sources") 

#Get all the junction sources for the network dataset
junctions = desc.junctionSources

#If there are no junction sources, quit
if not junctions: 
    print " %*s" % (justify, "(No junction sources)")    
    sys.exit(0) 
 
for junction in junctions:
    print (" %*s: %s" % (justify, "Source Name" , junction.name))
    print (" %*s: %s" % (justify, "Source ID" , str(junction.sourceID))) 
    print (" %*s: %s" % (justify, "Source Type", junction.sourceType))
    print (" %*s: %s" % (justify, "Element Type", junction.elementType))
    print (" %*s: %s" % (justify, "Elevation Field",
                         junction.elevationFieldName)) 

    # system junctions do not support connectivity information 
    sourcetype = junction.sourceType 
    if sourcetype.lower() != "junctionfeature":  
        continue 
    #Get the connectivity policies
    conn = junction.connectivityPolicies 
    if not conn:  
        continue 
    # Connectivity can be defined based on subtypes 
    bUseSubtypes = conn.usesSubtypes 
    print (" %*s: %s" % (justify + 5, "Connectivity defined by subtype?" , 
                         str(conn.usesSubtypes))) 
    if not bUseSubtypes: 
        print (" %*s: %s" % (justify + 5, "Connectivity policy" , 
                             conn.classConnectivity)) 
        outtext = "Belongs to %d different connectivity groups" % conn.defaultGroupsCount 
        print " %*s" % (justify + 5, outtext) 
        defgrouplist = []
        for i in range(0,conn.defaultGroupsCount): 
            defgrouplist.append(str(getattr(conn, "defaultGroupName" + str(i))))
        print ("%*s: %s" % (justify + 5,"... belongs to connectivity group(s)",
                            " ".join(defgrouplist))) 
    else: 
        print (" %*s: %s" % (justify + 5, "Number of subtypes" ,
                             str(conn.subtypeConnCount)))
        for i in range(0, conn.subtypeConnCount): 
            st = getattr(conn, "connSubtype" + str(i))
            policy = getattr(conn,"connPolicy" + str(i))
            print (" ")
            print (" %*s: %s" % (justify + 10, "Subtype value" , st)) 
            print (" %*s: %s" % (justify + 10, "...has connectivity policy" ,
                                  policy)) 
        
        print ("") 
        for i in range(0, conn.subtypeGroupCount): 
            stGroup = getattr(conn, "subtypeGroup" + str(i)) 
            print (" %*s: %d" % (justify + 10, "Subtype value", stGroup)) 
            count = getattr(conn, "subtype" + str(i) + "GroupsCount")
            grouplist = []
            for j in range(0, count): 
                key = getattr(conn,"subtype%dGroupName%d" % (i,j))
                grouplist.append(str(key)) 
            print (" %*s %s" % (justify + 10, "...belongs to connectivity group(s)",
                                " ".join(grouplist))) 
            
            print ("") 
    print (" ")
9/10/2013