Spécifiez les propriétés avancées des services de calcul d’itinéraire à partir d’un fichier de propriétés.
Propriétés de service supplémentaires
Lorsque vous configurez des services de calcul d’itinéraire à partir d’un jeu de données réseau, vous pouvez spécifier un fichier de propriétés qui contient des paramètres supplémentaires pour les services de calcul d’itinéraire, comme les nombres minimal et maximal d’instances de service ou les valeurs par défaut d’un ou de plusieurs paramètres pris en charge par l’API REST des services. Par exemple, si les applications qui utilisent le service de calcul d’itinéraire et de feuille de route font uniquement appel aux valeurs de temps de trajet et de distance de déplacement des itinéraires en sortie et n’ont pas besoin des directions de déplacement ou des géométries d’itinéraire, vous pouvez configurer le service de calcul d’itinéraire et de feuille de route à l’aide du fichier de propriétés de telle sorte qu’il renvoie uniquement les sorties souhaitées par défaut. Cela permet d’optimiser les performances du service de calcul d’itinéraire et de feuille de route, car aucune sortie supplémentaire inutile pour les applications client n’est générée.
Le fichier de propriétés stocke les paramètres au format JavaScript Object Notation (JSON). Cette rubrique d’aide suppose que vous maîtrisez les bases du format JSON.
Vous pouvez configurer les propriétés avancées d’un service de calcul d’itinéraire en spécifiant un fichier de propriétés. Fichier de propriétés par défaut appelé publishroutingservices.json.
Ce fichier se trouve dans le répertoire d’installation ArcGIS Server : <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices.
Cette section décrit la structure du fichier de propriétés en se basant sur l’exemple du fichier par défaut. Pour modifier les propriétés, effectuez une copie du fichier par défaut et mettez à jour la copie avec un éditeur de texte. Lorsque vous appelez le traitement de configuration du calcul d’itinéraire, spécifiez le fichier modifié en entrée.
Structure du fichier de propriétés
Le fichier de propriétés contient un objet de niveau supérieur nommé routingServices, qui comporte les objets mapServices et gpServices. Chacun de ces objets peut contenir un ou plusieurs objets représentant un service de calcul d’itinéraire spécifique. Objets JSON de niveau supérieur dans le fichier de propriétés. L’objet mapServices définit les propriétés du service de carte networkAnalysis et l’objet gpServices définit les propriétés des services de géotraitement asyncNetworkAnalysis, syncNetworkAnalysis et routingUtilities.{
"routingServices": {
"mapServices": {
"networkAnalysis": {
}
},
"gpServices": {
"asyncNetworkAnalysis": {
},
"syncNetworkAnalysis": {
},
"routingUtilities": {
}
}
}
}
Un objet de service de carte, tel que networkAnalysis, contient un objet serviceProperties qui définit les propriétés du niveau de service du service de carte et l’objet layerProperties qui définit les propriétés des couches utilisées par le service de carte.
Un objet de service de géotraitement, tel que asyncNetworkAnalysis, contient un objet serviceProperties qui définit les propriétés du niveau de service du service de géotraitement et l’objet toolProperties qui définit les propriétés des outils de géotraitement utilisés par le service de géotraitement.
Objet JSON du service contenant serviceProperties et layerProperties ou toolProperties.
{
"routingServices": {
"mapServices": {
"networkAnalysis": {
"serviceProperties": {
},
"layerProperties": {
}
}
},
"gpServices": {
"asyncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"syncNetworkAnalysis": {
"serviceProperties": {
},
"toolProperties": {
}
},
"routingUtilities": {
"serviceProperties": {
},
"toolProperties": {
}
}
}
}
}
Un objet serviceProperties dans un objet de service définit des propriétés de niveau de service, comme le nombre maximal d’instances de service par machine (MaxInstances) ou la durée maximale (en secondes) pendant laquelle le client peut utiliser un service (UsageTimeout).
Un objet layerProperties d’un service de carte définit les propriétés des couches route, closestFacility, serviceArea et odCostMatrix. Les propriétés d’une couche sont définies dans l’objet defaultValues.
Un objet toolProperties d’un service de géotraitement définit les propriétés des outils de géotraitement, comme FindRoutes, FindClosestFacilities, GenerateServiceAreas, GenerateOriginDestinationCostMatrix, SolveLocationAllocation, SolveVehicleRoutingProblem et EditVehicleRoutingProblem. Les propriétés d’un outil sont définies dans l’objet defaultValues. L’objet constantParameters vous permet de répertorier les paramètres de l’outil qui ne doivent pas être disponibles dans l’API REST du service de géotraitement.
Objet layerProperties des couches dans un service de carte et objet toolProperties des outils du service de géotraitement.
{
"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": {
}
}
}
}
}
Mettre à jour et charger un fichier de propriétés
Lors de la configuration d’un service de calcul d’itinéraire, vous pouvez charger un fichier de propriétés que vous indiquez, comme les instances minimum et maximum. Le fichier de propriétés se trouve dans le répertoire d’installation ArcGIS Server : <install folder>/framework/runtime/ArcGIS/Resources/ArcToolBox/Services/routingservices/publishroutingservices.json Pour modifier les propriétés, effectuez une copie de ce fichier et mettez à jour cette copie avec un éditeur de texte.
Conseil :
Lors de la mise à jour du fichier, il est conseillé d’utiliser un éditeur de texte, tel que Visual Studio Code, qui comprend la syntaxe JSON pour mettre à jour le fichier de propriétés afin d’éviter les erreurs de syntaxe lors de la mise à jour du fichier de propriétés. Un fichier de propriétés comportant une erreur de syntaxe entraîne l’échec du traitement de configuration des services de calcul d’itinéraire.
Vous avez un commentaire à formuler concernant cette rubrique ?