Skip to main content

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

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

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

При настройке сервисов маршрутизации на основе набора сетевых данных можно указать файл свойств, содержащий дополнительные параметры для сервисов маршрутизации, такие как минимальное и максимальное количество экземпляров сервиса или значения по умолчанию для одного или нескольких параметров, поддерживаемых 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, 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": {
             }
         }
     }
 }
}

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

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

Подсказка:

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