Настройка файла свойств сервисов построения маршрута

Задайте дополнительные свойства для сервисов построения маршрута из файла свойств.

Дополнительные свойства сервиса

При настройке сервисов построения маршрута из набора сетевых данных можно задать файл свойств, содержащий дополнительные настройки для сервисов построения маршрута, такие как минимальное и максимальное количество экземпляров сервиса или значения по умолчанию для одного или нескольких параметров, поддерживаемых REST API сервисов. Например, если приложения, использующие сервисы построения маршрутов и направлений, используют только значения времени в пути и расстояния в пути из выходных маршрутов и не нуждаются в направлениях движения или геометрии маршрута, вы можете настроить сервис построения маршрутов и направлений, используя файл свойств, чтобы возвращать только желаемые результаты по умолчанию. Это позволит оптимизировать производительность сервиса построения маршрутов и направлений, поскольку он не создает дополнительных выходных данных, которые не используются клиентскими приложениями.

Файл свойств хранит настройки в формате JavaScript Object Notation (JSON). Этот раздел справки предполагает базовое знакомство с форматом JSON.

При настройке сервисов построения маршрута файл свойств publishroutingservices.json будет использоваться по умолчанию, и его можно будет найти в Директории установки ArcGIS Server в <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices. Этот раздел описывает структуру файла свойств, используя системный файл по умолчанию в качестве примера. Чтобы изменить свойства, сделайте копию системного файла по умолчанию и отредактируйте копию с помощью текстового редактора. При вызове процесса настройки маршрута укажите измененный файл в качестве входных данных.

Структура файла свойств

Файл свойств содержит объект верхнего уровня с именем routingServices, который имеет объекты mapServices и gpServices. Каждый из этих объектов может содержать один или несколько объектов, представляющих определенный сервис построения маршрутов.

Объекты JSON верхнего уровня в файле свойств. Объект mapServices определяет свойства для картографического сервиса networkAnalysis, а объект gpServices определяет свойства для сервисов asyncNetworkAnalysis, syncNetworkAnalysis, и сервисов геообработки routingUtilities.

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

Объект картографического сервиса, такой как networkAnalysis, содержит объект serviceProperties, определяющий свойства уровня сервиса для картографического сервиса, и объект layerProperties, определяющий свойства для одного или нескольких слоев, используемых картографическим сервисом.

Объект сервиса геообработки, такой как asyncNetworkAnalysis, содержит объект serviceProperties, определяющий свойства уровня сервиса для сервиса геообработки, и объект toolProperties, определяющий свойства для одного или нескольких инструментов геообработки, используемых сервисом геообработки.

Объект сервиса JSON, содержащий serviceProperties и layerProperties или toolProperties.

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

Объект serviceProperties внутри объекта сервиса определяет одно или несколько свойств уровня сервиса, таких как максимальное количество экземпляров сервиса на машину (MaxInstances) или максимальное время (в секундах), в течение которого клиент может использовать сервис (UsageTimeout).

Объект layerProperties для картографического сервиса определяет свойства для слоев route, closestFacility, serviceArea и odCostMatrix. Свойства для слоя определяются как часть объекта defaultValues.

Объект toolProperties для сервиса геообработки определяет свойства для инструментов геообработки, таких как FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem и EditVehicleRoutingProblem. Свойства для инструмента определяются как часть объекта defaultValues. Объект constantParameters позволяет указать один или несколько параметров инструмента, которые не должны быть доступны в REST API сервиса геообработки.

Объект 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. Чтобы изменить свойства, сделайте копию этого файла и отредактируйте его с помощью текстового редактора.

Подсказка:

Рекомендуется использовать текстовый редактор, такой как Visual Studio Code, который понимает синтаксис JSON, для редактирования файла свойств, чтобы избежать синтаксических ошибок при редактировании файла свойств. Файл свойств с любой синтаксической ошибкой JSON приведет к сбою процесса настройки сервисов построения маршрута.