Especifique propriedades avançadas para os serviços de rotas de um arquivo de propriedades.
Propriedades de serviço adicionais
Ao configurar serviços de rotas a partir de um conjunto de dados de rede, é possível especificar um arquivo de propriedades que contém configurações adicionais para os serviços de rotas, como o número mínimo e máximo de instâncias de serviço ou os valores padrão para um ou mais parâmetros suportados pela API REST do serviços. Por exemplo, se os aplicativos que usam o serviço de rotas e as rotas usarem apenas os valores de tempo de viagem e distância de viagem das rotas de saída e não precisarem de instruções de direção ou geometrias de rota, será possível configurar o serviço de rotas e rotas usando o arquivo de propriedades para apenas retornar as saídas desejadas por padrão. Isso otimizará o desempenho do serviço de rotas, pois não gera saídas adicionais que não são utilizadas pelos aplicativos clientes.
O arquivo de propriedades armazena as configurações no formato JavaScript Object Notation (JSON). Este tópico de ajuda pressupõe uma familiaridade básica com o formato JSON.
É possível configurar propriedades avançadas para um serviço de rotas especificando um arquivo de propriedades. O arquivo de propriedades padrão chamado publishroutingservices.json.
Este arquivo pode ser encontrado no diretório de instalação ArcGIS Server em <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices.
Esta seção descreve a estrutura do arquivo de propriedades usando o arquivo padrão como exemplo. Para alterar as propriedades, você pode fazer uma cópia do arquivo padrão e editar a cópia usando um editor de texto. Ao chamar o processo de rotas configure, especifique o arquivo modificado como entrada.
Estrutura do arquivo de propriedades
O arquivo de propriedades contém um objeto de nível superior denominado routingServices, que tem objetos mapServices e gpServices. Cada um desses objetos pode conter um ou mais objetos que representam um serviço de rotas específico. Os objetos JSON de nível superior no arquivo de propriedades. O objeto mapServices define propriedades para serviço de mapa networkAnalysis e o objeto gpServices define propriedades para os serviços de geoprocessamento asyncNetworkAnalysis, syncNetworkAnalysis e routingUtilities.{
"routingServices": {
"mapServices": {
"networkAnalysis": {
}
},
"gpServices": {
"asyncNetworkAnalysis": {
},
"syncNetworkAnalysis": {
},
"routingUtilities": {
}
}
}
}
Um objeto de serviço de mapa, como networkAnalysis, contém um objeto serviceProperties que define as propriedades de nível de serviço para o serviço de mapa e o objeto layerProperties que define as propriedades de uma ou mais camadas usadas pelo serviço de mapa.
Um objeto de serviço de geoprocessamento, como asyncNetworkAnalysis, contém um objeto serviceProperties que define as propriedades de nível de serviço para o serviço de geoprocessamento e o objeto toolProperties que define as propriedades para uma ou mais ferramentas de geoprocessamento usadas pelo serviço de geoprocessamento.
O objeto JSON de serviço que contém serviceProperties e layerProperties ou toolProperties.
{
"routingServices": {
"mapServices": {
"networkAnalysis": {
"serviceProperties": {
},
"layerProperties": {
}
}
},
"gpServices": {
"asyncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"syncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"routingUtilities": {
"serviceProperties": {
},
"toolProperties": {
}
}
}
}
}
Um objeto serviceProperties dentro de um objeto de serviço define uma ou mais propriedades de nível de serviço, como o número máximo de instâncias de serviço por máquina (MaxInstances), ou o tempo máximo (em segundos) que o cliente pode usar um serviço (UsageTimeout).
Um objeto layerProperties para um serviço de mapa define propriedades para as camadas route, closestFacility, serviceArea e odCostMatrix. As propriedades de uma camada são definidas como parte do objeto defaultValues.
Um objeto toolProperties de um serviço de geoprocessamento define propriedades para as ferramentas de geoprocessamento, como FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem e EditVehicleRoutingProblem. As propriedades de uma ferramenta são definidas como parte do objeto defaultValues. O objeto constantParameters permite listar um ou mais parâmetros para a ferramenta que não devem estar disponíveis na API REST do serviço de geoprocessamento.
Objeto layerProperties para as camadas em um serviço de mapa e o objeto toolProperties para as ferramentas no serviço de geoprocessamento.
{
"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": {
}
}
}
}
}
Editar e transferir de um arquivo de propriedades
Ao configurando um serviço de rotas, é possível transferir de um arquivo de propriedades com propriedades especificadas, como mínimo ou máximo de instâncias. O arquivo de propriedades pode ser encontrado no diretório de instalação ArcGIS Server em <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json. Para alterar as propriedades, faça uma cópia deste arquivo e edite-o usando um editor de texto.
Dica:
Ao editar o arquivo, é recomendável usar um editor de texto como Visual Studio Code que entende a sintaxe JSON para editar o arquivo de propriedades para evitar erros de sintaxe ao editar o arquivo de propriedades. Um arquivo de propriedades com qualquer erro de sintaxe JSON resultará na falha do processo de configuração dos serviços de rotas.