サマリー
この ArcGIS Online サービスは、施設の周囲にネットワーク到達圏を生成します。到達圏ネットワークは、1 つ以上の施設から、指定した距離または移動時間内でアクセスできる道路をすべて含む領域です。たとえば、ある施設の 10 分間の到達圏には、その施設から 10 分以内に到達できるすべての道路が含まれます。
通常、到達圏は、アクセシビリティの表示と計測に使用されます。たとえば、食料品店から 3 分の走行時間のポリゴンで、3 分以内にその店に到達可能な居住者、つまりその店で買い物をする可能性の高い居住者を特定できます。
図
使用法
[Break Units] パラメーターに時間の単位を設定した場合は、運転時間エリアが作成されます。同様に、[Break Units] に距離の単位を設定した場合は、走行距離エリアが作成されます。最大で 300 分または 300 マイル (482.80 キロメートル) の到達圏を生成できます。詳細なポリゴンを生成する場合、到達圏の最大サイズは、15 分と15 マイル (24.14 キロメートル) に制限されます。
ツールを正しく実行するには、施設を少なくとも 1 つ指定する必要があります。施設は最大 1,000 件まで読み込めます。
最大で 250 のポイント バリアを追加できます。ライン バリアまたはポリゴン バリアは必要なだけ追加できますが、ライン バリアが交差する道路フィーチャは 500 以下にする必要があり、ポリゴン バリアが交差するフィーチャは 2,000 以下にする必要があります。
結果を短時間で生成できるように、解析時に道路階層を使用することもできます。ただし、ソリューションの精度はやや劣ります。
[階層を使用] パラメーターがオン (True) であるかどうかにかかわらず、最大ブレーク値が 240 分または 240 マイル (386.24 キロメートル) を超えている場合は、常に階層が使用されます。出力される到達圏が重なり合わず、ジェネラライズされない場合は、この制限値は 15 分と 15 マイル (24.14 キロメートル) に下がります。
入力したポイントと通行可能な最も近い道路の距離が 12.42 マイル (20 キロメートル) を超える場合、そのポイントは解析から除外されます。
このツールは、ArcGIS Pro、ArcMap、ArcGlobe、および ArcScene で実行されるよう設計されていますが、ArcCatalog では使用できません。
構文
GenerateServiceAreas_naagol (Facilities, Break_Values, Break_Units, {Analysis_Region}, Travel_Direction, Time_of_Day, Use_Hierarchy, UTurn_at_Junctions, Polygons_for_Multiple_Facilities, Polygon_Overlap_Type, {Detailed_Polygons}, Polygon_Trim_Distance, Polygon_Simplification_Tolerance, Point_Barriers, {Line_Barriers}, Polygon_Barriers, Restrictions, {Attribute_Parameter_Values}, {Time_Zone_for_Time_of_Day}, {Travel_Mode}, {Impedance}, {Service_Areas})
パラメーター | 説明 | データ タイプ |
Facilities | 周辺に到達圏が作成される施設。施設は最大 1,000 件まで読み込めます。 施設フィーチャ セットには、属性テーブルが関連付けられています。属性テーブルの各フィールドとその説明を以下に示します。 ObjectID: システムで管理される ID フィールド。 Name: 施設の名前。名前を指定しない場合は、解析の実行時に名前が自動的に生成されます。 [同じ範囲のポリゴンをマージ] パラメーターが [オーバーラップを許可] または [オーバーラップを許可しない] に設定されている場合は、入力施設のすべてのフィールドが出力ポリゴンに含まれます。入力施設の [ObjectID] フィールドが、出力ポリゴンの [FacilityOID] フィールドに転送されます。 | Feature Set |
Break_Values | 施設ごとに作成される到達圏ポリゴンのサイズと数を指定します。単位は [ブレークの単位] の値によって決まります。 複数のポリゴンのブレーク値を設定することで、同心状の到達圏を施設ごとに作成できます。たとえば、各施設について 2 マイル、3 マイル、および 5 マイルの到達圏を生成する場合は、「2 3 5」のように各値を半角スペースで区切って入力し、[ブレークの単位] を [マイル] に設定します。指定するブレーク値の数に制限はありません。 ブレーク値の最大サイズは、300 分または300 マイル (482.80 キロメートル) を超えることはできません。詳細なポリゴンを生成する場合、到達圏の最大サイズは、15 分と15 マイル (24.14 キロメートル) に制限されます。 | String |
Break_Units | [ブレーク値] パラメーターの単位。 このパラメーターで選択した単位により、到達圏を作成する際に走行距離と運転時間のどちらを測定するかが決まります。運転時間を測定する場合は、時間の単位を選択します。走行距離を測定する場合は、距離の単位を選択します。結果にレポートされる運転時間または走行距離の合計の単位も、この選択によって決まります。選択できる単位は次のとおりです。
| String |
Analysis_Region (オプション) | 解析を実行する地域を指定します。このパラメーターに値を指定しない場合、入力ポイントの位置に基づいて地域名が自動的に計算されます。ツールの実行速度を上げるため、地域名を設定することをお勧めします。地域を指定するには、次のいずれかの値を使用します。
| String |
Travel_Direction | 到達圏ポリゴンを生成する際の移動方向を、施設に向かう方向または施設から離れる方向のいずれかに指定します。
道路の両側でインピーダンスが異なる場合や、一方通行の規制 (一方通行の道路など) がある場合は、移動方向によってポリゴンの形状が違ってくることがあります。方向は、到達圏解析の目的に応じて選択する必要があります。たとえば宅配ピザの到達圏であれば、施設から離れる方向に作成され、病院の到達圏であれば、施設に向かう方向に作成されます。 | String |
Time_of_Day |
施設からの出発時間または施設への到着時間。この値の解釈は、移動方向が施設への到着である場合と施設からの出発である場合で異なります。
[Time Zone for Time of Day] パラメーターを使用して、この日時が UTC を参照するか、施設の場所のタイム ゾーンを参照するかを指定できます。 同じ解析を [Time of Day] の値を変えて繰り返し実行します。これにより、時間の経過に伴う施設の到着時間の変化を確認できます。たとえば、消防署から 5 分以内に到達できる到達圏は、早朝には大きくなり、混雑する朝の時間帯は縮小し、朝の遅い時間帯には拡大するなど、1 日を通して変化します。 | Date |
Use_Hierarchy | 施設とインシデント間の最適なルートを検索する際に、階層を使用するかどうかを指定します。
[階層を使用] パラメーターがオン (True) であるかどうかにかかわらず、最大ブレーク値が 240 分または 240 マイル (386.24 キロメートル) を超えている場合は、常に階層が使用されます。 | Boolean |
UTurn_at_Junctions | 到達圏を生成する際に、ジャンクションでの U ターンを規制または許可する場合は、このパラメーターを使用します。パラメーターの値を理解するために、ここでは次のような用語を使用します。ジャンクションは道路セグメントが終了するポイントを表し、一般的には 1 つ以上の別のセグメントに接続されます。疑似ジャンクションは 2 つの道路が相互に接続されるポイントです。交差点は 3 つ以上の道路が接続する場所を表し、行き止まりは道路セグメントが他の道路に接続せずに終了している場所を表します。これらの情報を基に、パラメーターには次の値を指定できます。
| String |
Polygons_for_Multiple_Facilities | 解析で複数の施設が存在する場合の、到達圏ポリゴンの作成方法を選択します。
[オーバーラップを許可] または [オーバーラップを許可しない] を使用する場合は、入力施設のすべてのフィールドが出力ポリゴンに含まれます。ただし、入力された [ObjectID] フィールドの値は出力ポリゴンの [FacilityOID] フィールドに転送されます。ブレーク値によりマージするときに [FacilityOID] フィールドは NULL になり、入力フィールドは出力に含まれません。 | String |
Polygon_Overlap_Type | 同心状の到達圏ポリゴンをディスク状に作成するか、またはリング状に作成するかを指定します。このオプションは、複数のブレーク値が施設に対して指定されている場合にのみ適用できます。
| String |
Detailed_Polygons (オプション) | 詳細ポリゴンはたは単純化ポリゴンを作成するオプションを指定します。
施設がある市街地の道路網が格子状であれば、単純化されたポリゴンと詳細なポリゴンの違いはあまりありません。一方、施設が山間部の道路や地方の道路を含む地域にある場合は、単純化された到達圏よりも詳細な到達圏を使用した方が、結果の精度は大きく向上します。 詳細ポリゴンの単純化は、[ブレーク値] パラメーターに指定した最大値が 15 分または 15 マイル (24.14 キロメートル) 以下の場合にのみサポートされます。 | Boolean |
Polygon_Trim_Distance | 到達圏ポリゴンが切詰められる距離の範囲を指定します。道路網の密度が低い場所で到達圏を検索する際に、道路フィーチャのない広いエリアを到達圏に含めたくない場合に有効です。 デフォルト値は 100 メートルです。このパラメーターの値が指定されないか、値が 0 の場合、到達圏ポリゴンは切詰められません。このパラメーター値は、階層の使用時には無視されます。 | Linear unit |
Polygon_Simplification_Tolerance | ポリゴン ジオメトリをどの程度単純化するかを指定します。 単純化では、ポリゴンの基本的な形状を定義する重要な頂点が保持され、それ以外の頂点は削除されます。ここで指定する単純化の距離は、単純化されたポリゴン境界と元のポリゴン境界の間で許容されるずれを表す最大オフセットです。ポリゴンを単純化すると、頂点の数が減ることにより、描画時間が低減する傾向があります。 | Linear unit |
Point_Barriers | 一時的な規制として機能する 1 つ以上のポイント、または対象の道路を通行するために必要とされる追加の時間や距離を表す 1 つ以上のポイントを指定します。たとえば、ポイント バリアを使用して、道路沿いの倒木や、踏切で生じる遅延時間を表すことができます。 このツールでは、バリアとして追加できるポイントの数は 250 に制限されています。 ポイント バリアを指定する場合は、属性を使用して、各ポイント バリアのプロパティ (ポイント バリアの名前やバリアの種類など) を設定できます。ポイント バリアには、次の属性を指定できます。 Name: バリアの名前。 BarrierType: ポイント バリアの通過を完全に禁止するか、通過時に時間または距離を追加するかを指定します。この属性の値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
Additional_Time: バリアを通過するときに追加される移動時間の値を指定します。このフィールドは、[ブレークの単位] の値が時間ベースの場合に限り、追加コスト バリアに対してのみ適用されます。このフィールドの値は 0 以上である必要があり、その単位は [ブレークの単位] パラメーターで指定された単位と同じです。 Additional_Distance: バリアを通過するときに追加される距離の値を指定します。このフィールドは、[ブレークの単位] の値が距離ベースの場合に限り、追加コスト バリアに対してのみ適用されます。このフィールドの値は 0 以上である必要があり、その単位は [ブレークの単位] パラメーターで指定された単位と同じです。 | Feature Set |
Line_Barriers (オプション) |
道路と交差しているラインの場所を移動できないようにする 1 つ以上のラインを指定します。たとえば、複数の道路区間にわたって通行禁止となるパレードやデモを表すときに通過不可ライン バリアを使用します。また、ライン バリアを使用すれば、道路網の特定の区間を迂回して利用できる経路をすばやく見つけることができます。 このツールでは、[ライン バリア] パラメーターを使用して規制できる道路の数に制限があります。ライン バリアとして指定できるラインの数に制限はありませんが、すべてのラインと交差する道路の総数が 500 を超えることはできません。 ライン バリアを指定する場合は、次の属性を使用して、各ライン バリアの名前プロパティを設定できます。 Name: バリアの名前。 | Feature Set |
Polygon_Barriers | 通過を完全に禁止するポリゴン、またはそのポリゴンと交差する道路を移動するときに時間または距離が係数に基づいて乗算されるポリゴンを指定します。 このサービスでは、[ポリゴン バリア] パラメーターを使用して規制できる道路の数に制限があります。ポリゴン バリアとして指定できるポリゴンの数に制限はありませんが、すべてのポリゴンと交差する道路の総数が 2,000 を超えることはできません。 ポリゴン バリアを指定する場合は、属性を使用して、各ポリゴン バリアのプロパティ (ポリゴン バリアの名前やバリアの種類など) を設定できます。ポリゴン バリアには、次の属性を指定できます。 Name: バリアの名前。 BarrierType: バリアの通過を完全に禁止するか、バリアを通過する際の時間または距離を係数に基づいて計算するかを指定します。このフィールド値は、次のいずれかの整数として指定されます (括弧で囲まれた名前ではなく、数値コードを使用します)。
ScaledTimeFactor: これは、バリアが交差している道路の移動時間に乗算する係数です。このフィールドは、[ブレークの単位] の値が時間ベースの場合に限り、コスト係数指定バリアに対してのみ適用されます。このフィールドには 0 より大きい値を指定する必要があり、その単位は [ブレークの単位] パラメーターで指定された単位と同じです。 ScaledDistanceFactor: これは、バリアが交差している道路の距離に乗算する係数です。この属性は、[ブレークの単位] の値が距離ベースの場合に限り、コスト係数指定バリアに対してのみ適用されます。この属性には 0 より大きい値を指定する必要があります。 | Feature Set |
Restrictions | 到達圏を解析する場合に、ツールがどの交通規制を優先する必要があるかを指定します。 規制は、運転上の優先事項や要件を表します。ほとんどの場合は、規制により道路は通行禁止になります。たとえば、[Avoid Toll Roads] の規制を使用すると、ルートに有料道路が含まれるのは、インシデントまたは施設を訪問するために有料道路の使用が不可欠な場合のみになります。[Height Restriction] は、車両の高さより低い車高規制の場所を迂回できるようにします。車両に腐食性物質を積載している場合は、[Any Hazmat Prohibited] の規制を使用して、腐食性物質の運搬が法律で禁止されている道路の通行を回避します。 詳細なポリゴンを生成するときに、禁止された道路は到達圏ポリゴンに含まれていないので、穴状の通行不可能な領域を持つポリゴンが生成される可能性があります。ただし、一般的な到達圏または階層を使用した到達圏を生成するときに、規制された道路が通行可能な道路によって完全に囲まれている場合、規制された道路は単純化された到達圏ポリゴンに含まれます。 以下に、利用可能な規制のリストと簡単な説明を示します。
ツールは、次の規制をサポートしています。
| String |
Attribute_Parameter_Values (オプション) |
いくつかの規制に必要な追加の値を指定します。たとえば、[Weight Restriction] に対する車両の重量などです。この属性パラメーターを使用して、規制を使用する道路上の移動が、規制によって禁止されるか、回避されるか、優先されるかを指定することもできます。規制が道路を回避または優先するためのものである場合は、このパラメーターを使用して道路が回避または優先される度合いも指定できます。たとえば、有料道路を決して使用しないこと、できるだけ避けること、または可能な限り優先することを選択できます。 フィーチャクラスから [属性パラメーター値] パラメーターを指定する場合は、フィーチャクラスのフィールド名が、次に説明するフィールドと一致する必要があります。 AttributeName: 規制の名前のリスト。 ParameterName: 規制に関連付けられたパラメーターの名前のリスト。規制は、その使用目的に基づいて、1 つまたは複数の ParameterName フィールド値を持つことができます。 ParameterValue: 規制を評価するときにツールによって使用される ParameterName の値。 [属性パラメーター値] は、[規制] パラメーターに依存します。[ParameterValue] フィールドは、規制の名前が [規制] パラメーターの値として指定されている場合に限り適用できます。 [属性パラメーター値] では、[AttributeName] で指定した各規制の [ParameterName] フィールドに [規制の使用] という値があります。この値は、規制に関連付けられた道路での移動を禁止、回避、または優先するかどうか、および道路を回避または優先する場合のレベルを指定します。[ParameterName] フィールドの [規制の使用] の値には、次のいずれかの文字列、またはそれぞれの括弧に示した数値を割り当てることができます。
ほとんどの場合、車両の特徴 (車両の高さなど) に依存する規制であれば、[規制の使用] にデフォルト値 (PROHIBITED) を使用できます。ただし、[規制の使用] の値がルートの優先度に依存している場合もあります。たとえば、[Avoid Toll Roads] の規制では、[規制の使用] パラメーターのデフォルト値は [AVOID_MEDIUM] になります。つまり、この規制を使用すると、可能な場合は有料道路を回避するルートが検索されます。また、[AVOID_MEDIUM] は、最適なルートを検索する際に有料道路を回避することの重要度も表しています (中程度の優先度)。[AVOID_LOW] を選択すると、有料道路を回避する重要度が下がります。AVOID_HIGH を選択すると重要度が上がり、有料道路を回避するためにより長い距離のルートも生成可能になります。[PROHIBITED] を選択すると有料道路の通行は完全に禁止され、ルートでは有料道路のいずれの部分も通行できなくなります。有料道路を回避または禁止する (つまり、料金の支払いを避ける) ことが目的となる場合もありますが、運転手によっては、通行料を払うよりも渋滞を避けることに価値があると考えて、有料道路の使用を優先する場合もあります。後者の場合は、[規制の使用] として [PREFER_LOW]、[PREFER_MEDIUM]、または [PREFER_HIGH] を選択できます。優先度が高いほど、規制に関連付けられている道路を通行するために遠回りするようになります。 | Record Set |
Time_Zone_for_Time_of_Day (オプション) |
[Time of Day] パラメーターのタイム ゾーンを指定します。
[Time Zone for Time of Day] の設定に関係なく、[Time of Day] に NULL 以外の値が設定されており、マージされたポリゴンまたは重複しないポリゴンを作成するように [Polygons for Multiple Facilities] が設定されている場合は、すべての施設が同じタイム ゾーンに存在する必要があります。 | String |
Travel_Mode (オプション) | 解析でモデル化する交通モードを選択します。
カスタム トラック モードをモデル化する場合、次の手順に従います。
特定のルート検索要件を持つ歩行者をモデル化する場合は、カスタム トラック モードの設定と同じ手順に従いますが、次の点が異なります。
| String |
Impedance (オプション) | インピーダンスを設定します。インピーダンスは、道路セグメントや交通ネットワークのその他の部分を移動する労力やコストを表す値です。 移動距離はインピーダンスです。道路の長さ (キロメートル) もインピーダンスと見なすことができます。この場合の移動距離は、すべてのモデルで同じです。歩行者の 1 キロメートルは、自動車でも 1 キロメートルです (変化する可能性があるのは、別のモデルでは移動が許可される通路で、ポイント間の距離に影響します。これは移動モード設定でモデル化されます)。 移動時間もインピーダンスになる可能性があります。自動車は、空いている道路を 1 マイル移動するのに 1 分かかります。移動時間は、移動モードによって異なります。歩行者は、同じマイル数を歩くのに 20 分以上かかる可能性があります。そのため、モデル化している移動モードに対して適切なインピーダンスを選択することが重要です。 次のインピーダンス値から選択します。
このパラメーターに指定した値は、[移動モード] を [カスタム] (デフォルト値) に設定しなければ無視されます。 [到達圏]、[トラック輸送時間]、または [歩行時間] を選択した場合、[計測単位] パラメーターは時間ベースの値に設定する必要があります。[インピーダンス] に [移動距離] を選択した場合、[計測単位] は距離ベースにする必要があります。 | String |
Service_Areas (オプション) | このパラメーターは無視してください。内部的な目的のみで使用されます。 | Feature Class |
コードのサンプル
GenerateServiceAreas (到達圏の生成) の例
次の Python スクリプトは、GenerateServiceAreas (到達圏の生成) ツールをスクリプトで使用する方法を示しています。
import arcpy
import time
import sys
username = "<your user name>"
password = "<your password>"
sa_service = "http://logistics.arcgis.com/arcgis/services;World/ServiceAreas;{0};{1}".format(username, password)
#Add the geoprocessing service as a toolbox. Use an alias when importing
arcpy.ImportToolbox(sa_service, "agol")
#Set the variables to call the tool
facilities = r"C:/data/Inputs.gdb/Stores"
output_service_areas = "C:/data/Results.gdb/StoreServiceAreas"
#Call the tool
result = arcpy.agol.GenerateServiceAreas(facilities, "5 10 15", "Minutes")
#Check the status of the result object every 0.5 seconds
#until it has a value of 4(succeeded) or greater
while result.status < 4:
time.sleep(0.5)
#print any warning or error messages returned from the tool
result_severity = result.maxSeverity
if result_severity == 2:
print "An error occured when running the tool"
print result.getMessages(2)
sys.exit(2)
elif result_severity == 1:
print "Warnings were returned when running the tool"
print result.getMessages(1)
#Get the output routes and save to a local geodatabase
result.getOutput(0).save(output_service_areas)
環境
このツールはジオプロセシング環境を使用していません