Suite

Combien de couches doivent être dans un MapService - quels sont les compromis ?


Lors de la configuration de MapServices for ArcGIS, on me donne souvent un mxd qui contient de nombreuses couches et on me dit de le publier.

Dois-je avoir plus de services de carte avec moins de couches dans chacun, ou moins de services de carte avec plus de couches dans chacun ?

Quels sont les compromis ?


Les services de carte sont assez coûteux. Ils nécessitent au moins 1 processus ArcSOC pour être toujours en cours d'exécution et toujours consommer de la mémoire (60 à 100 Mo/chacun sur ma boîte - pas exactement insignifiant). Windows a également un tas de bureau plafonné qui peut être problématique lors du démarrage de nombreux processus. J'ai souvent vu des clients suivre la voie "continuer à ajouter des services de carte" uniquement pour découvrir qu'ils atteignent rapidement le sommet de ce que leur serveur peut prendre en charge. Chaque service de carte nécessiterait également ses propres connexions à la base de données, ce qui peut être important à prendre en compte.

Je suppose qu'il existe également des pénalités de performances avec un grand nombre de couches dans un seul service. Je n'ai aucune information sur ce que c'est, mais je ne peux pas imaginer que ce soit aussi coûteux que des services cartographiques supplémentaires.


Lors de la publication d'un service, il est toujours bon de prendre en compte le public cible et ses objectifs sur la carte. Ont-ils besoin d'une carte rapide ? Ont-ils besoin d'une carte précise ? Une jolie ? Veulent-ils faire glisser les choses hors de leur chemin ? Vont-ils griffonner partout ?

Si vos couches ont plusieurs sources de données différentes, le regroupement des couches provenant de sources de données similaires (soit exactement les mêmes, soit la même projection, soit la même vitesse moyenne) peut fonctionner correctement. Ensuite, vous n'attendez pas que la couche la plus lente se charge pour obtenir l'intégralité de votre image de carte.

S'il est probable que vos utilisateurs aient un besoin métier spécifique pour un tas de couches, il est alors pratique de pouvoir désactiver ou supprimer le service. Il est beaucoup plus facile de dessiner une image de carte entière avec une transparence de 50 % sur le client que d'amener le serveur à la peindre de cette façon.

Si l'étiquetage et le rendu sont très importants, alors avoir moins de services avec plus de couches fonctionnera probablement mieux. Le fait que plusieurs services rendent leurs propres étiquettes, puis se composent ensemble entraînera plus de collisions d'étiquettes qu'un seul service avec de nombreuses couches, car ArcGIS Server ne sera pas en mesure de « planifier » l'emplacement de chaque étiquette dans les différents services.

De même, si vous avez affaire à des polygones semi-transparents, les avoir tous dans un seul service fonctionnera mieux pour composer les images, surtout si vous dessinez également avec un calque photo où la compression JPEG sera utile.


Regroupez les fc dans la mesure du possible en sous-types, ce qui réduit la surcharge sur le serveur et donne la possibilité de maintenir moins de fc dans un service de carte.