Network Analyst のライセンスで利用可能。
アイテム | 説明 |
---|---|
目的 | 特定の移動モードで入力ポイント間の移動方向を生成します。この例では、ネットワーク解析を実行できるジオプロセシング サービスを作成、公開、使用する方法について説明します。 |
サービス | TravelDirections (ジオプロセシング サービス) |
Web ツール | [GetTravelDirections] |
入力 |
|
出力 | 移動方向とルートの形状を含むフィーチャクラス |
データ | ToolData フォルダーで提供されるカリフォルニア州サンディエゴ エリアの道路ネットワーク データセット |
ArcGIS の最小ソフトウェア要件 |
|
備考 | 移動モードに基づいて移動方向を生成するための Web ツールを作成、公開、使用するために必要な基本手順について示します。同様の手順を使用して、一連の施設を中心とする到達圏の生成など、他のタイプの交通ネットワーク解析のための Web ツールも作成できます。 |
[GetTravelDirections] ツール
[GetTravelDirections] ツールの主な目的は、特定の移動モードに基づいてユーザーが指定したポイントを中心とする移動方向を生成することです。このツールは、入力ポイント間の最適ルートを示す出力ライン フィーチャクラスと、ルート案内のための移動方向を含むテキストを作成します。
下の表は、[GetTravelDirections] ツールによって作成される出力フィーチャクラスの列の一部を示しています。ElapsedTime 列の値は、解析に使用する移動モードで定義された時間インピーダンス属性の単位 (この例では分) で示されており、DriveDistance 列の値は、移動モードで定義された距離インピーダンス属性の単位 (この例ではマイル) で示されています。
GetTravelDirections ツールの出力から選択された列
Text | ElapsedTime | DriveDistance |
---|---|---|
Stop A からルートを開始します | 0 | 0 |
BRITANNIA BLVD を北に進み、OTAY MESA RD に向かいます | 1.04 | 0.64 |
右に曲がって OTAY MESA RD に入ります | 1.83 | 2.44 |
CA-905 に向けてそのまま進みます | 0.29 | 0.39 |
OTAY MESA RD に向けてそのまま進みます | 0.04 | 0.06 |
分岐点で左側を維持し、OTAY MESA RD を進みます | 0.16 | 0.1 |
左折 | 0.04 | 0.02 |
CA-125 に向けてそのまま進みます | 7.17 | 10.41 |
右側の Stop B でルートを終了します | 0 | 0 |
データ フォルダー
このチュートリアルのデータは、ArcGIS Online からダウンロードできます。そのデータを C:\Routing\TravelDirections に解凍します。このフォルダーには、ArcGIS Pro プロジェクト (TravelDirections.aprx) も含まれています。このプロジェクトでは、TravelDirections.tbx ツールボックスに、移動方向を生成する [GetTravelDirections] という名前のツールが含まれています。[GetTravelDirections] ツールで使用する交通ネットワーク (Streets_ND) は、ToolData フォルダーにある SanDiego.gdb という名前のファイル ジオデータベースに格納されています。ネットワーク データセットは、プロジェクト内のデフォルト マップに Street Network と呼ばれるレイヤーとして追加されます。schema.gdb ジオデータベースには、Stops.lyrx レイヤー ファイルによって参照される Stops フィーチャクラスが含まれています。このレイヤー ファイルを使用して、[GetTravelDirections] ツールで使用する入力ストップのスキーマとシンボルが定義されます。
ジオプロセシング ツールの作成
[GetTravelDirections] ジオプロセシング ツールは、特定の機能 (この例では、移動方向の生成) を提供するために使用するスクリプト ツールの一例です。このツールを実行すると、ユーザーがファイルに記述し、スクリプト ツールと関連付けた Python コードが実行されます。この例では、[GetTravelDirections] ツールの Python コードは get_directions.py ファイルに記述されています。スクリプト ツールの入出力はツール パラメーターと呼ばれるもので、ArcGIS Pro の [新しいスクリプト] ダイアログ ボックスを使用して定義します。
ツール パラメーターの定義
以下の図は、[GetTravelDirections] ツールに対して定義されたさまざまなパラメーターを示しています。
このツールでは、stops パラメーターに Feature Set データ タイプを使用します。これにより、入力ストップを対話的に指定する機能が追加されます。フィーチャ セットのスキーマとシンボルは、ToolData フォルダーにあるStops.lyrx ファイルから定義されます。これにより、ポイント ジオメトリを使用しないと入力ストップを指定できないようにする制限を適用することができ、入力でサポートされる一連の属性フィールドを事前に定義することもできます。スキーマを定義しない場合は、サービスのユーザーがフィーチャ セットに任意のジオメトリ タイプを指定できます。
メモ:
フィーチャ セットのスキーマを指定しても、サービスのユーザーがサポートされていないフィールドを渡すことを防ぐわけではありません。ツールの実装において、サービスに設定されるすべての入力フィールドをリストし、スキーマで定義されていないフィールドを取得した場合のツールの動作を定義することができます。ほとんどの場合、スキーマで定義されていないフィールドは無視できます。
このツールでは、network_dataset パラメーターに Network Dataset Layer データ タイプを使用します。これにより、マップのネットワーク データセット レイヤーを使用してネットワーク データセットを指定できます。ネットワーク データセットを指定するために有効なその他のデータ タイプは、Network Dataset と Network Data Source です。Network Data Source データ タイプを使用すると、ディスク上、マップからのネットワーク データセット レイヤー、またはルート検索サービスで設定された ArcGIS Online または ArcGIS Enterprise ポータルへの URL にネットワーク データセットを指定できます。この例では、解析の実行にポータルからのルート検索サービスは使用しないので、Network Data Source データ タイプは選択しません。Network Dataset データ タイプを使用すると、ディスク上の位置へのパスを使用することでのみネットワーク データセットを指定できます。[GetTravelDirections] ツールはパスを使用して指定されたネットワーク データセットで機能しますが、これは推奨されません。リクエストのたびにツールがネットワーク データセットに接続され、速度の低下とリクエストへの応答時間の増大を招くからです。
ヒント:
ネットワーク データセット レイヤーを使用すると、ツール全体の実行時間が改善されます。ネットワーク データセット レイヤーではネットワーク データセットへの接続が開かれたままになるからです。ディスク上の位置へのパスによってネットワーク データセットが参照された場合、ツールを実行するたびにネットワーク データセットへの接続が確立されるため、ツールから作成されるジオプロセシング サービスのパフォーマンスが低下します。
このツールでは、travel_mode パラメーターに Network Travel Mode データ タイプを使用します。network_dataset パラメーターは、network_travel_mode パラメーターの依存関係として設定されます。このため、ツールはネットワーク データセットで定義された移動モードを読み込み、それらの名前を travel_mode パラメーターでサポートされた可能な値のリストとして設定します。
このツールでは、start_time パラメーターに Date データ タイプを使用します。このパラメーターはオプションで、デフォルト値が定義されません。ツールの実装において、start_time パラメーターに値が渡されると、その値を使用して、その日時の値に観察された履歴交通量パターンに基づいて移動速度を使用する移動時間が計算されます。start_time パラメーターに値が渡されない場合、ツールは固定の移動速度に基づいて移動時間を計算します。
このツールでは、output_directions パラメーターに Feature Class データ タイプを使用します。このパラメーターは、その Direction プロパティを設定することで、出力パラメーターとしてマークされます。このパラメーターのデフォルト値は、出力がメモリベースのワークスペース内のフィーチャクラスに書き込まれることを指定します。
ヒント:
出力をメモリベースのワークスペースに書き込むと、ファイル ジオデータベースに書き込む場合と比べて、スクリプト ツールから作成されるジオプロセシング サービスのパフォーマンスが向上します。ほとんどの場合、ネットワーク解析を実行するジオプロセシング ツールからの出力は、メモリベースのワークスペースに書き込む必要があります。出力をファイル ジオデータベースに書き込む必要があるのは、ジオプロセシング サービスを実行しているサーバー コンピューターのメモリに格納できないほど大容量の出力が、ツールによって生成されることがわかっている場合です。
ツールのドキュメント化
ジオプロセシング ツールをドキュメント化することによって、サービス公開プロセスでそのテキストがサービスのアイテム説明にコピーされるため、結果サービスおよびそのパラメーターもドキュメント化されます。サービスを説明する、つまりドキュメント化することは必要であり、サービスを適切に操作して移動方向を生成する方法をユーザーに理解させるのに役立ちます。この例で使用する [GetTravelDirections] ツールはドキュメント化されています。[カタログ] ウィンドウ内のジオプロセシング ツールを右クリックし、[メタデータの表示] を選択することによって、それを参照できます。
ツール実行の定義
ジオプロセシング サービスにリクエストが送信されると、サービスの背後のツールが、そのツールと関連付けられている Python スクリプト ファイルを実行します。このスクリプト ファイルで、ツールの実装を定義します。以下のコード スニペットは、[GetTravelDirections] ツールの実装を定義する Python コードを示しています。このスクリプトは、arcpy.nax モジュールの Route クラスを使用してポイントツーポイントのルート検索を実行し、移動方向を生成しています。
以下のコード スニペットには、ツール フォルダーに含まれる get_directions.py ファイルのコンテンツが含まれています。これは、ポイントツーポイントのルート検索を実行し、移動方向をフィーチャクラスにエクスポートする方法を示しています。任意のタイプのネットワーク解析 (ここに示すポイントツーポイントのルート検索を含む) を実行するための一般的なパターンは、解析に固有の解析クラスを初期化し、解析の設定を行い、入力を読み込み、解析を実行して、結果をエクスポートするというものです。ソース コードのコメント (行の先頭に # があるもの) は、ツールのパフォーマンスを最適化するためのいくつかのヒントを含む、実装に関する詳細情報を提供しています。
"""Generate travel directions based on a travel mode."""
import arcpy
def get_directions():
"""Generate travel directions based on a travel mode."""
# Read inputs
stops = arcpy.GetParameter(0)
# Performance tip: The network data source should be read using the arcpy.GetParameterAsText()
# method instead of the arcpy.GetParameter() method since GetParameterAsText provides
# access to the network data source much faster
network_data_source = arcpy.GetParameterAsText(1)
travel_mode = arcpy.GetParameter(2)
start_time = arcpy.GetParameter(3)
output_directions = arcpy.GetParameterAsText(4)
# Initialize Route solver and set analysis settings
route_solver = arcpy.nax.Route(network_data_source)
route_solver.travelMode = travel_mode
route_solver.timeOfDay = start_time
route_solver.returnDirections = True
# Load inputs
route_solver.load(arcpy.nax.RouteInputDataType.Stops, stops)
# Solve. A network analyst license is required when solving
arcpy.CheckOutExtension("network")
result = route_solver.solve()
# Print all the warning and error messages in case the solve is not successful
if not result.solveSucceeded:
arcpy.AddMessage("Solve failed")
warning_msgs = result.solverMessages(arcpy.nax.MessageSeverity.Warning)
error_msgs = result.solverMessages(arcpy.nax.MessageSeverity.Error)
for msg in warning_msgs:
arcpy.AddWarning(msg[-1])
for msg in error_msgs:
arcpy.AddError(msg[-1])
raise SystemExit(1)
# Export the directions
result.export(arcpy.nax.RouteOutputDataType.Directions, output_directions)
if __name__ == "__main__":
get_directions()
メモ:
上のコード スニペットは、arcpy.nax モジュールを使用してポイントツーポイントのルート検索を実装する方法を示しています。ただし、このコード スニペットに示されたパターンは、arcpy.nax モジュールを使用する他のすべての解析にも適用できます。
ツールを Web ツールとして公開
[GetTravelDirections] ツールからサービスを作成するには、ツールを Web ツールとして公開する必要があります。このためには、まずツールを正常に実行し、ArcGIS Pro の [Web ツールとして共有] ウィンドウを使用してツールの結果を共有する必要があります。
ツールの実行
[GetTravelDirections] ツールを実行するには、次の手順に従います。
- ArcGIS Pro で TravelDirections プロジェクトを開きます。
- TravelDirections ツールボックスで、[GetTravelDirections] ジオプロセシング ツールを開きます。
- [GetTravelDirections] ツールを実行します。
- [ストップ] パラメーターでは、マップのサンディエゴ エリアに少なくとも 2 つのストップを作成します。
- [ネットワーク データセット] パラメーターでは、マップに追加する道路ネットワーク レイヤーを選択します。
道路ネットワーク レイヤーを指定し、ディスク上の位置を使用してネットワーク データセットを指定しないことで、ツールから作成されるジオプロセシング サービスで最適なパフォーマンスが実現します。
- [移動モード] パラメーターでは、[運転時間] などの選択肢から移動モードを選択します。
[移動モード] パラメーターの選択リストには、ネットワーク データセットにある移動モード名が示されます。[移動モード] パラメーターを定義するときに [ネットワーク データセット] パラメーターを依存関係として設定したからです。
- [開始時間] パラメーターには値を指定しないでください。
[開始時間] パラメーターに値を指定すると、ツールから作成されたサービスが、移動方向の生成時にこの開始時間をデフォルトの開始時間として使用することになります。サービスのユーザーは日時を渡すことが多いので、そういうユーザーにとってこのことは望ましくない可能性があります。
- [出力ルート] パラメーターについてはデフォルト値のままにします。
[出力ルート] パラメーターのデフォルト値では、ツールからの出力がメモリベースのワークスペースに書き込まれます。これにより、ツールから作成されたサービスのパフォーマンスが向上します。
- [実行] ボタンをクリックして、このツールを実行します。
ネットワーク データセットを含むフォルダーをデータ ストアとして登録
[GetTravelDirections] ツールで使用するネットワーク データセットは、ArcGIS Server サイトに属しているすべてのコンピューターからアクセス可能にする必要があります。これは次のいずれかの方法で実行できます。
- 公開プロセスによって、属しているすべてのコンピューターからアクセス可能な ArcGIS Server サイト内の場所にネットワーク データセットをコピーできるようにします。
- ネットワーク データセットを、事前定義された場所にある所属するすべてのコンピューターにコピーして、サービスがこの場所からデータを参照できるようにします。
推奨されるオプションは、事前定義された場所 (D:\RoutingData など) にある所属するすべてのコンピューターにネットワーク データセットを手動でコピーすることです。この方法は使用可能な 2 つのオプションのうち、より労力がかかる方と思われるかもしれませんが、こちらの方が効果的で、サービスのパフォーマンスも向上します。
データの場所には、すべてのコンピューターに共通のファイル共有ではなく、属している各コンピューターにローカルな場所を選択します。ファイル共有ではなくローカル フォルダーにネットワーク データセットを保存することで、ルート検索サービスのパフォーマンスが向上します。たとえばデータの新しいバージョンを受信した場合などに、ネットワーク データセットを更新するには、ルート検索サービスを停止し、属しているすべてのコンピューターのネットワーク データセットを含むファイル ジオデータベースを置き換えて、サービスを再起動できます。
データをコピーするオプションを選択した場合は、公開プロセスがすべてのコンピューターに共通の共有の場所にデータをコピーします (ArcGIS Server サイトに複数のコンピューターが存在する場合)。ルート検索サービスが共有の場所からネットワーク データセットを読み込むため、サービスのパフォーマンスが低下します。このデータを保存するために ArcGIS Server が使用する場所は、ArcGIS Server サイトの内部だと見なされ、ArcGIS Server によって管理されます。データのアップデートを実行するには、ルート検索サービスをいったん削除して再作成する必要があり、このためにエラーが発生する恐れもあります。ルート検索サービスは以前使用したのと同じ設定を使用して再公開する必要があるからです。そうではなく、ルート検索サービスによってデータを参照する場合は、ルート検索サービスを再作成するのではなく、停止して起動することになります。
ポータルとフェデレートされたサーバーで、ネットワーク データセットを含むフォルダーをデータ ストアとして登録するには、次の手順に従います。
- リボンの [共有] タブをクリックします。[管理] グループにある [データ ストア] をクリックします。
[登録済みデータ ストアの管理] ウィンドウが開きます。
- ウィンドウ上部で、ドロップダウン リストが [ポータル アイテム] に設定されていることを確認します。[追加] ボタン をクリックして、[フォルダー] をクリックします。
- [データ ストアの追加] ダイアログ ボックスで、[RoutingData] などのタイトルとタグを指定します。
これは、データ ストア ポータル アイテムの必須メタデータです。
- 必要に応じてフォルダーを指定して、データ ストア アイテムを自分のポータルに含めます。
デフォルトでは、アイテムはコンテンツのルート レベルに格納されます。既存のフォルダーを選択するか、ドロップダウン メニューを使用してフォルダーを作成することができます。フォルダーを参照することもできます。
- 公開者フォルダーを指定するには、[参照] ボタン をクリックし、ネットワーク データセットを含むフォルダー (C:\Routing\TravelDirections\ToolData) を参照して、[OK] をクリックします。
公開者フォルダーは、サーバーに登録するデータを含んでいるフォルダーです。
- 公開者とサーバーが別のフォルダーにデータを持っている場合は、[公開者のフォルダー パスと同じ] チェックボックスをオフにして、サーバーがアクセスできるフォルダーのパスを入力するか、参照します。
- データ ストアを追加するサーバーのチェックボックスをクリックします。複数のオプションを選択することができます。
- 必要に応じて [整合チェック] をクリックして、サーバーがサーバー フォルダーにアクセスできることを確認します。
フォルダーがアクセス可能であれば、確認 がサーバーの横の [ステータス] 列に表示されます。アクセスできない場合は、エラー が表示されます。接続は、データ ストアを作成するときに自動的に有効になります。
- [共有] の下で、データ ストアを共有する方法を指定します。
- [すべての人に公開] - このオプションを選択すると、データ ストアがパブリックになります。誰もがコンテンツにアクセスして表示することができます。
- [組織] - このオプションを選択すると、データ ストアを組織内のすべての認証済みユーザーと共有できます。
- [グループ] - このオプションを選択すると、所属するグループおよびグループのメンバーとデータ ストアを共有できます。
- [Create] をクリックします。
データ ストアが作成され、[登録済みデータ ストアの管理] ウィンドウに表示されます。
ツールを Web ツールとして共有
[GetTravelDirections] ツールからジオプロセシング サービスを作成するには、次の手順に従います。
- Web ツールを公開する権限のあるユーザーとして、ArcGIS Enterprise ポータルにサイン インします。
Web ツールを共有するには、管理権限または Web ツールの公開権限が必要です。
- [解析] リボン タブで [ジオプロセシング] グループの [履歴] ボタンをクリックして、[履歴] ウィンドウを開きます。
- [GetTravelDirections] を右クリックして、[共有] > [Web ツール] の順に選択します。
- [Web ツールとして共有] ウィンドウで、サービス名や実行モードなどのサービス設定を行います。
- [アイテムの詳細] で、[名前] に「TravelDirections」と入力します。
- [データ] で [登録済みデータを参照] を選択します。
- [場所] で、ArcGIS Enterprise ポータルに Web ツール アイテムを格納するためのポータル フォルダーを、オプションで指定または作成します。
[ポータル フォルダー] 値を指定しない場合、Web ツール アイテムはコンテンツのルート レベルに格納されます。
- [場所] で、Web ツールの公開先のフェデレーション サーバーと、ルート検索サービスを格納するフェデレーション サーバー上のフォルダーを選択します。
ArcGIS Enterprise の基本配置を使用する場合、[サーバーおよびフォルダー] リストに表示されるサーバーは 1 つだけ (ホスティング サーバー) です。[サーバーおよびフォルダー] でフォルダー名を指定しない場合、ルート検索サービスはフェデレーション サーバーのルート フォルダーに作成されます。
- [共有] で、Web ツールを共有する方法を指定します。
デフォルトでは、Web ツールにはそれを公開したユーザーだけがアクセスできます。Web ツールは、誰もがその Web ツールを実行できるように、組織内のすべての認証済みユーザー、または所属する特定のグループおよびそのメンバーと共有できます。
- [Web ツールとして共有] ウィンドウの [構成] タブをクリックします。
- [ケーパビリティ] で [アップロード] チェックボックスをオフにします。
アップロード機能は、クライアントがサーバーにファイルをアップロードし、Web ツールがそれを入力として使用できるかどうかを制御します。この例のルート検索サービスでは、ファイルのアップロードをサポートする必要はありません。
- [実行モード] で [同期] を選択します。
TravelDirections ルート検索サービスがすばやく実行されます (通常は 1 秒未満)。最良のパフォーマンスを得るには、[同期] 実行モードを選択します。ただし、実行時間が長くかかるルート検索サービス (長距離の 2 点間のルートを複数計算する場合など) がある場合は、実行モードを [非同期] に設定します。実行時間の長いリクエストには非同期実行モードの方が適しているからです。すばやく実行するサービスに対する非同期実行モードの使用は、サービス実行のたびに固定のオーバーヘッドが追加されるため、お勧めできません。実行時間の長いリクエストでは、発生する固定のオーバーヘッドは、サービス全体の実行時間には大きく影響しません。
- [プロパティ] で、[メッセージ レベル] に [警告] を選択します。
サービスのメッセージ レベルを [警告] に設定することで、サービスで生成されるすべてのエラー メッセージと警告メッセージがクライアントに返されるようになります。これは、サービスが移動方向を生成できない理由など、サービスの問題を診断しているクライアントの役に立ちます。
- [プロパティ] で、[サーバーから返される最大レコード数] にはデフォルト値を使用します。
この例のサービスでは、ほとんどの場合、1,000 を超える出力方向フィーチャが生成されることはないはずです。サービスが 1,000 を超えるフィーチャを生成した場合、サーバーは最初の 1,000 個のフィーチャのみをクライアントに返すので、フィーチャのサブセットはクライアントの役に立たない可能性があります。これを回避するには、[サーバーから返される最大レコード数] オプションの値をもっと大きくします。その他のルート検索サービスでは、このオプションをもっと大きい数に設定する可能性があります。たとえば、500 個の起点と 500 個の終点の間の OD コスト マトリックスを頻繁に計算するサービスがある場合、このサービスは 250,000 個のフィーチャを生成する可能性があります。このような場合は、このオプションの値を 250,000 以上に設定します。
- [Web ツールとして共有] ウィンドウの [コンテンツ] タブをクリックします。
- [マイ コンテンツ] > [TravelDirections] の [GetTravelDirections] ツールの右にある [ツール プロパティの構成] ボタンをクリックして、[GetTravelDirections] Web ツールのプロパティを構成します。
- [ネットワーク データセット] パラメーター カテゴリを展開し、[入力モード] オプションで [定数値] を選択します。
TravelDirections サービスを使用するクライアントでは、移動方向の生成に使用するネットワーク データセットを指定する必要はありません。このサービスは常に同じネットワーク データセットを使用するからです。パラメーターの入力モードを定数に設定することで、ツールによって作成された結果のサービスで、そのパラメーターが使用できなくなります。
- [GetTravelDirections] ページの左上隅の [戻る] ボタンをクリックして、[Web ツールとして共有] ウィンドウに戻ります。
- [Web ツールとして共有] ウィンドウの [分析] ボタンをクリックして、エラーや警告がレポートされていないことを確認します。
ツールのサービスとしての正常な実行を妨げる問題がないか、解析ツールがチェックします。エラーがレポートされた場合は、ツールを公開する前に修正する必要があります。警告のみがレポートされた場合は、その警告が自分の描くシナリオで予期されるものであれば、公開に進むことができます。たとえば、登録データを参照するのではなく、データをコピーしている場合、データがサーバーにコピーされることを示す警告メッセージが表示されます。このメッセージは、このシナリオで予期される警告なので無視できます。エラーまたは警告メッセージを右クリックすると、問題の解決方法を示すヘルプ トピックにアクセスできます。
- ツールをサービスとして公開するには、[Web ツールとして共有] ウィンドウの [公開] ボタンをクリックします。
Web ツールの使用
Web ツールは、ArcGIS Pro の [カタログ] ウィンドウの [ポータル] セクションで開くことができます。ArcGIS Pro でツールを実行する以外にも、ジオプロセシング サービスは Python スクリプトや Web アプリでも使用できます。
以下の手順は、ArcGIS Pro をクライアント アプリケーションとして使用して [GetTravelDirections] ツールを実行する方法を示しています。
- [カタログ] ウィンドウで、[ポータル] > [すべてのポータル] の順にクリックします。
- [検索] バーに「TravelDirections」と入力します。
- [TravelDirections] ツールボックスをダブルクリックして、[GetTravelDirections] ツールを開きます。
- [GetTravelDirections] Web ツールを実行します。
[GetTravelDirections] ツールはフィーチャクラスを出力するので、Web ツール上に [出力フィーチャクラス名] パラメーターがジオプロセシング フレームワークによって自動的に追加されます。このパラメーターにより、自分のエンタープライズ ポータルに格納されるフィーチャ サービスとして結果を書き込むことができます。ただし、このパラメーターの使用には一定の制限があります。
注意:
[出力フィーチャ サービス名] 値を指定すると、[GetTravelDirections] Web ツールはエラーを返します。フィーチャ サービスとして結果を作成することは、同期実行モードを使用して公開されたサービス (この例の TravelDirections サービスなど) ではサポートされていないからです。