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

9

Lors de la configuration de MapServices pour ArcGIS, on me donne souvent un mxd qui contient plusieurs 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?

Kirk Kuykendall
la source

Réponses:

5

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 consommer toujours 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 «permet de continuer à ajouter des services de carte» pour découvrir qu'ils atteignaient rapidement le sommet de ce que leur serveur pouvait 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 performance 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 de carte supplémentaires.

Brandon Copeland
la source
4

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 à l'écart? Vont-ils gribouiller 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 la même, 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 auront un besoin commercial spécifique pour un tas de couches, il est pratique de désactiver ou de désactiver le service. Il est beaucoup plus facile de dessiner une image de carte entière avec une transparence de 50% sur le client que de demander au serveur de 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 d'avoir plusieurs services qui rendent leurs propres étiquettes, puis de les regrouper entraînera plus de collisions d'étiquettes qu'un seul service avec beaucoup de couches, car ArcGIS Server ne pourra pas "planifier" où chaque étiquette va dans les différents services.

De même, si vous traitez avec des polygones semi-transparents, les avoir tous dans un seul service fonctionnera mieux pour la composition des images, surtout si vous dessinez également avec une couche photo où la compression JPEG vous aidera.

mwalker
la source
2
J'ajouterais de la sécurité à cette liste. La sécurité d'ArcGIS Server s'arrête au niveau du service. Si vous avez besoin d'une sécurité au niveau des couches, vous devrez diviser vos couches en de nombreux services de carte.
Ryan Taylor
0

Regroupez les fc autant que possible en sous-types qui réduisent la surcharge sur le serveur et qui permettent de maintenir moins de fc dans un service de carte.

Ramakrishna Billakanti
la source