Skip To Content

Pratiques conseillées de géocodage par lots sur le portail

Configuration requise

Si vous disposez d’un déploiement ArcGIS Enterprise, vous pouvez tirer parti d’un modèle de géocodage par lots asynchrone côté serveur qui vous aidera à obtenir des performances optimales grâce à vos services de localisateur. Cette approche fonctionne avec les localisateurs que vous avez publiés sur votre portail et ajoutés comme services utilitaires. Pour plus d’informations sur la création de localisateurs, leur partage sur un portail et leur ajout en tant que services utilitaires, reportez-vous à la rubrique Configurer le portail pour géocoder des adresses.

Avantages

Nous pouvons optimiser le pouvoir de ArcGIS Enterprise afin de tirer le meilleur parti de vos services de géocodage publiés. Une fois qu’un localisateur a été partagé avec votre portail, il peut être utilisé pour effectuer le géocodage par lots. Parmi certains avantages d’utiliser votre portail pour le géocodage par lots, figurent les suivants :

  • Optimise les ressources de serveur pour effectuer le géocodage par lots le plus rapidement possible.
  • Permet à l’administrateur ArcGIS de gérer les ressources principales et de ne pas surcharger les services.
  • Effectue des tâches volumineuses de géocodage par lots derrière le pare-feu de votre organisation en utilisant vos données et votre propre localisateur publié.
  • Intègre les logiques de création de blocs et de nouvelle tentative pour s’assurer que les tâches volumineuses de géocodage par lots n’échouent pas.

Architecture

Pour tirer au mieux parti de vos services de localisateur publiés, vous pouvez augmenter le nombre d’instances du serveur de géocodage. Pour ce faire, accédez au répertoire Services de ArcGIS Server Manager et, après avoir sélectionné le service de géocodage à faire évoluer, rendez-vous dans l’onglet Pooling (Groupage) et modifiez les paramètres Minimum number of instances per machine (Nombre minimum d’instances par machine) et Maximum number of instances per machine (Nombre maximum d’instances par machine). Pour le géocodage, ces valeurs doivent toujours être identiques. Si vous voulez que quatre instances soient disponibles simultanément, vous pouvez remplacer ces deux valeurs par 4.

Ajout de la propriété numBatchThreads

Dans le diagramme ci-dessus, l’administrateur ArcGIS a augmenté le nombre d’instances du service de localisateur à quatre. L’administrateur ArcGIS de votre organisation peut ensuite définir la propriété numBatchThreads sur 4 pour le localisateur, et multiplier ainsi par quatre les performances de géocodage par lots. L’administrateur peut définir la propriété numBatchThreads dans l’emplacement de partage Portal for ArcGIS Directory (Répertoire Portal For ArcGIS). Veuillez noter que si deux utilisateurs veulent effectuer le géocodage par lots simultanément, l’administrateur ArcGIS peut définir la propriété numBatchThreads sur 2. S’il ne le fait pas, les tâches seront mises en file d’attente et dépasseront potentiellement le délai d’expiration en attendant que les tâches précédentes se terminent. De cette manière, chaque tâche de géocodage par lots s’exécutera sur l’une des deux instances de localisateur disponibles, et les services de localisateur principaux seront en mesure de gérer la charge liée à la soumission de plusieurs tâches simultanément.

Configuration

Les étapes suivantes expliquent comment l’administrateur ArcGIS peut configurer son portail en vue d’utiliser le modèle de géocodage par lots asynchrone décrit ci-dessus.

Ajouter une journalisation pour plus de commentaires pendant le géocodage par lots

