Connectivity Policies
Краткая информация
Предоставляет информацию о правилах связности, используемых источниками ребер и соединений. Свойства, имеющие в названии букву «X», являются динамическими свойствами. Возможные значения «X» зависят от другого свойства. Например, для данного источника ребра connSubtypeX и connPolicyX являются динамическими свойствами, где X указывает на определенный подтип. Возможный диапазон значений X зависит от свойства subTypeConnCount. Таким образом, если источник ребра имеет два подтипа, то он будет поддерживать свойства connSubtype0, connSubtype1, connPolicy0 и connPolicy1.
Свойства
| Имя | Объяснение | Тип данных |
|---|---|---|
|
usesSubtypes (Только для чтения) |
Для источников ребер и соединений. Булев оператор, указывающий, определяют ли данные источники ребер или соединений группы и политики связности по подтипам. |
Boolean |
|
classConnectivity (Только для чтения) |
Для источников ребер и соединений. Задает политику, которая определяет каким образом соединяются друг с другом все элементы ребер в данном источнике ребер или элементы соединения в данном источнике соединений. Если свойство Это свойство возвращает следующие ключевые слова для источника ребер:
Это свойство возвращает следующие ключевые слова для источника соединений:
|
String |
|
subtypeConnCount (Только для чтения) |
Для источников ребер и соединений. Общее число подтипов, используемых для определения политики соединения данного источника ребер или соединений. Если свойство |
Integer |
|
connSubtypeX (Только для чтения) |
Для источников ребер и соединений. Код подтипа, используемого для определения подтипа данного источника объекта ребер или соединений. |
Integer |
|
connPolicyX (Только для чтения) |
Для источников ребер и соединений. Задает политику, которая определяет каким образом соединяются друг с другом все элементы ребер для определенного подтипа в данном источнике ребер или все элементы соединения в данном источнике соединений. Это свойство возвращает следующие ключевые слова для источника ребер:
Это свойство возвращает следующие ключевые слова для источника соединений:
|
String |
|
defaultGroup (Только для чтения) |
Только для источника ребер. Группа связности, в которой участвует данный источник объекта ребра. Если свойство |
Integer |
|
groupCount (Только для чтения) |
Только для источника ребер. Общее число подтипов, используемых для определения группы связности данного источника ребер. Если свойство |
Integer |
|
groupSubtypeX (Только для чтения) |
Только для источника ребер. Код подтипа, используемого для определения подтипа данного источника объекта ребер. |
Integer |
|
groupNameX (Только для чтения) |
Только для источника ребер. Группа связности, в которой участвует определенный подтип данного источника объекта ребер. |
String |
|
defaultGroupsCount (Только для чтения) |
Только для источника соединений. Общее число групп связности, к которым относится данный источник соединений. Если свойство Если свойство |
Integer |
|
defaultGroupNameX (Только для чтения) |
Только для источника соединений. Группа связности, в которой участвует данный источник объекта соединений. |
String |
|
subtypeGroupCount (Только для чтения) |
Только для источника соединений. Общее число подтипов, используемых для определения групп связности данного источника соединений. Если свойство |
Integer |
|
subtypeGroupX (Только для чтения) |
Только для источника соединений. Код подтипа, используемого для определения подтипа (обозначается X) данного источника объекта соединений. |
Integer |
|
subtypeXGroupsCount (Только для чтения) |
Только для источника соединений. Общее число групп связности, к которым относится определенный подтип (обозначается X) данного источника соединений. |
Integer |
|
subtypeXGroupNameX (Только для чтения) |
Только для источника соединений. Группа связности, в которой участвует определенный подтип данного источника объекта ребер. |
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(" ")