Summary
The Network Dataset Shields Description object provides additional shields information which is used to enhance the direction information when the streets have multiple street names.
Discussion
The shieldTypeX and shieldDescriptionX properties are dynamic. This means that the total number of properties supported by the shields description object depends on the descriptionCount property. For example, if the value of the descriptionCount property is 2, then the shields description object will support shieldType0, shieldDescription0, shieldType1, and shieldDescription1 properties.
Properties
Property | Explanation | Data Type |
shieldTypeX (Read Only) | The shield type for a particular shield (indicated by X) | Integer |
shieldDescriptionX (Read Only) | The shield description for a particular shield (indicated by X) | Integer |
Code sample
Shields Description object example
Display the shields description information for each network source.
# Name: NDSShieldsDescriptionProperties_ex01.py
# Description: Print additional information about directions shields for each
# edge source
import arcpy
import sys
# Set the workspace
arcpy.env.workspace = "C:/Data/SanFrancisco.gdb/Transportation"
# Create Describe object for the network dataset
desc = arcpy.Describe("Streets_ND")
#If the directions are not set for the network dataset, exit
if not desc.supportsDirections:
print "No direction information"
sys.exit()
print "Source Direction Information ----"
# Get all the edge sources
sources = desc.edgeSources
if not sources:
print "No edge sources"
sys.exit()
#Loop through all the edge sources
for source in sources:
print "--------------------"
print "Name: " , source.name
print "Source ID: " , source.sourceID
#Get the direction information specific to edge source
sDir = source.sourceDirections
#Get the shields for each source
shields = sDir.shields
if shields:
print "----Shields description"
print "Description count: " , shields.descriptionCount
sDesc = shields.description
if sDesc:
for i in range(0, shields.descriptionCount):
shieldType = getattr(sDesc,"shieldType" + str(i))
sheildDesc = getattr(sDesc, "shieldDescription" + str(i))
print "Type: " , shieldType
print "Description: " , sheildDesc
else:
print "(No shield information)"