Par défaut, le niveau de message du service de géotraitement GeocodingTools est défini sur Warning (Avertissement). Pour obtenir des messages d’erreur plus détaillés et de meilleures mises à jour sur le statut de votre tâche de géocodage par lots, vous pouvez définir le niveau de journalisation du service de géotraitement GeocodingTools sur Info (Informations).

  1. Accédez à l’instance ArcGIS Server Manager de votre serveur d’hébergement.
  2. Cliquez sur le dossier Utilities (Utilitaires) dans le répertoire de Server Manager.
  3. Cliquez sur le service de géotraitement GeocodingTools.
  4. Cliquez sur la bannière Parameters (Paramètres) située à gauche et redéfinissez Message Level (Niveau de message) sur Info (Informations). Cliquez ensuite sur le bouton Save and Restart (Enregistrer et redémarrer) situé en haut à droite.

Redéfinir le niveau de journalisation sur Info (Informations) a pour effet une légère baisse des performances, mais fournira de meilleurs commentaires sur l’avancée des tâches et plus d’informations sur les erreurs possibles si elles se produisent. Vous profiterez de ces avantages dans les outils Geocode Table (Géocoder la table), Geocode Locations From Table (Géocoder des emplacements depuis la table) et Geocode File (Géocoder le fichier) dans ArcGIS Pro.

Augmentation du délai d’expiration pour le géocodage par lots

Par défaut, le service de géotraitement GeocodingTools expire pour les tâches supérieures à 200 minutes. Si vous anticipez une tâche de géocodage par lots susceptible de durer plus de 3 heures et 20 minutes, vous devrez accroître le délai maximum d’utilisation du service par le client.

  1. Accédez à l’instance ArcGIS Server Manager de votre serveur d’hébergement.
  2. Cliquez sur le dossier Utilities (Utilitaires) dans le répertoire de Server Manager.
  3. Cliquez sur le service de géotraitement GeocodingTools.
  4. Cliquez sur la bannière Pooling (Groupage) à gauche et modifiez le délai maximum d’utilisation du service par le client. Le fait d’accroître cette valeur à un très grand nombre garantit que les longues tâches de géocodage par lots n’expireront jamais. Cliquez ensuite sur le bouton Save and Restart (Enregistrer et redémarrer) situé en haut à droite.

Configurer le nombre suggéré de requêtes de géocodage par lots simultanées (numBatchThreads) pour votre localisateur

Le localisateur du portail peut également être utilisé par le service de géotraitement GeocodingTools qui s’exécute sur votre site GIS Server fédéré. Le service de géotraitement peut envoyer plusieurs requêtes simultanées au service utilitaire de géocodage en vue d'accélérer l'exécution globale du géocodage par lots. Le nombre de requêtes simultanées émises par le service de géotraitement peut être configuré par un administrateur du portail. Si le service de géotraitement émet un nombre excessif de requêtes simultanées au localisateur, les performances de ce dernier risquent d’être médiocres et l’exécution du service de géotraitement risque de connaître un nombre croissant d’échecs. C’est pour cette raison que l’administrateur doit définir le nombre d’instances utilisées par le service de géotraitement en fonction du nombre d’instances disponibles pour le service de localisateur et configurer le nombre de requêtes de géocodage par lots simultanées qui peuvent être émises par n’importe quelle instance du service de géotraitement GeocodingTools.

Le nombre d’instances du service de localisateur doit être supérieur ou égal au nombre d’instances disponibles dans le service de géotraitement GeocodingTools. Le nombre de requêtes de géocodage par lots simultanées doit être défini proportionnellement au nombre d’instances disponibles à la fois pour le localisateur et pour les services de géotraitement. Par exemple, si huit instances sont disponibles pour le service de localisateur et que deux instances sont disponibles pour le service de géotraitement, le nombre suggéré de requêtes de géocodage par lots simultanées doit être défini sur quatre. Lors de son exécution, le service de géotraitement envoie quatre requêtes de géocodage par lots simultanées au service de localisation. Si un plus grand nombre d’instances est disponible pour le service de localisation, le nombre de requêtes de géocodage par lots simultanées doit être ajusté conformément afin d’optimiser l’utilisation des instances pour le service de localisation.

