概要
運転時間または走行距離に基づいてインシデントから最も近い 1 つ以上の施設を検索し、最適なルート、インシデントと選択したインシデント間のルート案内、および選択した施設のコピーを出力します。このツールを使用すると、たとえば、事故現場から最も近い病院、犯罪現場に最も近いパトカー、または顧客の住所に最も近い店舗を検索できます。
最寄り施設を検出するとき、検索件数と、移動方向を施設に向かう方向にするか、施設から向かう方向にするかを指定できます。また、時刻を指定して、特定の日時のライブまたは予測の交通状況を基に移動時間を考慮することもできます。たとえば、所定の時刻に事故現場から 15 分の到達圏内にある病院を検索できます。交通状況に基づいて運転時間が 15 分を超えてしまう病院は、結果に含まれません。
注意:
このツールの最新情報については、Web ヘルプの最新エディションでこのトピックをご参照ください。ArcGIS Online では、 このようにサービスに対する機能的な更新を定期的に行っているため、インストールされているヘルプは最新でない可能性があります。
図
使用法
オンライン ツールボックスに収容されているツールは、ArcGIS Online でホストしているデータと機能を使って解析する ArcGIS Onlineジオプロセシング サービスです。
[計測単位] パラメーターの値が時間の単位である場合は、移動時間に基づいて最寄り施設が検索されます。同様に、使用する単位が距離の単位である場合は、移動距離を使用して最寄り施設が検索されます。
ツールを正しく実行するには、少なくとも 1 つの施設と 1 つのインシデントを指定する必要があります。最大 5,000 件の施設と 5,000 件のインシデントを読み込むことができ、インシデントごとに最大 100 件の最寄り施設を検索できます。したがって、解析ごとに最大 100,000 件の最寄り施設を検索できます。
最大で 250 のポイント バリアを追加できます。ライン バリアまたはポリゴン バリアは必要なだけ追加できますが、ライン バリアが交差する道路フィーチャは 500 以下にする必要があり、ポリゴン バリアが交差するフィーチャは 2,000 以下にする必要があります。
結果を短時間で生成できるように、解析時に道路階層を使用することもできます。ただし、ソリューションの精度は最適な結果よりもやや劣ります。
[階層を使用] パラメーターがオン (True) であるかどうかにかかわらず、インシデントまたは施設を表すフィーチャのペア間の直線距離が 50 マイル (80.46 キロメートル)を超えている場合は、常に階層が使用されます。
[移動モード] が [徒歩] に設定されている場合、または [カスタム] に設定されていて [徒歩] 規制が使用されている場合は、インシデントまたは施設を表すフィーチャのペア間の直線距離は 27 マイル (43.45 キロメートル) を超えることはできません。
入力したポイントと通行可能な最も近い道路の距離が 12.42 マイル (20 キロメートル) を超える場合、そのポイントは解析から除外されます。
このサービスを使用すると、クレジットが消費されます。詳細については、「サービス クレジットの概要」をご参照ください。
構文
FindClosestFacilities(Incidents, Facilities, Measurement_Units, {Analysis_Region}, {Number_of_Facilities_to_Find}, {Cutoff}, {Travel_Direction}, {Use_Hierarchy}, {Time_of_Day}, {Time_of_Day_Usage}, {UTurn_at_Junctions}, {Point_Barriers}, {Line_Barriers}, {Polygon_Barriers}, {Restrictions}, {Attribute_Parameter_Values}, {Route_Shape}, {Route_Line_Simplification_Tolerance}, {Populate_Directions}, {Directions_Language}, {Directions_Distance_Units}, {Directions_Style_Name}, {Time_Zone_for_Time_of_Day}, {Travel_Mode}, {Impedance}, {Save_Output_Network_Analysis_Layer}, {Overrides}, {Save_Route_Data}, {Time_Impedance}, {Distance_Impedance}, {Output_Format})
パラメーター | 説明 | データ タイプ |
Incidents | 最寄り施設の検出解析の始点または終点として使用される場所。 1 つまたは複数のインシデントを指定できます (最大 5,000)。これらは、どの場所の近接場所を検索するかを示します。 インシデントを指定する場合は、次の属性を使用して、各インシデントのプロパティ (インシデントの名前やサービス時間など) を設定できます。 Name インシデントの名前。この名前は、ルート案内に使用されます。名前を指定しない場合は、出力ルートおよび出力ルート案内において接頭辞 Location が付いた一意な名前が自動的に生成されます。 ID インシデントの一意な ID。この ID は、出力ルートに (IncidentID フィールドとして) 含まれ、出力ルートからの追加情報 (合計移動時間や合計距離など) をインシデントから属性にまたはその逆に結合するために役立ちます。この ID が指定されていない場合は、各インシデントの一意な ID が自動的に生成されます。 AdditionalTime インシデントで費やされる時間の長さ。これは、ルートの合計時間に追加されます。デフォルト値は 0 です。 この属性値の単位は、[計測単位] パラメーターで指定されます。計測単位が時間ベースである場合に限り、この属性値が解析に含められます。 火災現場に最も近い消防署を検出して応答時間を推定する場合、AdditionalTime 属性に消防士が消火を開始する前に火災現場で消火用具を準備する時間を格納できます。 AdditionalDistance インシデントで移動する追加の距離。これは、ルートの合計距離に追加されます。デフォルト値は 0 です。 この属性値の単位は、[計測単位] パラメーターで指定されます。計測単位が距離ベースである場合に限り、この属性値が解析に含められます。 通常、インシデントの場所 (家など) は厳密には道路に接していません。道路から多少離れて配置されています。インシデントの場所と道路に接した場所の間の距離を合計移動距離に含めることが重要である場合は、この属性値を使用してその距離をモデル化できます。 AdditionalCost インシデントにかかる追加のコスト。これは、ルートの合計コストに加算されます。デフォルト値は 0 です。 この属性値は、解析の移動モードで時間ベースでも距離ベースでもないインピーダンス属性を使用する場合に使用する必要があります。属性値の単位は、未知の単位として解釈されます。 TargetFacilityCount 指定されたインシデントに対して検索する必要のある施設の数。このフィールドでは、各インシデントに対して検出する施設数を指定できます。たとえば、このフィールドを使用して、1 つのインシデントの最寄り施設を 3 件と、別のインシデントの最寄り施設を 2 件検出できます。 Cutoff 指定されたインシデントからの施設の検索を中止するインピーダンス値。この属性では、各インシデントに対して異なるカットオフ値を指定できます。たとえば、この属性を使用して、1 つのインシデントから移動時間 5 分以内の施設と、別のインシデントから移動時間 8 分以内の施設を検索できます。 CurbApproach 車両がインシデントに到着する方向およびインシデントから出発する方向を指定します。このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
CurbApproach 属性は、米国の右側通行の標準と英国の左側通行の標準の両方に対応するように設計されています。まず、インシデントが車両の左側にあるとします。これは、車両が移動するのが道路の左側であるか右側であるかに関係なく、常に左側にあります。右側通行か左側通行かに応じて異なるのは、2 つの方向のうちどちらからインシデントに到着するかです。つまり、結局のところ車両の右側または左側になります。たとえば、インシデントに到着するときに、車両とインシデントの間に交通レーンがない方がいい場合は、米国では 1 (車両の右側) を選択し、英国では 2 (車両の左側) を選択します。 Bearing ポイントが移動している方向。単位は度で、北を基準に時計回りに測定されます。このフィールドは BearingTol フィールドと組み合わせて使用されます。 通常、方位データは、GPS 受信機を備えたモバイル デバイスから自動的に送信されます。歩行者や車両などの移動している入力場所を読み込んでいる場合は、方位データを含めてみてください。 このフィールドを使用すると、たとえば、車両が交差点や高架の近くにいる場合に、ロケーションが間違ったエッジに追加されるのを避けることができます。方位は、ツールがポイントを道路のどちら側に配置するかを決定する際にも役立ちます。 BearingTol 方位許容値は、Bearing フィールドを使用して移動ポイントをエッジに配置するときに、許容される方位の範囲を作成します。Bearing フィールドの値が、エッジの方位許容値から生成される許容範囲内にある場合は、ポイントをその場所にネットワーク ロケーションとして配置できます。許容範囲から外れている場合は、次に近いエッジの最も近いポイントが評価されます。 単位は度で、デフォルト値は 30 です。値は 0 より大きく 180 未満でなければなりません。値が 30 の場合、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位値の許容範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズされた方向に生成されます。 NavLatency このフィールドは、Bearing と BearingTol の値が存在する場合にのみ、解析処理で使用されます。ただし、Bearing と BearingTol の値が存在する場合でも、NavLatency 値の入力は任意です。NavLatency は、移動中の車両からサーバーに GPS 情報が送信されてから、車両のナビゲーション デバイスが処理されたルートを受信するまでの予想経過時間を示します。 NavLatency の時間単位は、解析オブジェクトの timeUnits プロパティで指定された単位と同じです。 | Feature Set |
Facilities | 最寄り施設の検出解析の始点または終点として使用される場所。 1 つまたは複数の施設を指定できます (最大 5,000)。これらは、最寄りの場所を検出するときに検索対象となる場所です。 施設を指定する場合は、次の属性を使用して、各施設のプロパティ (施設の名前やサービス時間など) を設定できます。 Name 施設の名前。この名前は、ルート案内に使用されます。名前を指定しない場合は、出力ルートおよび出力ルート案内において接頭辞 Location が付いた一意な名前が自動的に生成されます。 ID 施設の一意の識別子。この ID は、出力ルートに含まれ、出力最寄り施設に FacilityID フィールドとして含まれます。FacilityID フィールドを使用して、出力ルートからの追加情報 (合計移動時間や合計距離など) を施設から属性に結合することができます。この ID が指定されていない場合は、各施設の一意な ID が自動的に生成されます。 AdditionalTime 施設で費やされる時間の長さ。これは、ルートの合計時間に追加されます。デフォルト値は 0 です。 この属性値の単位は、[計測単位] パラメーターで指定されます。計測単位が時間ベースである場合に限り、この属性値が解析に含められます。 たとえば、火災現場に最も近い消防署を検出する場合、AdditionalTime に消防署の職員が適切な防護装置を身に付けて消防署を出発するまでの時間を格納できます。 AdditionalDistance 施設で移動する追加の距離。これは、ルートの合計距離に追加されます。デフォルト値は 0 です。 この属性値の単位は、[計測単位] パラメーターで指定されます。計測単位が距離ベースである場合に限り、この属性値が解析に含められます。 通常、施設の場所 (消防署など) は厳密には道路に接していません。道路から多少離れて配置されています。施設の実際の場所と道路に接した場所の間の距離を合計移動距離に含めることが重要である場合は、AdditionalDistance でこの距離をモデル化できます。 AdditionalCost 施設で費やされる追加のコスト。これは、ルートの合計コストに加算されます。デフォルト値は 0 です。 この属性値は、解析の移動モードで時間ベースでも距離ベースでもないインピーダンス属性を使用する場合に使用する必要があります。属性値の単位は、未知の単位として解釈されます。 Cutoff 指定された施設からのインシデントの検索を中止するインピーダンス値。この属性では、各施設に対して異なるカットオフ値を指定できます。たとえば、この属性を使用して、1 つの施設から移動時間 5 分以内のインシデントと、別の施設から移動時間 8 分以内のインシデントを検索できます。 CurbApproach 車両が施設に到着する方向および施設から出発する方向を指定します。このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
CurbApproach 属性は、米国の右側通行の標準と英国の左側通行の標準の両方に対応するように設計されています。まず、施設が車両の左側にあるとします。これは、車両が移動するのが道路の左側であるか右側であるかに関係なく、常に左側にあります。右側通行か左側通行かに応じて異なるのは、2 つの方向のうちどちらから施設に到着するかです。つまり、結局のところ車両の右側または左側になります。たとえば、施設に到着するときに、車両と施設の間に交通レーンがない方がいい場合は、米国では 1 (車両の右側) を選択し、英国では 2 (車両の左側) を選択します。 Bearing ポイントが移動している方向。単位は度で、北を基準に時計回りに測定されます。このフィールドは BearingTol フィールドと組み合わせて使用されます。 通常、方位データは、GPS 受信機を備えたモバイル デバイスから自動的に送信されます。歩行者や車両などの移動している入力場所を読み込んでいる場合は、方位データを含めてみてください。 このフィールドを使用すると、たとえば、車両が交差点や高架の近くにいる場合に、ロケーションが間違ったエッジに追加されるのを避けることができます。方位は、ツールがポイントを道路のどちら側に配置するかを決定する際にも役立ちます。 BearingTol 方位許容値は、Bearing フィールドを使用して移動ポイントをエッジに配置するときに、許容される方位の範囲を作成します。Bearing フィールドの値が、エッジの方位許容値から生成される許容範囲内にある場合は、ポイントをその場所にネットワーク ロケーションとして配置できます。許容範囲から外れている場合は、次に近いエッジの最も近いポイントが評価されます。 単位は度で、デフォルト値は 30 です。値は 0 より大きく 180 未満でなければなりません。値が 30 の場合、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位値の許容範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズされた方向に生成されます。 NavLatency このフィールドは、Bearing と BearingTol の値が存在する場合にのみ、解析処理で使用されます。ただし、Bearing と BearingTol の値が存在する場合でも、NavLatency 値の入力は任意です。NavLatency は、移動中の車両からサーバーに GPS 情報が送信されてから、車両のナビゲーション デバイスが処理されたルートを受信するまでの予想経過時間を示します。 NavLatency の時間単位は、解析オブジェクトの timeUnits プロパティで指定された単位と同じです。 | Feature Set |
Measurement_Units | 出力ルートの合計移動時間または合計距離を計測およびレポートするときに使用される単位を指定します。道路に沿って移動時間または移動距離を計測することにより、最寄り施設が検出されます。 このパラメーターに指定された単位によって、最寄りのものを検出するときに移動距離が計測されるか、移動時間が計測されるかが決まります。運転時間を測定する場合は、時間の単位を選択します。走行距離を測定する場合は、距離の単位を選択します。結果にレポートされる運転時間または走行距離の合計の単位も、この選択によって決まります。 次のようなオプションがあります。
| String |
Analysis_Region (オプション) | 解析を実行する地域。このパラメーターに値を指定しない場合、入力ポイントの位置に基づいて地域名が自動的に計算されます。地域の名前は、地域名の自動検出が入力に対して正確ではない場合にのみ設定する必要があります。 地域を指定するには、次のいずれかの値を使用します。
レガシー:次の地域名は現在はサポートされておらず、今後のリリースで削除される予定です。廃止された地域名のいずれかを指定すると、サポートされている地域名がツールによって自動的に割り当てられます。
| String |
Number_of_Facilities_to_Find (オプション) | インシデントごとに検出する最寄り施設の数。これは、火災などの、異なる消防署からの複数の消防車が必要である状況において役立ちます。たとえば、火災現場に最も近い 3 つの消防署を検出するように指定できます。 このパラメーターで設定される値は、入力インシデントの TargetFacilityCount フィールドを使用し、インシデントごとに上書きできます。 各インシデントから最大 100 の施設を検出できます。 | Long |
Cutoff (オプション) | 所定のインシデントに対して施設の検索を中止する移動時間または移動距離の値。たとえば、事故現場から最も近い病院を検出するときに 15 分間のカットオフ値が設定されている場合は、インシデントから 15 分以内の距離にある、最も近い病院が検索されます。最も近い病院が 17 分の距離にある場合、出力ルートで返されるルートはありません。カットオフ値は、複数の施設を検索する場合に特に便利です。 [移動方向] パラメーターが [施設からインシデントへ] に設定されている場合、カットオフは入力施設の Cutoff フィールドを使用して、施設ごとに上書きできます。[移動方向] パラメーターが [インシデントから施設へ] に設定されている場合、カットオフは入力インシデントの Cutoff フィールドを使用して、インシデントごとに上書きできます。 このパラメーターの単位は、[計測単位] パラメーターで指定されます。 | Double |
Travel_Direction (オプション) | 最寄り施設検索の移動方向の計測方法を指定します。
どのオプションを使用するかによって、検出される施設が異なることがあります。一部の道路では、移動する方向や一方通行規制に基づいて移動時間が変わることがあるためです。たとえば、インシデントから施設に向かった場合に要する時間が 10 分間であったとしても、施設からインシデントに向かった場合は方向が異なるために、15 分間を要する場合があります。また、[時刻] パラメーターの値を設定すると、交通量が原因で、[施設からインシデントへ] オプションと [インシデントから施設へ] オプションで異なる結果が返されることがあります。 消防署の場合、消防署 (施設) から緊急事態の場所 (インシデント) まで移動する時間が重視されるため、通常はパラメーターに [施設からインシデントへ] の値が使用されます。小売店 (施設) での管理の場合、買物客 (インシデント) が小売店 (施設) に到達するまでの時間が重視されるため、通常は [インシデントから施設へ] が使用されます。 | String |
Use_Hierarchy (オプション) | 施設とインシデント間の最適なルートを検索する際に、階層を使用するかどうかを指定します。
施設とインシデントの間の直線距離が 50 マイルを超える場合は、このパラメーターをオフに (Python では False に設定) しても、自動的に階層が使用されます。 | Boolean |
Time_of_Day (オプション) | ルートの開始または終了の日時。この値は、[時刻による使用状況] パラメーターの値に応じて、ルートの開始時間または終了時間として使用されます。このパラメーターの値として現在の日時を指定すると、ライブ交通状況を使用して最寄り施設が検出され、合計移動時間は交通状況に基づくものとなります。 時刻を指定すると、インシデントと施設の間の移動時間の推定がより正確になります。これは、移動時間において、その日時に該当する交通状況が考慮されるためです。 [時刻のタイムゾーン] パラメーターは、この日時が UTC を参照するか、施設またはインシデントの場所のタイム ゾーンを参照するかを指定します。 | Date |
Time_of_Day_Usage (オプション) | [時刻] パラメーターの値がルートの到着時間と出発時間のどちらを表すかを指定します。
| String |
UTurn_at_Junctions (オプション) | ジャンクションでの U ターン ポリシー。U ターンを許可するということは、解析においてジャンクションで方向転換し、同じ道路を引き返すことができるということを意味します。 ジャンクションが道路の交差と行き止まりを表すことを前提に、さまざまな車両が、一部のジャンクションでは方向転換でき、他のジャンクションでは方向転換できない、というように設定できます。これは、ジャンクションが交差と行き止まりのどちらを表すかによって変わります。これに対応するには、ジャンクションに接続するエッジの数 (ジャンクションでのノードへの接続数) によって、暗黙的に U ターン ポリシーを指定します。以下では、このパラメーターで選択できる値と、ジャンクションので接続におけるそれぞれの意味について示します。
| String |
Point_Barriers (オプション) | 一時的な規制として機能する 1 つ以上のポイント、または対象の道路を通行するために必要とされる追加の時間や距離を表す 1 つ以上のポイントを指定する場合に、このパラメーターを使用します。たとえば、ポイント バリアを使用して、道路沿いの倒木や、踏切で生じる遅延時間を表すことができます。 このツールでは、バリアとして追加できるポイントの数は 250 に制限されています。 ポイント バリアを指定する場合は、次の属性を使用して、各ポイント バリアのプロパティ (ポイント バリアの名前やバリアの種類など) を設定できます。 Name バリアの名前。 BarrierType ポイント バリアの通過を完全に禁止するか、通過時に時間または距離を追加するかを指定します。この属性の値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
Additional_Time バリアを通過するときに追加される移動時間。このフィールドは、解析の移動モードが時間ベースのインピーダンス属性を使用する場合にのみ、追加コスト バリアにのみ適用されます。 このフィールドには 0 以上の値を指定する必要があります。単位は [計測単位] パラメーターで指定した単位と同じです。 Additional_Distance バリアを通過するときに追加される距離。このフィールドは、解析の移動モードが距離ベースのインピーダンス属性を使用する場合にのみ、追加コスト バリアにのみ適用されます。 このフィールドには 0 以上の値を指定する必要があります。単位は [計測単位] パラメーターで指定した単位と同じです。 Additional_Cost バリアを通過するときに追加されるコスト。このフィールドは、解析の移動モードが時間ベースでも距離ベースでもないインピーダンス属性を使用する場合にのみ、追加コスト バリアにのみ適用されます。 FullEdge 解析時に、通行不可ポイント バリアをエッジ要素に適用する方法を指定します。このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
CurbApproach バリアによって影響を受ける移動方向を指定します。このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
ジャンクションは特定のポイントなので、右側/左側がありません。したがって、ジャンクション上にバリアを配置した場合は、アプローチ制限にかかわらずすべての車両に影響を与えます。 CurbApproach 属性は、米国の右側通行の標準と英国の左側通行の標準の両方に対応するように設計されています。まず、施設が車両の左側にあるとします。これは、車両が移動するのが道路の左側であるか右側であるかに関係なく、常に左側にあります。右側通行か左側通行かに応じて異なるのは、2 つの方向のうちどちらから施設に到着するかです。つまり、結局のところ車両の右側または左側になります。たとえば、施設に到着するときに、車両と施設の間に交通レーンがない方がいい場合は、米国では 1 (車両の右側) を選択し、英国では 2 (車両の左側) を選択します。 Bearing ポイントが移動している方向。単位は度で、北を基準に時計回りに測定されます。このフィールドは BearingTol フィールドと組み合わせて使用されます。 通常、方位データは、GPS 受信機を備えたモバイル デバイスから自動的に送信されます。歩行者や車両などの移動している入力場所を読み込んでいる場合は、方位データを含めてみてください。 このフィールドを使用すると、たとえば、車両が交差点や高架の近くにいる場合に、ロケーションが間違ったエッジに追加されるのを避けることができます。方位は、ツールがポイントを道路のどちら側に配置するかを決定する際にも役立ちます。 BearingTol 方位許容値は、Bearing フィールドを使用して移動ポイントをエッジに配置するときに、許容される方位の範囲を作成します。Bearing フィールドの値が、エッジの方位許容値から生成される許容範囲内にある場合は、ポイントをその場所にネットワーク ロケーションとして配置できます。許容範囲から外れている場合は、次に近いエッジの最も近いポイントが評価されます。 単位は度で、デフォルト値は 30 です。値は 0 より大きく 180 未満でなければなりません。値が 30 の場合、Network Analyst がネットワーク ロケーションをエッジに追加しようとすると、方位値の許容範囲がエッジの両側 (左と右) に 15 度ずつ、どちらもエッジのデジタイズされた方向に生成されます。 NavLatency このフィールドは、Bearing と BearingTol の値が存在する場合にのみ、解析処理で使用されます。ただし、Bearing と BearingTol の値が存在する場合でも、NavLatency 値の入力は任意です。NavLatency は、移動中の車両からサーバーに GPS 情報が送信されてから、車両のナビゲーション デバイスが処理されたルートを受信するまでの予想経過時間を示します。 NavLatency の時間単位は、解析オブジェクトの timeUnits プロパティで指定された単位と同じです。 | Feature Set |
Line_Barriers (オプション) | 道路と交差しているラインの場所を移動できないようにする 1 つ以上のラインを指定する場合に、このパラメーターを使用します。たとえば、複数の道路区間にわたって通行禁止となるパレードやデモを表すときに通過不可ライン バリアを使用します。また、ライン バリアを使用すれば、道路網の特定の区間を迂回して利用できる経路をすばやく見つけることができます。 このツールでは、[ライン バリア] パラメーターを使用して規制できる道路の数に制限があります。ライン バリアとして指定できるラインの数に制限はありませんが、すべてのラインと交差する道路の総数が 500 を超えることはできません。 ライン バリアを指定する場合は、次の属性を使用するごとに、名前プロパティおよびバリア タイプ プロパティを設定できます。 Name バリアの名前。 | Feature Set |
Polygon_Barriers (オプション) | 通過を完全に禁止するポリゴン、またはそのポリゴンと交差する道路を移動するときに時間または距離が係数に基づいて乗算されるポリゴンを指定する場合に、このパラメーターを使用します。 このサービスでは、[ポリゴン バリア] パラメーターを使用して規制できる道路の数に制限があります。ポリゴン バリアとして指定できるポリゴンの数に制限はありませんが、すべてのポリゴンと交差する道路の総数が 2,000 を超えることはできません。 ポリゴン バリアを指定する場合は、次の属性を使用して、各ポリゴン バリアのプロパティ (ポリゴン バリアの名前やバリアの種類など) を設定できます。 Name バリアの名前。 BarrierType バリアの通過を完全に禁止するか、バリアを通過する際のコスト (時間または距離など) を係数に基づいて計算するかを指定します。このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
ScaledTimeFactor これは、バリアが交差している道路の移動時間に乗算する係数です。このフィールドには 0 より大きい値を指定する必要があります。 このフィールドは、解析の移動モードが時間ベースのインピーダンス属性を使用する場合にのみ、コスト係数指定バリアにのみ適用されます。 ScaledDistanceFactor これは、バリアが交差している道路の距離に乗算する係数です。このフィールドには 0 より大きい値を指定する必要があります。 このフィールドは、解析の移動モードが距離ベースのインピーダンス属性を使用する場合にのみ、コスト係数指定バリアにのみ適用されます。 ScaledCostFactor これは、バリアと交差する道路のコストに乗算する係数です。このフィールドには 0 より大きい値を指定する必要があります。 このフィールドは、解析の移動モードが時間ベースでも距離ベースでもないインピーダンス属性を使用する場合にのみ、コスト係数指定バリアにのみ適用されます。 | Feature Set |
Restrictions (オプション) | 最適なルートを検索する際に使用される規制。 規制は、運転上の優先事項や要件を表します。ほとんどの場合は、規制により道路は通行禁止になります。たとえば、[Avoid Toll Roads] の規制を使用すると、ルートに有料道路が含まれるのは、インシデントまたは施設を訪問するために有料道路の使用が必要な場合のみになります。[Height Restriction] は、車両の高さより低い車高規制の場所を迂回できるようにします。車両に腐食性物質を積載している場合は、[Any Hazmat Prohibited] の規制を使用して、腐食性物質の運搬が法律で禁止されている道路の通行を回避します。 メモ:このパラメーターに指定した値は、[移動モード] を [カスタム] に設定しなければ無視されます。 メモ:一部の規制では、用途に関する追加の値を指定する必要があります。この値は、規制の名前、および規制に対応させることを意図している特定のパラメーターに関連付ける必要があります。[属性パラメーター値] パラメーターの [AttributeName] 列に規制の名前が表示されている場合、その規制を識別できます。通行可能な道路を検索するときに、規制が正しく使用されるように、規制に対応する [属性パラメーター値] パラメーター内で [ParameterValue] フィールドを指定する必要があります。 メモ:一部の規制は、特定の国でのみサポートされます。それらの規制の利用可否は、次のリスト内で地域ごとに記述されています。領域内で規制の利用可否が制限されている場合、ネットワーク解析範囲の国リストのセクションにあるテーブルを確認して、規制が特定の国で利用できるかどうかを決定できます。国の [ロジスティック属性] 列に [Yes] という値が指定されている場合、その国では、その地域内で選択可能な規制を利用できます。解析を行う範囲の国で利用できない規制の名前を指定した場合、無効な規制はサービスによって無視されます。また、[規制の使用] 属性パラメーターの値が 0 ~ 1 の範囲内にある規制も、サービスによって無視されます ([属性パラメーター値] パラメーターを参照)。[規制の使用] パラメーターの値が 0 より大きいすべての規制は禁止されます。 ツールは、次の規制をサポートしています。
レガシー:[Driving a Delivery Vehicle (配送車両の通行)] 規制属性は、使用できなくなりました。この規制は無効なので、サービスはこれを無視します。同様の結果を得るには、[Driving a Truck (トラックの通行)] 規制属性を [Avoid Truck Restricted Roads (トラック規制道路を使用しない)] 規制属性とともに使用します。 | String |
Attribute_Parameter_Values (オプション) | 規制が、制限された道路上の移動を禁止するか、回避するか、優先するかのいずれかを指定する場合など、属性または規制に必要な追加の値を指定する場合に、このパラメーターを使用します。規制が道路を回避または優先するためのものである場合は、このパラメーターを使用して道路が回避または優先される度合いも指定できます。たとえば、有料道路を決して使用しないこと、できるだけ避けること、または優先することを選択できます。 メモ:このパラメーターに指定した値は、[移動モード] を [カスタム] に設定しなければ無視されます。 フィーチャクラスから [属性パラメーター値] パラメーターを指定する場合は、フィーチャクラスのフィールド名が、次のフィールドと一致する必要があります。
[属性パラメーター値] パラメーターは、[規制] パラメーターに依存します。ParameterValue フィールドは、規制の名前が [規制] パラメーターの値として指定されている場合に限り適用できます。 [属性パラメーター値] では、AttributeName で指定した各規制の ParameterName フィールドに [規制の使用] という値があります。この値は、規制に関連付けられた道路での移動を禁止、回避、または優先するかどうか、および道路を回避または優先する場合のレベルを指定します。[ParameterName] フィールドの [規制の使用] の値には、次のいずれかの文字列、またはそれぞれの括弧に示した数値を割り当てることができます。
規制が車両の高さなどの車両の特性に依存している場合はほとんど、[Restriction Usage] にデフォルト値の PROHIBITED を使用できます。ただし、[規制の使用] の値がルートの優先度に依存している場合もあります。たとえば、[Avoid Toll Roads] の規制では、[規制の使用] 属性のデフォルト値は [AVOID_MEDIUM] になります。つまり、この規制を使用すると、可能な場合は有料道路を回避するルートが検索されます。また、[AVOID_MEDIUM] は、最適なルートを検索する際に有料道路を回避することの重要度も表しています (中程度の優先度)。[AVOID_LOW] を選択すると、有料道路を回避する重要度が下がります。AVOID_HIGH を選択すると重要度が上がり、有料道路を回避するためにより長い距離のルートも生成可能になります。[PROHIBITED] を選択すると有料道路の通行は完全に禁止され、ルートでは有料道路のいずれの部分も通行できなくなります。一部のユーザーは、有料道路を回避または禁止して、料金所での支払いを回避することが目的であることに注意してください。一方、料金所で支払うことよりも交通渋滞を避けることのほうに価値があるため、有料道路で運転することを優先するユーザーもいます。後者の場合は、[規制の使用] として [PREFER_LOW]、[PREFER_MEDIUM]、または [PREFER_HIGH] を選択できます。優先度が高いほど、規制に関連付けられている道路を通行するために遠回りするようになります。 | Record Set |
Route_Shape (オプション) | ツールによって出力されるルート フィーチャのタイプを指定します。
[ルート形状] パラメーターが [正確な形状] または [正確な形状 (メジャー付き)] に設定されている場合は、[ルート ラインの単純化許容値] パラメーターの適切な値を使用して、ルートの形状の一般化をさらに制御できます。 [ルート形状] パラメーターにどのような値を選択しても、最適ルートは常に、ストップ間の直線距離を使用するのではなく、移動時間または移動距離を最小化することで決定されます。つまり、ルート形状が異なるだけで、ルート検索時に対象となる道路は同じであることを意味します。 | String |
Route_Line_Simplification_Tolerance (オプション) | ルートおよびルート案内の出力ラインのジオメトリを単純化するために使用される距離。 [ルート形状] パラメーターが [正確な形状] に設定されていない場合、このパラメーターは無視されます。 単純化によって、ルートの基本的な形状を定義する重要ポイント (交差点でのターンなど) は維持され、その他のポイントは削除されます。ここで指定する単純化の距離は、単純化されたラインの元のラインからの逸脱として認められる、最大許容オフセットです。ラインの単純化では、ルート ジオメトリを構成する頂点の数が削減されます。これにより、ツールの実行時間が短縮されます。 | Linear Unit |
Populate_Directions (オプション) | 各ルートに対してルート案内を生成するかどうかを指定します。
| Boolean |
Directions_Language (オプション) | 移動方向を生成する際に使用する言語。 このパラメーターは、[ルート案内の設定] パラメーターがオンである (Python では True) 場合にのみ使用されます。 パラメーター値は、次の 2 文字または 5 文字の言語コードのいずれかを使用して指定できます。
このツールは、まず、言語ローカライズを含め、指定された言語の完全一致を検索します。完全一致が見つからなかった場合は、言語ファミリーの一致を試みます。それでも一致が見つからない場合、ルート案内にはデフォルト言語である英語が使用されます。たとえば、ルート案内の言語が [es-MX] (メキシコ スペイン語) として指定されている場合、ツールは [es-MX] ではなく [es] 言語コードをサポートしているため、ルート案内をスペイン語で返します。 注意:言語がポルトガル語 (ブラジル) (pt-BR) とポルトガル語 (ポルトガル) (pt-PT) などのローカライズをサポートしている場合は、言語ファミリーとローカライズを指定します。言語ファミリーのみを指定した場合、ツールは言語ファミリーの一致を試みず、ルート案内にはデフォルト言語である英語が使用されます。たとえば、ルート案内の言語が [pt] として指定されている場合、ツールはルート案内を英語で返します。これは、ルート案内を [pt-BR] で返すべきか [pt-PT] で返すべきか判断できないからです。 | String |
Directions_Distance_Units (オプション) | ルート案内で移動距離を表示する単位を指定します。このパラメーターは、[ルート案内の設定] パラメーターがオンである (Python では True) 場合にのみ使用されます。
| String |
Directions_Style_Name (オプション) | ルート案内の書式スタイルの名前を指定します。このパラメーターは、[ルート案内の設定] パラメーターがオンである (Python では True) 場合にのみ使用されます。
| String |
Time_Zone_for_Time_of_Day (オプション) | [時刻] パラメーターのタイム ゾーンを指定します。
[時刻のタイム ゾーン] の設定にかかわらず、施設およびインシデントが複数のタイム ゾーンにある場合は、次の規則が適用されます。
| String |
Travel_Mode (オプション) | 解析でモデル化する交通モード。移動モードは ArcGIS Online で管理されます。組織の管理者は、移動モードを構成することで、組織のワークフローを反映することができます。 組織がサポートする移動モードの名前を指定する必要があります。 サポートされている移動モード名のリストを取得するには、このツールへのアクセスに使用した GIS サーバー接続で、[ユーティリティ] ツールボックスの [移動モードの取得 (GetTravelModes)] ツールを実行します。[移動モードの取得 (GetTravelModes)] ツールは、アプリケーションに [サポートされている移動モード] テーブルを追加します。[サポートされている移動モード] テーブルの [Travel Mode Name] フィールドの任意の値を、入力として指定できます。Travel Mode Settings フィールドの値を入力として指定することもできます。これにより、ツールが移動モード名に基づいて設定を検索する必要がなくなるため、ツールの実行時間を短縮します。 デフォルト値 [カスタム] を使用すると、カスタム移動モード パラメーター ([ジャンクションでの U ターン]、[階層の使用]、[規制]、[属性パラメーター値]、および [インピーダンス]) を使用して、独自の移動モードを構成できます。カスタム移動モード パラメーターのデフォルト値は、自動車による移動をモデル化します。歩くのが速い歩行者や、指定された高さ、重量、および特定危険物を積載したトラックなどをモデル化する場合に、[カスタム] を選択して、上記のカスタム移動モード パラメーターを設定することもできます。必要な解析結果を取得するために、異なる設定を試すことができます。解析設定を決定したら、組織の管理者と連携して、その設定を新規または既存の移動モードの一部として保存します。これにより、組織のすべてのユーザーが同じ設定で解析を実行できます。 注意:[カスタム] を選択すると、カスタム移動モード パラメーターに設定した値が解析に組み込まれます。組織で定義されている別の移動モードを指定すると、カスタム移動モード パラメーターで設定した値は無視されます。ツールはカスタムの設定ではなく、指定した移動モードの値を適用します。 | String |
Impedance (オプション) | インピーダンスを設定します。インピーダンスは、道路セグメントや交通ネットワークのその他の部分を移動する労力やコストを表す値です。 移動時間もインピーダンスです。自動車は、空いている道路を 1 マイル移動するのに 1 分かかります。移動時間は、移動モードによって異なります。歩行者は、同じマイル数を歩くのに 20 分以上かかる可能性があります。そのため、モデル化している移動モードに対して適切なインピーダンスを選択することが重要です。 移動距離もインピーダンスになる可能性があります。道路の長さ (キロメートル) もインピーダンスと見なすことができます。この場合の移動距離は、すべてのモデルで同じです。歩行者の 1 キロメートルは、自動車でも 1 キロメートルです (変化する可能性があるのは、別のモデルでは移動が許可される通路で、ポイント間の距離に影響します。これは移動モード設定でモデル化されます)。 注意:このパラメーターに指定した値は、[移動モード] を [カスタム] (デフォルト値) に設定しなければ無視されます。 次のインピーダンス値から選択します。
[TravelTime]、[TruckTravelTime]、[Minutes]、[TruckMinutes]、[WalkTime] などの時間ベースのインピーダンスを選択する場合、[Measurement Units] パラメーターを時間ベースの値に設定する必要があります。[Miles]、[Kilometers] などの距離ベースのインピーダンスを選択する場合、[Measurement Units] が距離ベースである必要があります。 レガシー:[到達圏]、[トラック輸送時間]、[歩行時間]、[移動距離] インピーダンス値のサポートは終了するので、今後のリリースからは削除されます。これらのいずれかの値を使用している場合、時間ベースの値に対しては [時間インピーダンス] パラメーター、距離ベースの値に対しては [距離インピーダンス] パラメーターが使用されます。 | String |
Save_Output_Network_Analysis_Layer (オプション) | 解析設定をネットワーク解析レイヤー ファイルとして保存するかどうかを指定します。このファイルは、ArcMap などの ArcGIS Desktop アプリケーションで開いた場合でも、直接操作することはできません。これは、ツールから返される結果の品質を診断するために、Esri テクニカル サポートに送信されることを想定しています。
| Boolean |
Overrides (オプション) | ネットワーク解析問題の解決法を見つける場合に、解析の動作に影響を与えることができる追加設定。 JSON (JavaScript Object Notation) で、このパラメーターの値を指定する必要があります。たとえば、有効な値は {"overrideSetting1" : "value1", "overrideSetting2" : "value2"} という形式です。オーバーライド設定名は、必ず二重引用符で囲みます。値には、数値、ブール型、または文字列を使用できます。 このパラメーターのデフォルト値は、値なしであり、解析の設定を上書きしません。 オーバーライドは、設定を適用する前後で得られた結果を慎重に分析した後にのみ使用する必要のある高度な設定です。解析ごとにサポートされているオーバーライド設定の一覧およびそれらの許容される値については、Esri テクニカル サポートにお問い合わせください。 | string |
Save_Route_Data (オプション) | ルート レイヤーを ArcGIS Online または Portal for ArcGIS で共有するのに使用できる形式で、解析の入力と出力を保持するファイル ジオデータベースを含む *.zip ファイルを出力に含めるかどうかを指定します。
| Boolean |
Time_Impedance (オプション) | 時間ベースのインピーダンス。インピーダンスは、道路セグメントや交通ネットワークのその他の部分の移動時間を表す値です。 メモ:[インピーダンス] パラメーターを使用して指定された移動モードのインピーダンスが時間ベースである場合、[時間インピーダンス] パラメーターと [インピーダンス] パラメーターの値が同じである必要があります。同一でなければ、サービスはエラーを返します。 | String |
Distance_Impedance (オプション) | 距離ベースのインピーダンス。インピーダンスは、道路セグメントや交通ネットワークのその他の部分の移動距離を表す値です。 メモ:[インピーダンス] パラメーターを使用して指定された移動モードのインピーダンスが距離ベースである場合、[距離インピーダンス] パラメーターと [インピーダンス] パラメーターの値が同じである必要があります。同一でなければ、サービスはエラーを返します。 | String |
Output_Format (オプション) | 出力フィーチャを作成する形式を指定します。
[JSON ファイル] や [GeoJSON ファイル] など、ファイルベースの出力形式が指定されている場合は、ディスプレイに出力は追加されません。これは、ArcMap や ArcGIS Pro のようなアプリケーションは結果ファイルのコンテンツを描画できないからです。代わりに、結果ファイルはコンピューター上の一時ディレクトリにダウンロードされます。ArcGIS Pro でダウンロードされたファイルの場所を調べるには、プロジェクトのジオプロセシング履歴で、ツールの実行に対応するエントリの [出力結果ファイル] パラメーターの値を表示します。ArcMap でファイルの場所を調べるには、[ジオプロセシング結果] ウィンドウで、ツールの実行に対応するエントリの [出力結果ファイル] パラメーターから、ショートカット メニューの [ロケーションのコピー] オプションにアクセスします。 | String |
派生した出力
名前 | 説明 | データ タイプ |
Solve_Succeeded | 最寄り施設の検出解析が成功したかどうかを示します。 | プール型 |
Output_Routes | 施設とインシデントの間に生成された結果ルートへのアクセスを提供します。 | フィーチャ セット |
Output_Directions | 各結果ルートのターンごとのルート案内へのアクセスを提供します。 | フィーチャ セット |
Output_Closest_Facilities | 最寄り施設解析からの出力施設へのアクセスを提供します。 | フィーチャ セット |
Output_Network_Analysis_Layer | ツールのパラメーターでプロパティが構成されているネットワーク解析レイヤー。これは、マップ内でさらに詳細な解析やデバッグに使用できます。 | ファイル |
Output_Route_Data | 特定のルートに関するすべての情報を含む *.zip ファイル。 | ファイル |
Output_Incidents | 最寄り施設の検出解析の始点または終点として使用する場所へのアクセスを提供します。 | フィーチャ セット |
Output_Facilities | 解析で使用される施設。 | フィーチャ セット |
Output_Result_File | 解析結果を含んでいる *.zip ファイル。出力ごとに 1 つ以上のファイルが含まれます。個々のファイルの形式は [出力形式] パラメーターで指定されます。 | ファイル |
コードのサンプル
次の Python スクリプトは、 Find Closest Facilities ツールをスクリプトで使用する方法を示しています。
"""This example shows how to find three closest stores from each customer location."""
import sys
import time
import arcpy
# Change the username and password applicable to your own ArcGIS Online account
username = "<your user name>"
password = "<your password>"
cf_service = "https://logistics.arcgis.com/arcgis/services;World/ClosestFacility;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox.
# Check https://pro.arcgis.com/en/pro-app/2.6/arcpy/functions/importtoolbox.htm for
# other ways in which you can specify credentials to connect to a geoprocessing service.
arcpy.ImportToolbox(cf_service)
# Set the variables to call the tool
facilities = "C:/data/Inputs.gdb/Stores"
incidents = "C:/data/Inputs.gdb/Customers"
output_routes = "C:/data/Results.gdb/Routes"
output_closest_facilities = "C:/data/Results.gdb/ClosestStores"
# Call the tool
result = arcpy.FindClosestFacilities_ClosestFacility(incidents, facilities, "Minutes", "", 3)
arcpy.AddMessage("Running the analysis with result ID: {}".format(result.resultID))
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Save the output routes and the closest facilities to a geodatabase
result.getOutput(0).save(output_routes)
result.getOutput(3).save(output_closest_facilities)
次に、カスタム移動モードを使用して最寄り施設の検出の解析を行う方法を例示します。
"""This example shows how to perform a closest facility analysis using a custom travel mode
that models trucks carrying wide load."""
import sys
import time
import json
import arcpy
username = "<your user name>"
password = "<your password>"
cf_service = "https://logistics.arcgis.com/arcgis/services;World/ClosestFacility;{0};{1}".format(username, password)
# Add the geoprocessing service as a toolbox
arcpy.ImportToolbox(cf_service)
# Set the variables to call the tool
facilities = "C:/data/Inputs.gdb/Stores"
incidents = "C:/data/Inputs.gdb/Customers"
output_routes = "C:/data/Results.gdb/Routes"
output_closest_facilities = "C:/data/Results.gdb/ClosestStores"
# Change Vehicle Width attribute parameter value to 4.5 (about 15 feet) for the Trucking Time travel mode
# used for the analysis
portal_url = "https://www.arcgis.com"
arcpy.SignInToPortal(portal_url, username, password)
travel_mode_list = arcpy.na.GetTravelModes(portal_url)
tt = travel_mode_list["Trucking Time"]
tt_json = str(tt)
tt_dict = json.loads(tt_json)
tt_dict["restrictionAttributeNames"].append("Width Restriction")
for attr_param in tt_dict["attributeParameterValues"]:
if attr_param['attributeName'] == 'Width Restriction' and attr_param['parameterName'] == 'Vehicle Width (meters)':
attr_param['value'] = 4.5
travel_mode = json.dumps(tt_dict)
# Call the tool
result = arcpy.FindClosestFacilities_ClosestFacility(incidents, facilities, "Minutes", "", 2,
Travel_Mode=travel_mode)
# Check the status of the result object every 1 second until it has a
# value of 4 (succeeded) or greater
while result.status < 4:
time.sleep(1)
# print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
arcpy.AddError("An error occured when running the tool")
arcpy.AddError(result.getMessages(2))
sys.exit(2)
elif result_severity == 1:
arcpy.AddWarning("Warnings were returned when running the tool")
arcpy.AddWarning(result.getMessages(1))
# Save the output routes and the closest facilities to a geodatabase
result.getOutput(0).save(output_routes)
result.getOutput(3).save(output_closest_facilities)