ServiceAreaSolverProperties (arcpy.na)

サマリ

Provides access to analysis properties from a service area network analysis layer. The GetSolverProperties function is used to obtain a ServiceAreaSolverProperties object from a service area network analysis layer.

説明

The ServiceAreaSolverProperties object provides read and write access to all the analysis properties of a service area network analysis layer. The object can be used to modify the desired analysis properties of the service area layer, and the corresponding layer can be re-solved to determine the appropriate results. A new service area layer can be created using the Make Service Area Layer geoprocessing tool. Obtaining the ServiceAreaSolverProperties object from a new service area layer allows you to reuse the existing layer for subsequent analyses rather than create a new layer for each analysis, which can be slow.

After modifying the properties of the ServiceAreaSolverProperties object, the corresponding layer can be immediately used with other functions and geoprocessing tools. There is no refresh or update of the layer required to honor the changes modified through the object.

特性

プロパティ説明データ タイプ
accumulators
(読み書き)

解析時に累積されるネットワーク コスト属性のリストを取得または設定できます。空のリスト([])は、累積されるコスト属性がないことを表します。

String
attributeParameters
(読み書き)

解析で使用されるパラメータ化属性を取得または設定できます。プロパティは Python ディクショナリを返します。ディクショナリのキーは、属性名とパラメータで構成される 2 つの値の組み合わせです。ディクショナリ内の各アイテムの値はパラメータ値です。

パラメータ化されたネットワーク属性は、リアルタイムに変化する属性値をモデリングするために使用されます。たとえば、12 フィートの車高規制があるトンネルをパラメータを使用してモデリングできます。この場合、車両の高さ(フィート)をパラメータ値として指定する必要があります。車両の高さが 12 フィートを超えている場合は、この規制が true に評価され、トンネルの通行が規制されます。同様に、橋は重量規制を指定するパラメータを保持することができます。

attributeParameters プロパティを直接変更しようとしても、値は更新されません。常に新しいディクショナリ オブジェクトを使用して、プロパティの値を設定する必要があります。以下の 2 つのコード ブロックは、これらの 2 つの方法の違いを示しています。

#Don't attempt to modify the attributeParameters property in place.
#This coding method won't work.

solverProps.attributeParameters[('HeightRestriction', 'RestrictionUsage')] = "PROHIBITED"
#Modify the attributeParameters property using a new dictionary object.
#This coding method works. 

params = solverProps.attributeParameters
params[('HeightRestriction', 'RestrictionUsage')] = "PROHIBITED"
solverProps.attributeParameters = params
ネットワーク解析レイヤにパラメータ化属性がない場合、このプロパティは None を返します。

Dictionary
defaultBreaks
(読み書き)

計算する到達圏の範囲を示すインピーダンス値を取得または設定できます。複数のポリゴンの閾値を設定することで、同心状の到達圏を生成できます。たとえば、同じ施設に対して 2 分、3 分、および 5 分の到達圏を検索する場合は、[2,3,5] という値を指定します。

Double
excludeSources
(読み書き)

ポリゴンを生成するときに除外するネットワーク ソースのリストを取得または設定できます。除外されるソースのトレースされたエレメントのジオメトリは、すべてのポリゴンから除外されます。空のリスト([])は、いずれのネットワーク ソースも除外されないことを表します。

String
impedance
(読み書き)

インピーダンスとして使用するネットワーク コスト属性を取得または設定できます。到達圏を決定するときに、このコスト属性が累積されます。

String
includeNetworkSourceFields
(読み書き)

解析中に通過した基本となるソース フィーチャのフィールドを、到達圏ラインに追加するかどうかを制御します。設定可能な値の一覧を次に示します。

  • LINES_SOURCE_FIELDS SourceID フィールド、SourceOID フィールド、FromPosition フィールド、ToPosition フィールドを到達圏ラインに追加して、解析中にトレースするソース フィーチャに関する情報を格納します。これは、到達圏ラインの結果を元のソース データに結合するのに役立ちます。値を True に設定することでも、このオプションを指定できます。
  • NO_LINES_SOURCE_FIELDSソース フィールド(SourceID、SourceOID、FromPosition、ToPosition)を到達圏ラインに追加しません。値を False に設定することでも、このオプションを指定できます。
String
lineOverlap
(読み書き)

