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