- Astuces générales
- Configurer le document ArcMap pour conserver les ID de couches et de tables
- Pouvez-vous mettre en cache la carte pour améliorer les performances ?
- Conseils relatifs aux performances pour les cartes non mises en cache
- Allez-vous afficher cette carte sur un périphérique mobile ?
- Allez-vous effectuer une analyse du réseau sur le serveur avec cette carte ?
Pour rendre une carte disponible sur le Web, vous devez la créer dans ArcMap, la publier sur votre site ArcGIS for Server, puis utiliser le service de carte résultant dans une application cliente. De nombreuses opérations possibles avec les services de carte nécessitent une certaine préparation dans la phase de création initiale. Cette rubrique comprend des interrogations à envisager lors de la création d'une carte destinée à être publiée sur votre site.
Astuces générales
Les astuces suivantes sont importantes pour toutes les cartes devant être publiés sur votre site ArcGIS Server :
Evitez d'utiliser des caractères non alphanumériques (autres que des espaces) dans les noms des blocs de données ou des couches. Lorsque vous publiez un service, les noms des blocs de données et des couches sont parfois utilisés dans les URL, les noms des dossiers en cache et les paramètres de demande de service Web. Il est possible que les caractères non alphanumériques ne soient pas interprétés correctement dans ce cas. Soyez particulièrement attentif lorsque votre service est exposé via des spécifications de l'OGC. Par exemple, consultez Propriétés de service WMS disponibles pour connaître la liste des caractères qui ne doivent jamais être utilisés avec les services WMS.
Supprimez les informations confidentielles des propriétés du document. ArcGIS Server comprend le Répertoire des services, qui permet aux utilisateurs de parcourir le contenu de votre serveur et d'obtenir des métadonnées concernant vos services. Même si vous avez l'intention de rendre vos services publiquement visibles par l'intermédiaire du Répertoire des services (configuration par défaut), des informations confidentielles que vous souhaitez masquer peuvent subsister dans votre carte. Pour consulter les informations qui peuvent être visibles, ouvrez votre carte dans ArcMap et cliquez sur Fichier > Propriétés du document dans le menu principal. Au moment de publier votre carte, vous aurez l'occasion de supprimer tout nom d'utilisateur de l'auteur, commentaires ou autres informations que vous ne souhaitez pas rendre visibles par l'intermédiaire de l'Editeur de services. Modifiez les informations en fonction du public visé et de la fonction du service de carte, s'il y a lieu.
Supprimez les couches de service de carte de votre choix du document ArcMap. La publication d'un document ArcMap avec une couche de service incorporée n'est pas autorisée.
Définissez explicitement une couleur d'arrière-plan de bloc de données au lieu de conserver la couleur d'arrière-plan nulle par défaut. Le service de carte traite la couleur d'arrière-plan comme transparente, évitez par conséquent de sélectionner une couleur figurant ailleurs dans votre carte. Pour éviter que les surfaces blanches de votre carte deviennent transparentes, vous pouvez définir la couleur d'arrière-plan au couleur proche du blanc (exemple : RVB 254, 255, 255).
Vous pouvez définir la couleur d'arrière-plan sur l'onglet Cadre de la boîte de dialogue Propriétés du bloc de données.
Configurer le document ArcMap pour conserver les ID de couches et de tables
Dans les versions précédentes d'ArcGIS for Server, les ID de couches et de tables des services de cartes et d'entités n'étaient pas conservés lorsque le document ArcMap source était modifié. Vous deviez donc mettre à jour les applications clientes faisant appel aux couches et tables pour utiliser les ID de couches. Pour éviter la mise à jour des applications clientes, il est recommandé de configurer le document ArcMap de sorte à ce qu'il conserve les ID de couches et de tables, ainsi qu'il est décrit ci-dessous.
- Ouvrez le document ArcMap source (MXD) dans ArcMap.
- Cliquez avec le bouton droit de la souris sur nom du bloc de données souhaité et sélectionnez Propriétés.
- Dans la boîte de dialogue Propriétés du bloc de données, cliquez sur Général et activez l'option permettant d'Autoriser l'attribution d'ID numériques uniques pour la publication des services de carte.
- Cliquez sur OK. ArcMap affecte automatiquement des ID séquentiels à chaque couche ou table du bloc de données.
- Si vous le souhaitez, vous pouvez affecter vos propres ID personnalisées aux couches et tables :
- Cliquez avec le bouton droit sur la couche ou la table dans laquelle vous souhaitez affecter un ID personnalisé et sélectionnez Propriétés.
- Dans la boîte de dialogue Propriétés de la couche, cliquez sur le bouton Général, puis affectez un entier de votre choix au champ ID de couche.
- Cliquez sur OK.
- Répétez les sous-étapes ci-dessus pour chaque couche ou table souhaitée.
- Publiez le document ArcMap ou remplacez le service existant.
Les ID de couche sont désormais conservés après publication. Vous n'aurez plus besoin de modifier les applications clientes après avoir modifié le document ArcMap source.
Pouvez-vous mettre en cache la carte pour améliorer les performances ?
Si votre carte contient des données peu susceptibles de changer, envisagez de la mettre en cache pour améliorer les performances. Lorsque vous mettez votre carte en cache, vous créez un ensemble de cartes de type image prérendue à certains niveaux d'échelle. La mise en cache réelle survient après la publication de votre carte en tant que service. Toutefois, si vous avez l'intention de mettre la carte en cache, cela influence le processus de création de la carte. Vous devez créer la carte pour lui conférer une apparence convenable à toutes les échelles mises en cache. Vous pouvez utiliser tous les outils cartographiques sans effet sur les performances, car les tuiles mises en cache sont uniquement des images des données ; les moteurs de rendu et d'étiquetage réels ne sont pas utilisés après la création du cache.
Si vous ne pouvez pas mettre votre carte en cache, les moteurs d'étiquetage et de rendu affectent les performances du service de carte. Pour plus d'informations, reportez-vous à la rubrique En quoi consiste la mise en cache de carte ?.
Conseils relatifs aux performances pour les cartes non mises en cache
Vous devez créer un cache de carte dans toutes les situations appropriées. Toutefois, si vous disposez de volumes de données importants qui changent fréquemment, il peut s'avérer impossible de créer et de gérer un cache de carte. Dans ce cas, vous pouvez utiliser les astuces ci-dessous pour améliorer les performances de votre carte. Au moment de publier votre carte, vous aurez la possibilité de l'analyser avec l'Editeur de services. Cela vous aidera à cerner rapidement des moyens d'améliorer la performance de votre carte.
Définir un rendu dépendant de l'échelle pour les couches de données - Utilisez le rendu dépendant de l'échelle pour éviter que des couches superflues ne soient représentées lorsque vous effectuez un zoom arrière sur la carte. Les couches détaillées ou comportant de nombreuses données peuvent être plus appropriées seulement lorsque vous utilisez une échelle plus grande pour effectuer un zoom avant sur la carte.
Supprimer les couches et blocs de données inutilisés - Vérifiez les modes Mise en page et Données, et assurez-vous que votre document ArcMap ne contient pas de blocs de données ou couches sans aucun rapport avec l'usage qui sera fait de la carte. Par exemple, si le mode Mise en page contient des blocs de données qui ne s'afficheront dans aucune des applications qui utilisent le service, supprimez-les.
Utiliser les ensembles de définition de manière appropriée - Un ensemble de définitions peut jouer le rôle de filtre pour limiter le volume de données sur la carte, permettant d'accélérer son affichage. Par exemple, si vous créez une carte d'un Etat et que la classe d'entités contient des données pour l'ensemble du pays, vous pouvez utiliser un ensemble de définitions pour n'afficher que les entités comprises dans les frontières de l'Etat. Prenez garde, certaines requêtes complexes peuvent avoir un effet négatif sur les performances.
Simplifier la symbologie des couches - Les symboles complexes peuvent être plus longs à afficher que les symboles simples. Dans la mesure du possible, utilisez des symboles de ligne et de remplissage simples, en évitant de recourir à une symbologie contenant plusieurs couches, des motifs pointillés complexes, des lignes à barbules ou des contours. Les symboles de panneaux d'autoroute peuvent également ralentir les performances d'affichage.
Lorsque vous utilisez un symbole de remplissage par image, vous pouvez améliorer les performances en utilisant un fichier EMF au lieu d'un fichier BMP.
Une méthode simple pour simplifier une partie de la symbologie de votre carte consiste à utiliser le style ESRI_Optimized. Ce style contient des symboles linéaires et de remplissage destinés à augmenter les performances tout en conservant une apparence visuelle similaire à celle de leurs équivalents du style Esri par défaut. Reportez-vous à la rubrique Organisation du contenu des styles dans l'aide d'ArcGIS pour apprendre à utiliser ce style.
Si vous créez un service de carte mis en cache, la simplification de votre carte n'affecte pas la vitesse de livraison de la carte terminée ; elle affecte uniquement la vitesse de création du cache. Si la création de votre cache nécessite une durée raisonnable, il est éventuellement inutile de s'inquiéter de la simplification des symboles.
Utiliser des annotations plutôt que des étiquettes - Les étiquettes exigent de l'ordinateur qu'il prenne des décisions en termes de positionnement. En règle générale, l'utilisation d'une couche d'annotations se révèle donc plus rapide.
Simplifier les étiquettes - Si votre carte contient des étiquettes, utilisez les pondérations de conflit d'entités et d'étiquettes avec parcimonie. Les halos, décalages et autres effets d'étiquettes ralentissent également les performances.
Définir un rendu dépendant de l'échelle pour les étiquettes - Lorsque vous effectuez un zoom arrière sur une carte, davantage d'étiquettes doivent être affichées, ce qui prend du temps. Examinez votre carte et déterminez si des étiquettes ne doivent pas être affichées à des échelles inférieures.
Utiliser le même système de coordonnées pour les données et la carte - Lorsque vos données source et votre carte présentent des systèmes de coordonnées distincts, vos données doivent être projetées à la volée, ce qui diminue les performances. Pour optimiser les performances, utilisez le même système de coordonnées pour vos données et votre document ArcMap. Si ce n'est pas possible, assurez-vous que les transformations géographiques appropriées sont appliquées aux couches devant être projetées à la volée.
Ajuster la durée pendant laquelle le navigateur utilisera une réponse présente dans son cache – Lorsque votre carte est affichée dans un navigateur Web, la réponse à l'image de la carte provenant du serveur est mise en cache par le navigateur et réutilisée pendant un certain temps. Selon la manière dont votre service de carte et les données qui lui sont associées sont utilisés dans les applications, vous pouvez envisager d'ajuster la durée pendant laquelle le navigateur utilisera une réponse figurant dans son cache. Pour obtenir des détails complets, reportez-vous à la section Amélioration des performances d'affichage des services de carte ci-dessous.
Amélioration des performances d'affichage des services de carte
Lorsque les clients envoient des demandes à ArcGIS for Server pour afficher un service de carte, la réponse du serveur est généralement mise en cache par le navigateur et réutilisée pendant un certain temps. Ce comportement aide ArcGIS for Server à optimiser les performances d'affichage pour votre service de carte. Toutefois, selon la manière dont votre service de carte et les données qui lui sont associées sont utilisés dans les applications, vous pouvez envisager d'ajuster la durée pendant laquelle le navigateur utilisera une réponse figurant dans son cache. Pour cela, il convient d'ajouter une propriété nommée cacheControlMaxAge dans le fichier JSON (JavaScript Object Notation) du service.
Utilisation de la propriété cacheControlMaxAge
Les réponses des services de carte ArcGIS for Server incluent un en-tête ETag (balise d'entité) et Cache-Control. La valeur de l'en-tête ETag identifie de façon unique la réponse. L'en-tête Cache-Control possède une valeur d'âge maximal qui informe le navigateur de la durée maximale pendant laquelle il peut réutiliser une réponse à partir du cache du navigateur. Cette valeur est contrôlée par la propriété cacheControlMaxAge.
Lorsqu'une demande est répétée et que l'âge maximal du cache n'a pas encore expiré, le navigateur utilise la réponse mise en cache sans envoyer la demande au serveur. Si l'âge maximal a expiré, le navigateur doit envoyer la demande au serveur et définir un en-tête IF-NONE-MATCH avec une valeur ETag associée correspondant à la réponse présente dans le cache. ArcGIS for Server évalue la demande et utilise la valeur ETag pour déterminer si la réponse a changé. Si la réponse du serveur diffère de la copie stockée dans le navigateur, le serveur envoie une réponse entièrement nouvelle au navigateur. Si la réponse est identique à la copie du navigateur, le serveur avertit le navigateur de continuer à utiliser la réponse présente dans son cache.
Définition de la valeur de la propriété cacheControlMaxAge
En tant qu'administrateur ArcGIS for Server, vous pouvez définir la propriété cacheControlMaxAge afin de spécifier la durée pendant laquelle un navigateur est autorisé à utiliser une réponse mise en cache. Le fait de réduire les éventualités où ArcGIS for Server doit envoyer une réponse complète permet d'améliorer l'efficacité du cache de votre navigateur, de favoriser l'optimisation de vos applications et d'économiser la bande passante de votre réseau.
La valeur par défaut pour les services de carte est 0. Cela signifie que le navigateur renverra toujours une demande et qu'ArcGIS for Server traitera cette demande et enverra une réponse complète au navigateur si le contenu a changé. Cette valeur fonctionne correctement pour la plupart des applications.
Pour les services de carte avec des jeux de données ou une symbologie qui changent fréquemment, une valeur telle que 5 minutes (300 secondes) est recommandée. Dans les applications avec des animations ou des données temporelles, vous devez envisager d'augmenter cette valeur pour rendre les animations plus fluides.
Pour ajouter la propriété cacheControlMaxAge à votre service et spécifier sa valeur par défaut, procédez comme suit :
- Dans un navigateur Web, ouvrez le répertoire d'administrateur d'ArcGIS for Server et connectez-vous avec un utilisateur doté des privilèges d'administrateur. L'URL est au format suivant : http://gisserver.domain.com:6080/arcgis/admin.
- Cliquez sur services et sélectionnez le service de carte à modifier dans la liste Services. Si votre service n'apparaît pas dans cette liste, il est peut-être dans un répertoire sous le dossier racine.
- Dans la page Service - <nom du service> (<type de service>), faites défiler l'affichage vers le bas et cliquez sur modifier.
- Dans la boîte de dialogue Propriétés du service, recherchez la section "properties" du fichier JSON du service.
- Ajoutez la propriété cacheControlMaxAge dans la section et spécifiez sa valeur (en secondes). Par exemple :
"properties": { "cacheControlMaxAge": "300",
- Cliquez sur Enregistrer les mises à jour.
- Dans la page Service - <nom du service> (<type de service>), vérifiez que la propriété cacheControlMaxAge et la valeur que vous lui avez attribuée figurent dans la section Propriétés.
Allez-vous afficher cette carte sur un périphérique mobile ?
La fonction Accès aux données mobiles vous permet d'extraire le contenu d'un service de carte pour l'afficher sur une tablette PC ou un appareil Windows Mobile. Si vous savez que votre carte doit être affichée sur un périphérique mobile, rendez-la simple. Envisagez la généralisation des données, comme le lissage de polygone et la réduction de la résolution du raster, pour les couches de référence ou d'arrière-plan. Cela permet d'accélérer l'affichage de la carte.
Allez-vous effectuer une analyse du réseau sur le serveur avec cette carte ?
Si vous avec l'intention d'utiliser cette carte pour l'analyse du réseau sur le serveur, vous devez inclure une couche d'analyse du réseau qui référence un jeu de données réseau. Lorsque vous publiez le service de carte, vous avez ensuite l'option d'activer la fonction Analyse du réseau. Cette opération crée un service Web pour l'exécution de tâches d'analyse du réseau sur votre carte.