Connectivity Policies (arcpy)
Резюме
Предоставляет сведения о политиках подключений, используемых источниками ребер и соединений. Свойства с символом "X" в именах являются динамическими. Возможные значения "X" зависят от другого свойства. Например, для указанного источника ребер свойства connSubtypeX и connPolicyX являются динамическими, где X указывает на определенный подтип. Диапазон возможных значений X зависит от свойства subTypeConnCount. Если у источника ребер два подтипа, он будет поддерживать свойства connSubtype0, connSubtype1, connPolicy0 и connPolicy1.
Свойства
Свойство | Объяснение | Тип данных |
usesSubtypes (только чтение) |
Для источников ребер и соединений. Булев оператор, указывающий, определяют ли данные источники ребер или соединений группы и политики связности по подтипам. | Boolean |
classConnectivity (только чтение) |
Для источников ребер и соединений. Задает политику, которая определяет каким образом соединяются друг с другом все элементы ребер в данном источнике ребер или элементы соединения в данном источнике соединений. Если свойство usesSubtypes для данного источника ребер или соединений возвращает значение «true», значит такое свойство не должно использоваться для определения политики соединения. Вместо этого для определенного подтипа используйте свойство connPolicyX. Это свойство возвращает следующие ключевые слова для источника ребер:
Это свойство возвращает следующие ключевые слова для источника соединений:
| String |
subtypeConnCount (только чтение) |
Для источников ребер и соединений. Общее число подтипов, используемых для определения политики соединения данного источника ребер или соединений. Если свойство usesSubtypes возвращает значение «false», то это свойство возвращает значение 0. | Integer |
connSubtypeX (только чтение) |
Для источников ребер и соединений. Код подтипа, используемого для определения подтипа данного источника объекта ребер или соединений. connSubtypeX – это динамическое свойство, поддерживаемое только в том случае, если значение subTypeConnCount больше нуля. | Integer |
connPolicyX (только чтение) |
Для источников ребер и соединений. Задает политику, которая определяет каким образом соединяются друг с другом все элементы ребер для определенного подтипа в данном источнике ребер или все элементы соединения в данном источнике соединений. connPolicyX – это динамическое свойство, поддерживаемое только в том случае, если значение subTypeConnCount больше нуля. Это свойство возвращает следующие ключевые слова для источника ребер:
Это свойство возвращает следующие ключевые слова для источника соединений:
| 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 |
Пример кода
Отображение сведений о политике подключений для источников ребер в наборе сетевых данных.
# 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(" ")
Отображение сведений о политике подключений для источников соединений в наборе сетевых данных.
# 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 (" ")