ServiceAreaSolverProperties (arcpy.na)
摘要
用于访问服务区网络分析图层中的分析属性。GetSolverProperties 函数用于从服务区网络分析图层中获取 ServiceAreaSolverProperties 对象。
讨论
ServiceAreaSolverProperties 对象提供对服务区网络分析图层中所有分析属性的读取和写入权限。该对象可用于修改服务区图层的分析属性,并可重新求解相应图层以确定合适结果。使用 Make Service Area Layer 地理处理工具可创建新的服务区图层。通过从新的服务区图层获取 ServiceAreaSolverProperties 对象,可重新对现有图层进行后续分析,而无需每次分析都创建一个新图层,以节省时间。
修改 ServiceAreaSolverProperties 对象的属性后,可立即使用其他函数和地理处理工具分析相应图层。无需刷新或更新图层,通过上述对象进行的修改便可生效。
属性
属性 | 说明 | 数据类型 |
accumulators (读写) | Provides the ability to get or set a list of network cost attributes that are accumulated as part of the analysis. An empty list, [], indicates that no cost attributes are accumulated. | String |
attributeParameters (读写) | Provides the ability to get or set the parameterized attributes to be used in the analysis. The property returns a Python dictionary. The dictionary key is a two-value tuple consisting of the attribute name and the parameter name. The value for each item in the dictionary is the parameter value. Parameterized network attributes are used to model some dynamic aspect of an attribute's value. For example, a tunnel with a height restriction of 12 feet can be modeled using a parameter. In this case, the vehicle's height in feet should be specified as the parameter value. If the vehicle is taller than 12 feet, this restriction will then evaluate to true, thereby restricting travel through the tunnel. Similarly, a bridge could have a parameter to specify a weight restriction. Attempting to modify the attributeParameters property in place won't result in updated values. Instead, you should always use a new dictionary object to set values for the property. The following two code blocks demonstrate the difference between these two approaches.
| Dictionary |
defaultBreaks (读写) |
Provides the ability to get or set the impedance values indicating the extent of the service area to be calculated. Multiple polygon breaks can be set to create concentric service areas. For instance, to find 2-, 3-, and 5-minute service areas for the same facility, specify the value as [2,3, 5]. | Double |
excludeSources (读写) | Provides the ability to get or set the list of network sources to be excluded when generating the polygons. The geometry of traversed elements from the excluded sources will be omitted from all polygons. An empty list, [], indicates that no network sources are excluded. | String |
impedance (读写) | Provides the ability to get or set the network cost attribute used as impedance. This cost attribute is accumulated while determining the service area. | String |
includeNetworkSourceFields (读写) | Controls whether additional fields from the underlying source features traversed during the analysis are added to the service area lines. The following is a list of possible values:
| String |
lineOverlap (读写) | Controls whether overlapping lines are generated when the service area lines are computed. The following is a list of possible values:
| String |
lineType (读写) | Provides the ability to get or set the type of service area lines to be generated from the analysis. The following is a list of possible values:
| String |
polygonMerge (读写) | Controls whether polygons that share similar break values are merged. This option is applicable only when generating polygons for multiple facilities. The following is a list of possible values:
| String |
polygonNesting (读写) | Controls whether concentric service area polygons are created as disks or rings. This option is applicable only when multiple break values are specified for the facilities. The following is a list of possible values:
| String |
polygonType (读写) | Provides the ability to get or set the type of polygons to be generated. The following is a list of possible values:
| String |
restrictions (读写) | Provides the ability to get or set a list of restriction attributes that are applied for the analysis. An empty list, [], indicates that no restriction attributes are used for the analysis. | String |
solverName (只读) |
Returns the name of the solver being referenced by the network analysis layer used to obtain the solver properties object. The property always returns the string value Service Area Solver when accessed from a ServiceAreaSolverProperties object. | String |
splitLinesAtBreaks (读写) | Controls whether service area lines are split when they cross a break value. The following is a list of possible values:
| String |
timeOfDay (读写) | Provides the ability to get or set the time to depart from or arrive at the facilities. The interpretation of this value depends on whether travel is toward or away from the facilities. It represents the departure time if the travelDirection property is set to TRAVEL_FROM and represents the arrival time if the travelDirection property is set to TRAVEL_TO. A value of None can be used to specify that no date and time should be used. Instead of using a particular date, a day of the week can be specified using the following dates:
For example, to specify that the departure from facilities should occur at 8:00 AM on Friday, specify the value as datetime.datetime(1900, 1, 5, 8,0,0). | DateTime |
travelDirection (读写) | Controls the direction in which the impedance is accumulated during service area analysis. The following is a list of possible values:
| String |
trimDistance (读写) | Provides the ability to get or set the distance within which the service area polygons are trimmed. The property value includes a numeric value and a unit for the distance separated by a space. For example, to specify a trim distance of 100 Meters, use "100 Meters". | String |
trimPolygons (读写) | Controls whether the service area polygons are trimmed. The following is a list of possible values:
| String |
useHierarchy (读写) | Controls the use of the hierarchy attribute while performing the analysis. The following is a list of possible values:
| String |
uTurns (读写) | Provides the ability to get or set the policy that indicates how the U-turns at junctions that could occur during network traversal between stops are being handled by the solver. The following is a list of possible values:
| String |
代码实例
该脚本显示如何更新服务区网络分析图层,以使用等级属性并将 5、10 和 15 分钟设置为中断值。它假设已经在新地图文档中根据旧金山地区的网络数据集创建名为 Store Trade Areas 的服务区图层。
#Get the service area layer object from a layer named "Store Trade Areas" in
#the table of contents
saLayer = arcpy.mapping.Layer("Store Trade Areas")
#Get the solver properties object from the service area layer
solverProps = arcpy.na.GetSolverProperties(saLayer)
#Update the properties for the service area layer using the solver properties
#object
solverProps.defaultBreaks = [5, 10, 15]
solverProps.useHierarchy = "USE_HIERARCHY"