プロパティ ファイルからルート検索サービスの高度なプロパティを指定します。
追加サービスのプロパティ
ネットワーク データセットからルート検索サービスを構成する場合は、サービス インスタンスの最小数と最大数、サービスの REST API でサポートされている 1 つ以上のパラメーターのデフォルト値など、ルート検索サービスの追加設定を含むプロパティ ファイルを指定できます。 たとえば、ルート検索サービスとルート案内サービスを利用するアプリケーションで出力ルートからの移動時間および移動距離の値だけが使用され、ルート案内もルート ジオメトリも必要でない場合は、デフォルトで目的の出力だけが返されるように、プロパティ ファイルを使用してルート検索サービスとルート案内サービスを構成することができます。 これにより、クライアント アプリケーションで使用されていない余分な出力が生成されなくなるため、ルート検索サービスとルート案内サービスのパフォーマンスが最適化されます。
プロパティ ファイルには、これらの設定が JavaScript Object Notation (JSON) 形式で格納されています。 このヘルプ トピックでは、JSON 形式に関する基礎知識があることを想定しています。
プロパティ ファイルを指定することで、ルート検索サービスの高度なプロパティを構成できます。 デフォルトのプロパティ ファイルは publishroutingservices.json という名前です。
以下では、プロパティ ファイルの例を示し、その構造を説明します。
このセクションでは、デフォルト ファイルを例にしてプロパティ ファイルの構造を説明します。 プロパティを変更するには、デフォルト ファイルのコピーを作成し、テキスト エディターを使用してそのコピーを編集します。 ルート検索の構成プロセスを呼び出す場合は、変更を加えたファイルを入力値として指定します。
プロパティ ファイルの構造
このプロパティ ファイルには、routingServices という最上位のオブジェクトがあり、mapServices オブジェクトと gpServices オブジェクトが含まれています。 これらのオブジェクトにはそれぞれ、特定のルート検索サービスを表す 1 つ以上のオブジェクトを含めることができます。 プロパティ ファイル内の最上位の JSON オブジェクト mapServices オブジェクトでは networkAnalysis マップ サービスのプロパティを定義し、gpServices オブジェクトでは asyncNetworkAnalysis、syncNetworkAnalysis、および routingUtilities ジオプロセシング サービスのプロパティを定義します。{
"routingServices": {
"mapServices": {
"networkAnalysis": {
}
},
"gpServices": {
"asyncNetworkAnalysis": {
},
"syncNetworkAnalysis": {
},
"routingUtilities": {
}
}
}
}
networkAnalysis などのマップ サービス オブジェクトには、マップ サービスのサービス レベル プロパティを定義する serviceProperties オブジェクトと、マップ サービスで使用される 1 つ以上のレイヤーのプロパティを定義する layerProperties オブジェクトが含まれています。
asyncNetworkAnalysis などのジオプロセシング サービス オブジェクトには、ジオプロセシング サービスのサービス レベル プロパティを定義する serviceProperties オブジェクトと、ジオプロセシング サービスで使用される 1 つ以上のジオプロセシング ツールのプロパティを定義する toolProperties オブジェクトが含まれています。
serviceProperties と layerProperties または toolProperties を含むサービス JSON オブジェクト
{
"routingServices": {
"mapServices": {
"networkAnalysis": {
"serviceProperties": {
},
"layerProperties": {
}
}
},
"gpServices": {
"asyncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"syncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"routingUtilities": {
"serviceProperties": {
},
"toolProperties": {
}
}
}
}
}
サービス オブジェクトに含まれる serviceProperties オブジェクトでは、コンピューター当たりのサービス インスタンスの最大数 (MaxInstances) やクライアントがサービスを利用できる秒単位の最大時間 (UsageTimeout) など、1 つ以上のサービス レベル プロパティを定義します。
マップ サービスの layerProperties オブジェクトでは、route、closestFacility、serviceArea、および odCostMatrix レイヤーのプロパティを定義します。 レイヤーのプロパティは、defaultValues オブジェクトの一部として定義されます。
ジオプロセシング サービスの toolProperties オブジェクトでは、FindRoutes、FindClosestFacilities、GenerateServiceAreas、GenerateOriginDestinationCostMatrix、SolveLocationAllocation、SolveVehicleRoutingProblem、EditVehicleRoutingProblem など、ジオプロセシング ツールのプロパティを定義します。 ツールのプロパティは、defaultValues オブジェクトの一部として定義されます。 constantParameters オブジェクトでは、ツールのパラメーターのうち、ジオプロセシング サービスの REST API で使用できない 1 つ以上のパラメーターを表示することができます。
マップ サービス内のレイヤーの layerProperties オブジェクトとジオプロセシング サービス内のツールの toolProperties オブジェクト
{
"routingServices": {
"mapServices": {
"networkAnalysis": {
"serviceProperties": {
},
"layerProperties": {
"route": {
"defaultValues": {
}
},
"closestFacility": {
"defaultValues": {
}
},
"serviceArea": {
"defaultValues": {
}
},
"odCostMatrix": {
"defaultValues": {
}
}
}
}
},
"gpServices": {
"asyncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
"FindRoutes": {
"defaultValues": {
},
"constantParameters": []
},
"FindClosestFacilities": {
"defaultValues": {
},
"constantParameters": []
},
"GenerateServiceAreas": {
"defaultValues": {
},
"constantParameters": []
},
"GenerateOriginDestinationCostMatrix": {
"defaultValues": {
},
"constantParameters": []
},
"SolveLocationAllocation": {
"defaultValues": {
},
"constantParameters": []
},
"SolveVehicleRoutingProblem": {
"defaultValues": {
},
"constantParameters": []
}
}
},
"syncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
"EditVehicleRoutingProblem": {
"defaultValues": {
},
"constantParameters": []
}
}
},
"routingUtilities": {
"serviceProperties": {
}
}
}
}
}
プロパティ ファイルの編集とアップロード
ルート検索サービスを構成するときに、ノードごとのインスタンスの最小数や最大数など、ユーザー指定のプロパティを含むプロパティ ファイルをアップロードできます。
ヒント:
このファイルを編集する際には、JSON 構文を解釈する Visual Studio Code などのテキスト エディターを使用して、プロパティ ファイルの編集中に構文エラーが発生しないようにすることをお勧めします。 プロパティ ファイルに JSON 構文エラーがあると、ルート検索サービスの構成プロセスが正常に実行されません。