ルート検索サービスのプロパティ ファイルの構成

プロパティ ファイルからルート検索サービスの高度なプロパティを指定します。

追加サービスのプロパティ

ネットワーク データセットからルート検索サービスを構成する場合は、サービス インスタンスの最小数と最大数、サービスの 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 オブジェクトでは asyncNetworkAnalysissyncNetworkAnalysis、および routingUtilities ジオプロセシング サービスのプロパティを定義します。

{
    "routingServices": {
        "mapServices": {
            "networkAnalysis": {
            }
        },
        "gpServices": {
            "asyncNetworkAnalysis": {
            },
            "syncNetworkAnalysis": {
            },
            "routingUtilities": {
            }
        }
    }
}

networkAnalysis などのマップ サービス オブジェクトには、マップ サービスのサービス レベル プロパティを定義する serviceProperties オブジェクトと、マップ サービスで使用される 1 つ以上のレイヤーのプロパティを定義する layerProperties オブジェクトが含まれています。

asyncNetworkAnalysis などのジオプロセシング サービス オブジェクトには、ジオプロセシング サービスのサービス レベル プロパティを定義する serviceProperties オブジェクトと、ジオプロセシング サービスで使用される 1 つ以上のジオプロセシング ツールのプロパティを定義する toolProperties オブジェクトが含まれています。

servicePropertieslayerProperties または toolProperties を含むサービス JSON オブジェクト

{
    "routingServices": {
        "mapServices": {
            "networkAnalysis": {
                "serviceProperties": {
                },
                "layerProperties": {
                }
            }
        },
        "gpServices": {
            "asyncNetworkAnalysis": {
                "serviceProperties": {
                },
                "toolProperties": {
                }
            },
            "syncNetworkAnalysis": {
                "serviceProperties": {
                },
                "toolProperties": {
                }
            },
            "routingUtilities": {
                "serviceProperties": {
                },
                "toolProperties": {
                }
            }
        }
    }
}

サービス オブジェクトに含まれる serviceProperties オブジェクトでは、コンピューター当たりのサービス インスタンスの最大数 (MaxInstances) やクライアントがサービスを利用できる秒単位の最大時間 (UsageTimeout) など、1 つ以上のサービス レベル プロパティを定義します。

マップ サービスの layerProperties オブジェクトでは、routeclosestFacilityserviceArea、および odCostMatrix レイヤーのプロパティを定義します。 レイヤーのプロパティは、defaultValues オブジェクトの一部として定義されます。

ジオプロセシング サービスの toolProperties オブジェクトでは、FindRoutesFindClosestFacilitiesGenerateServiceAreasGenerateOriginDestinationCostMatrixSolveLocationAllocationSolveVehicleRoutingProblemEditVehicleRoutingProblem など、ジオプロセシング ツールのプロパティを定義します。 ツールのプロパティは、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 構文エラーがあると、ルート検索サービスの構成プロセスが正常に実行されません。