Comment accélérer les services Dynamic Map?

16

Je travaille sur une application basée sur ESRI Flex qui affichera les données d'un service de carte dynamique. Il doit être dynamique, car l'utilisateur final devrait avoir la possibilité d'activer et de désactiver les couches. Cela n'est possible qu'avec les services de carte dynamique et non avec les services de carte en mosaïque.

Quelles sont certaines des mesures qui peuvent être prises pour augmenter la vitesse à laquelle les tuiles sont envoyées au client par le serveur?

Je regarde les cartes dynamiques d'ESRI disponibles sur ArcGIS en ligne, et elles sont assez rapides. Une idée sur la façon dont ils obtiennent de si bonnes performances?

Devdatta Tengshe
la source
4
Vous pouvez utiliser des services de carte en mosaïque séparés pour chaque couche, puis les activer ou les désactiver.
Britt Wescott
@Seth: Je me suis retrouvé avec la même conclusion que vous. Avec le nombre de couches que nous utilisons et le nombre attendu d'utilisateurs simultanés, des services de carte en mosaïque séparés offrent les meilleures performances.
Devdatta Tengshe
Nous avons le même problème, j'ai envoyé une demande d'amélioration à ESRI pour obtenir la prise en charge de l'exécution parallèle des couches dans les services de carte dynamique, je pense que cela augmenterait beaucoup les performances.
MathiasWestin du

Réponses:

11

Vous l'avez peut-être déjà fait, mais il convient de mentionner pour d'autres qui pourraient arriver. Passer du temps à utiliser la barre d'outils de publication du service de carte dans ArcMap peut faire toute la différence dans les performances d'un service de carte dynamique. L'outil Analyser la carte fonctionne bien pour détecter les problèmes qui ralentissent les services de carte. En outre, l'enregistrement et la publication en tant que définition de service de carte (MSD) plutôt que MXD permettent des augmentations de performances significatives.

Quelques liens:

Brenner256
la source
Alors que d'autres réponses soulèvent des points valables, je les avais déjà considérés. Le séminaire auquel vous vous êtes lié m'a fourni des informations dont je n'étais pas au courant en plus de toutes les solutions suggérées par d'autres. Par conséquent, je marquerai votre réponse comme acceptée, car vos liens fournissent plus de points et une manière holistique de résoudre le problème.
Devdatta Tengshe
14

Je suppose que vous aimeriez tout service de carte Web en direct, que vous faites en sorte que votre serveur de carte «pense» le moins possible. En d'autres termes, pré-calculez tout ce que vous pouvez.

  1. Mettez toutes vos données dans le même SRS afin qu'aucune projection ne se produise «à la volée».
  2. Créez des index spatiaux sur vos données.
  3. Créez des aperçus généralisés de vos données et utilisez la dépendance à l'échelle pour sélectionner la couche appropriée pour une échelle particulière. (Par exemple, cela n'a aucun sens de dessiner un poly avec 10 000 sommets si l'image de sortie ne fait que 250 x 250 pixels.)
DavidF
la source
8

Quelques autres points à ajouter à la réponse de DavidF:

  • Si vous le pouvez, assurez-vous d'utiliser un service optimisé (MSD). Ils dessinent plus rapidement qu'un service normal (MXD), et le processus de création du service MSD exécutera une analyse sur votre carte, ce qui peut exposer des problèmes qui pourraient entraîner des temps de dessin plus lents.

  • Utilisez des rendus simplifiés lorsque cela est possible. Évitez les opérations de dessin complexes comme le tramage, les dégradés de couleurs et les marqueurs raster.

  • Utilisez le minimum de données qui répond aux besoins de votre entreprise. Si vous avez des attributs dans vos données qui ne seront pas utilisés pour dessiner la carte, supprimez-les. Même si vous avez besoin de faire rapport sur les données, vous pouvez les obtenir à la demande du client (bien que cela ajoute un travail de programmation supplémentaire)

  • Activez la journalisation détaillée de votre carte et consultez les fichiers journaux pour voir ce que fait ArcGIS Server lorsque vous dessinez une carte. Les instructions pour configurer la journalisation détaillée sont sur le site de blogs d'Esri . C'est pour la version 9.3, mais l'emplacement de configuration est le même pour ArcGIS 10.

N'oubliez pas que le réglage est une opération très spécifique, très subjective et spécifique à ce que vous faites; comparer les performances de votre propre carte avec elle-même sera plus utile que de comparer vos performances à celles de quelqu'un d'autre.

mwalker
la source
J'ai abordé les trois premiers points, mais pouvez-vous nous éclairer davantage sur la journalisation détaillée de la carte? J'ai essayé de le découvrir, mais les seuls liens que je trouve concernent les services ArcIMS.
Devdatta Tengshe
J'ai ajouté un lien vers le blog d'Esri sur la journalisation d'ArcGIS Server.
mwalker