Skip To Content

Configurar o arquivo de propriedades dos serviços de rotas

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 roteamento de um conjunto de dados de rede, você pode especificar que um arquivo de propriedades contenha 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 dos serviços. Por exemplo, se os aplicativos que usam o serviço de rotas e rotas usarem apenas os valores de tempo de viagem e distância de viagem das rotas de saída e não precisarem de rotas ou geometrias de rota, você poderá configurar o serviço de rotas e rotas usando o arquivo de propriedades para retornar apenas as saídas desejadas por padrão. Isso otimizará o desempenho do serviço de rotas e direções, pois não está gerando saídas adicionais que não são usadas 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.

O processo de configuração de serviços de rotas usará um arquivo de propriedades padrão denominadopublishroutingservices.json que pode ser encontrado no diretório de instalação do 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 do sistema como exemplo. Para alterar as propriedades, faça uma cópia do arquivo padrão do sistema e edite 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": {
                }
            }
        }
    }
}

Edite o arquivo de propriedades

O processo de configuração de serviços de rotas usará um arquivo de propriedades padrão que pode ser encontrado no diretório de instalação do 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:

É recomendável usar um editor de texto, como o Visual Studio Code, que entenda 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.