到達圏ラインを計算する際に重なり合うラインを生成するかどうかを制御します。設定可能な値の一覧を次に示します。

  • OVERLAP(オーバーラップする) 施設同士で一致する到達圏ラインがある場合に、各施設で別々のライン フィーチャを保持します。値を True に設定することでも、このオプションを指定できます。
  • NON_OVERLAP(オーバーラップしない) 各到達圏ラインを 1 つにまとめ、最も近い(インピーダンスが最小の)施設に関連付けます。値を False に設定することでも、このオプションを指定できます。
String
lineType
(読み書き)

解析で生成される到達圏ラインのタイプを取得または設定できます。設定可能な値の一覧を次に示します。

  • NO_LINES(ラインなし)ラインを作成しません。
  • TRUE_LINES(正確なライン)計測値を含まないラインが作成されます。
  • TRUE_LINES_WITH_MEASURES(計測値を含む正確なライン)計測値を含むラインが作成されます。このメジャー値は、中間点を補間するエッジの両端におけるインピーダンス値に基づいて生成されます。高速なパフォーマンスが必要な場合は、このオプションを使用しないでください。
String
polygonMerge
(読み書き)

同様の閾値を共有するポリゴンをマージするかどうかを制御します。このオプションは複数の施設に対してポリゴンを生成するときにのみ適用できます。設定可能な値の一覧を次に示します。

  • NO_MERGE(マージしない)施設ごとに異なるポリゴンが作成されます。各ポリゴンは重なり合うことができます。
  • NO_OVERLAP(オーバーラップしない)施設ごとに異なるポリゴンが生成されます。各ポリゴンは重なり合うことはありません。
  • MERGE(マージする) 同じ閾値を持つ複数の施設のポリゴンが結合されます。
String
polygonNesting
(読み書き)

同心状の到達圏ポリゴンをディスク状に作成するか、またはリング状に作成するかを制御します。このオプションは複数の閾値が施設に対して指定されているときにのみ適用できます。設定可能な値の一覧を次に示します。

  • RINGS(リング)小さい閾値の領域を含みません。連続する閾値の間の領域を含むポリゴンが生成されます。ある閾値から別の閾値までの領域を表示する場合に、このオプションを使用します。値を True に設定することでも、このオプションを指定できます。
  • DISKS(ディスク) 施設から閾値までの領域を含むポリゴンが生成されます。たとえば、5 分間と 10 分間の到達圏を生成する場合、5 分間の到達圏ポリゴンは 10 分間の到達圏ポリゴンに含まれます。施設から閾値までの領域全体を表示する場合に、各閾値に対してこのオプションを使用します。値を False に設定することでも、このオプションを指定できます。
String
polygonType
(読み書き)

生成されるポリゴンのタイプを取得または設定できます。設定可能な値の一覧を次に示します。

  • SIMPLE_POLYS(単純なポリゴン)単純化されたポリゴンを高速に生成します。末端部分以外では適度な精度もあります。
  • DETAILED_POLYS(詳細なポリゴン)到達圏ラインを正確にモデリングする詳細なポリゴンが作成されます。未到達の領域が島状に残される場合があります。単純化されたポリゴンを生成する場合に比べ、このオプションでは処理時間が大幅に長くなります。
  • NO_POLYS(ポリゴンを生成しない)到達圏ラインのみが必要な場合に、ポリゴンの生成を行わないようにします。
String
restrictions
(読み書き)

解析時に適用される規制属性のリストを取得または設定できます。空のリスト([])は、解析で使用される規制属性がないことを表します。

String
solverName
(読み取り専用)

解析プロパティ オブジェクトの取得に使用されているネットワーク解析レイヤが参照している解析の名前を返します。このプロパティは、ServiceAreaSolverProperties オブジェクトからアクセスされたときに必ず文字列「Service Area Solver」を返します。

String
splitLinesAtBreaks
(読み書き)

閾値を超えた到達圏ラインを分割するかどうかを制御します。設定可能な値の一覧を次に示します。

  • SPLIT(分割する)2 つの閾値の間のすべてのラインが 2 つのラインに分割され、それぞれのラインが閾値に収まるようになります。これは閾値ごとに到達圏ラインをシンボル化する場合に役立ちます。それ以外の場合は NO_SPLIT(分割しない)オプションを使用すると、最適なパフォーマンスが得られます。
  • NO_SPLIT(分割しない)ラインを閾値の境界線で分割しません。
String
timeOfDay
(読み書き)

施設からの出発時間または施設への到着時間を取得または設定できます。この値の解釈は、移動方向が施設への到着である場合と施設からの出発である場合で異なります。travelDirection プロパティが TRAVEL_FROM に設定されている場合は出発時間を表し、travelDirection プロパティが TRAVEL_TO に設定されている場合は到着時間を表します。値に None を指定すると、日付と時刻は使用されません。

