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

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

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

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

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

Дополнительные свойства сервиса построения маршрутов можно настроить, указав файл свойств. Файл свойств по умолчанию с именем publishroutingservices.json.

Ниже представлен пример файла свойств и объяснение его структуры.

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

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

Файл свойств содержит объект верхнего уровня с именем 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": {
                }
            }
        }
    }
}

Редактирование и загрузка файла свойств

При настройке сервиса построения маршрутов вы можете загрузить файл свойств с заданными свойствами, например, минимальное или максимальное число экземпляров для узла.

Подсказка:

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