Skip to main content

Файл свойств сервисов маршрутизации

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

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

При настройке сервисов маршрутизации из набора сетевых данных можно указать файл свойств, содержащий дополнительные параметры для сервисов маршрутизации, например минимальное и максимальное количество экземпляров сервисов или значения по умолчанию для одного или нескольких параметров, поддерживаемых 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, SolveLastMileDelivery и SnapToRoads. Свойства для инструмента определяются как часть объекта 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": []
																				},
                 "SolveLastMileDelivery": {
                     "defaultValues": {
                     },
                     "constantParameters": []
                 }
             }
         },
         "syncNetworkAnalysis": {
             "serviceProperties": {
             },
             "toolProperties": {
                 "EditVehicleRoutingProblem": {
                     "defaultValues": {
                     },
                     "constantParameters": []
																				},
                 "SnapToRoads": {
                     "defaultValues": {
                     },
                     "constantParameters": []
                 }
             }
         },
         "routingUtilities": {
             "serviceProperties": {
             }
         }
     }
 }
}

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

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

Подсказка:

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