Notez que le service Esri World Batch Geocoder (Géocodeur mondial par lots Esri) ne peut pas être configuré de façon à utiliser plus de requêtes simultanées. La configuration suivante s'applique à tous les autres services de localisation publiés qui sont configurés en tant que services utilitaires.

Pour configurer le nombre suggéré de requêtes de géocodage par lots simultanées pour votre service de localisateur, procédez comme suit :

  1. Accédez à l’emplacement de partage du répertoire Portal for ArcGIS et connectez-vous en tant que membre doté de privilèges administratifs. L’URL est au format https://webadaptorhost.domain.com/<webadaptorname>/sharing/rest.
  2. Accédez à Accueil > Portails > Auto.
  3. Au bas de la page, cliquez sur Mettre à jour.
  4. Dans la zone de texte Geocode Service (Service de géocodage), les services de localisation actuellement configurés avec le portail apparaissent. Pour les services qui autorisent le géocodage par lots (identifiables à leur propriété batchdéfinie sur true), vous pouvez configurer le nombre suggéré de requêtes de géocodage par lots simultanées. Choisissez le service à configurer avec cette propriété. La valeur JSON dans la zone de texte Service de géocodage sera au format suivant :
    [{
            "url" : "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
            "northLat" : "Ymax",
            "southLat" : "Ymin",
            "eastLon" : "Xmax",
            "westLon" : "Xmin",
            "name" : "Esri World Geocoder",
            "batch": false,
            "suggest" : true
        }, {
            "url" : "https://machine.domain.com/server/rest/services/Locators/USA/GeocodeServer",
            "name" : "Streetmap Premium USA Geocoder",
            "placeholder" : "Find address or place",
            "singleLineFieldName" : "SingleLine",
            "batch" : true,
            "placefinding" : true,
            "suggest" : true,
            "zoomScale" : 10000
        }]

  5. Ajoutez la propriété numBatchThreads à tous les services de localisateur que vous souhaitez utiliser avec le service de géotraitement GeocodingTools. Pour définir la valeur numBatchThreads, déterminez d’abord le nombre de requêtes de géocodage par lots simultanées que vous voulez activer pour un service de localisation donné, puis définissez la propriété sur ce nombre. Notez qu’afin de configurer numBatchThreads dans le service de localisation, batch doit être défini sur true dans le service.

    Dans cet exemple, le nombre de requêtes de géocodage par lots simultanées qui peuvent être autorisées pour le service utilitaire Streetmap Premium USA Geocoder est défini sur quatre.

    [{
            "url" : "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
            "northLat" : "Ymax",
            "southLat" : "Ymin",
            "eastLon" : "Xmax",
            "westLon" : "Xmin",
            "name" : "Esri World Geocoder",
            "batch": false,
            "suggest" : true
        }, {
            "url" : "https://machine.domain.com/server/rest/services/Locators/USA/GeocodeServer",
            "name" : "Streetmap Premium USA Geocoder",
            "placeholder" : "Find address or place",
            "singleLineFieldName" : "SingleLine",
            "batch" : true,
            "placefinding" : true,
            "suggest" : true,
            "zoomScale" : 10000,
            "numBatchThreads" : 4
        }]

  6. Une fois la valeur JSON mise à jour dans la zone de texte Service de géocodage, cliquez sur Mettre à jour l'organisation au bas de la page.

Outils compatibles avec le géocodage par lots

Une fois que l’administrateur ArcGIS a configuré la propriété numBatchThreads par localisateur, les utilisateurs peuvent profiter de performances accrues dans le cadre du géocodage par lots. Les outils qui bénéficient de cette optimisation des performances sont les suivants : Geocode Table (Géocoder la table), Geocode Locations From Table (Géocoder des emplacements depuis la table) et Geocode File (Géocoder le fichier) dans ArcGIS Pro, ainsi que Geocode Locations from Table (Géocoder des emplacements depuis la table) dans Map Viewer.