Skip To Content

Configurer le fichier de propriétés des services de calcul d’itinéraire

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 contenant des paramètres supplémentaires pour les services de calcul d’itinéraire, comme les nombres minimum et maximum 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 utilisant le service 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 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 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.

Le traitement de configuration des services de calcul d’itinéraire utilise un fichier de propriétés par défaut nommé publishroutingservices.json qui se trouve dans le répertoire d’installation de ArcGIS Server, dans <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 du système. Pour modifier les propriétés, effectuez une copie du fichier par défaut du système 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 le fichier de propriétés

Le traitement de configuration des services de calcul d’itinéraire utilise un fichier de propriétés par défaut qui se trouve dans le répertoire d’installation de ArcGIS Server, dans <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 :

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.