特定の日付を使用する代わりに、次の日付を使用して曜日を指定することができます。

  • 今日 - 1899/12/30
  • 日 - 1899/12/31
  • 月 - 1900/1/1
  • 火 - 1900/1/2
  • 水 - 1900/1/3
  • 木 - 19001/4
  • 金 - 1900/1/5
  • 土 - 1900/1/6

たとえば、施設からの出発を金曜日の午前 8:00 に指定するには、「datetime.datetime(1900, 1, 5, 8,0,0)」という値を指定します。

DateTime
travelDirection
(読み書き)

到達圏解析中にインピーダンスを累積する方向を制御します。設定可能な値の一覧を次に示します。

  • TRAVEL_FROM施設から離れる方向に到達圏が作成されます。
  • TRAVEL_TO施設に向かう方向に到達圏が作成されます。
String
trimDistance
(読み書き)

到達圏ポリゴンが切詰められる距離の範囲を取得または設定できます。プロパティ値には、距離を表す数値と単位がスペースで区切って格納されます。たとえば、切詰める距離を 100 メートルに指定する場合は、「100 Meters」を使用します。

String
trimPolygons
(読み書き)

到達圏ポリゴンを切詰めるかどうかを制御します。設定可能な値の一覧を次に示します。

  • TRIM_POLYS(ポリゴンを切詰める)到達圏ポリゴン内の外側にあるエッジから指定距離以内に収まるように、ポリゴンの外周を切詰めます。ネットワークが非常にまばらで、フィーチャが存在しない広範領域が到達圏内に含まれるのを防ぎたい場合に役立ちます。値を True に設定することでも、このオプションを指定できます。
  • NO_TRIM_POLYS(ポリゴンを切詰めない)ポリゴンを切詰めません。値を False に設定することでも、このオプションを指定できます。
String
useHierarchy
(読み書き)

解析を実行しているときの階層属性の使用を制御します。設定可能な値の一覧を次に示します。

  • USE_HIERARCHY(階層を使用) 階層属性を解析に使用します。階層を使用すると、解析は下位ランクのエッジよりも上位ランクのエッジを優先します。階層解析は、より高速で、運転者が遠回りであっても一般道路の代わりに高速道路を利用する状況をシミュレートするのに使用できます。このオプションは、Network Analyst レイヤが参照しているネットワーク データセットに階層属性がある場合のみ適用されます。値を True に設定することでも、このオプションを指定できます。
  • NO_HIERARCHY(階層を使用しない)階層属性を解析に使用しません。階層を使用しないことで、ネットワーク データセットの正確なルートが検索されます。値を False に設定することでも、このオプションを指定できます。
String
uTurns
(読み書き)

ストップ間のネットワーク移動中に発生する可能性のあるジャンクションでの U ターンを、解析でどのように処理するかを指定するポリシーを取得または設定できます。設定可能な値の一覧を次に示します。

  • ALLOW_UTURNS(U ターンを許可)任意の数の接続されたエッジを持つジャンクションで U ターンを許可します。
  • NO_UTURNS(U ターンを規制)ジャンクションの結合にかかわらず、すべてのジャンクションで U ターンを禁止します。ただし、この設定が選択されている場合でも、ネットワーク ロケーションでは U ターンが許可されます。同様に、個々のネットワーク ロケーションの CurbApproach プロパティで U ターンを禁止するように設定できます。
  • ALLOW_DEAD_ENDS_ONLY(行き止まりのみ許可)1 つの隣接エッジを持つジャンクション(行き止まり)を除くすべてのジャンクションでの U ターンを禁止します。
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY2 つの隣接するエッジが接するジャンクションでの U ターンを禁止します。ただし、交差点(3 つ以上の隣接エッジを持つジャンクション)および行き止まり(1 つの隣接エッジを持つジャンクション)では U ターンを許可します。ネットワークには、道路セグメントの中間に無関係のジャンクションが存在する場合があります。このオプションは、これらの場所で車両が U ターンすることを防ぎます。
String

コードのサンプル

ServiceAreaSolverProperties example (Python window)

The script shows how to update a service area network analysis layer to use hierarchy and set 5, 10, and 15 minutes as the break values. It assumes that a service area layer called Store Trade Areas has been created in a new map document based on the tutorial network dataset for San Francisco region.

#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"

関連トピック

9/14/2013