プロパティ ファイルからルート検索サービスの高度なプロパティを指定します。
追加サービスのプロパティ
ネットワーク データセットからルート検索サービスを構成する場合は、サービス インスタンスの最小数と最大数、サービスの REST API でサポートされている 1 つ以上のパラメーターのデフォルト値など、ルート検索サービスの追加設定を含むプロパティ ファイルを指定できます。 たとえば、ルート サービスとルート案内サービスを利用しているアプリケーションで出力ルートからの移動時間および移動距離の値だけが使用され、ルート案内もルート ジオメトリも必要でない場合は、デフォルトで目的の出力だけが返されるように、プロパティ ファイルを使用してルート サービスとルート案内サービスを構成することができます。 これにより、クライアント アプリケーションで使用されていない余分な出力が生成されなくなるため、ルート サービスとルート案内サービスのパフォーマンスが最適化されます。
プロパティ ファイルには、これらの設定が JavaScript Object Notation (JSON) 形式で格納されています。 このヘルプ トピックでは、JSON 形式に関する基礎知識があることを想定しています。
ルート検索サービスの構成プロセスでは、publishroutingservices.json というデフォルトのプロパティ ファイルが使用されます。このファイルは、ArcGIS Server のインストール ディレクトリ (<install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices) 内にあります。 このセクションでは、システム デフォルト ファイルを例にしてプロパティ ファイルの構造を説明します。 プロパティを変更するには、システム デフォルト ファイルのコピーを作成し、テキスト エディターを使用してそのコピーを編集します。 ルート検索の構成プロセスを呼び出す場合は、変更を加えたファイルを入力値として指定します。
プロパティ ファイルの構造
このプロパティ ファイルには、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": {
}
}
}
}
}
プロパティ ファイルの編集
ルート検索サービスの構成プロセスでは、デフォルトのプロパティ ファイルが使用されます。このファイルは、ArcGIS Server のインストール ディレクトリ (<install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json) 内にあります。 プロパティを変更するには、このファイルのコピーを作成し、テキスト エディターを使用してそのコピーを編集します。
ヒント:
プロパティ ファイルを編集する際には、JSON 構文を解釈する Visual Studio Code などのテキスト エディターを使用して、プロパティ ファイルの編集中に構文エラーが発生しないようにすることをお勧めします。 プロパティ ファイルに JSON 構文エラーがあると、ルート検索サービスの構成プロセスが正常に実行されません。