Configuration et optimisation
d'ArcGIS Server
Gaëtan LAVENU – ESRI France
Sylvain BARD-MAÏER – ESRI France
1UC 2007 Tech Sessions
2
Plan de la présentation
• Introduction
• Organiser et gérer ses données
• Concevoir des cartes optimisées pour une utilisation en
ligne
• Mettre en cache ou publier dynamiquement
de services de cartes
• Sécuriser l'accès à un service ou à une application
3
Plan de la présentation
• Introduction / Concepts
– Fond de carte et couches métier
– Cache et services de cartes dynamiques
– ArcGIS Desktop pour la conception
• Organiser et gérer ses données
• Concevoir des cartes optimisées pour une utilisation en
ligne
• Mettre en cache ou publier dynamiquement
de services de cartes
4
Couches de fond de carte / Couches métier
• Fond de carte
– Occupation du sol
– Plan topographique
– Imagerie / Orthophotos / Scans
– Parcelles / Batîments / Voirie
• Couches métiers
– Voies représentées par leur hauteur
d'enneigement
– Réseau électrique représentant l'ancienneté
de la dernière opération de maintenance
– Zonage d'inondation attendu selon un scénario
de précipitation et débit de mon cours d'eau
Statiques
Peu de fonctionnalités
Dynamiques
Fonctionnalités
riches
UC
2007
Tech
5
Fonds de cartes … utiliser des caches
• Découpage d'images
individuelles de la carte
couvrant l'étendue de la
couche à différentes
échelles
• Potentiellement très riches
en termes d'information
cartographique (
symbologie et textes)
• Affichages très rapides
6
Couches métiers … utiliser des services dynamiques
• Couches vectorielles
• Arrière plan transparent
• Symbologie optimisée
• Affichage dynamique
• Représentation "en temps réel" des
données de la Géodatabase
7
Dans les deux cas … ArcGIS Desktop
• ArcGIS Desktop est l'outil de conception des services de
carte
– Pour sa simplicité d'utilisation
– Pour la gestion et le traitement des données
– Pour la richesse des options de représentation cartographique
(symbologies, représentations, étiquettes, annotations,…)
• Principales évolution en 9.2
– Notion de représentations cartographiques
– Styles de symboles optimisés pour le rendu d'entités vectorielles
– Système de mashup et de cache (ArcGIS Server)
8
Plan de la présentation
• Introduction / Concepts
• Organiser et gérer ses données
– Optimiser l'usage des données
• Concevoir des cartes optimisées pour une utilisation en
ligne
• Mettre en cache ou publier dynamiquement
de services de cartes
9
Organiser et gérer les données
• Déterminer les données nécessaires à la carte
– Les échelles
– Les attributs pour la cartographie
– Les attributs pour les fonctions (interrogation, info-bulles, …)
• Vérifier l'accessibilité aux données
– Performance de la connexion entre les machines du
GIS Server et la Géodatabase
– Disponibilité (considérer le compte utilisé par ArcGIS Server)
– La prise en compte des mises à jour des données (si modification de
schéma dans des Géodatabases ArcSDE, pas de redémarrage des
services nécessaire)
10
Optimiser l'usage des données
• Optimisation des performances de la Géodatabase
– Construire les indexes adéquats
– Utiliser une précision de données (spatiales et attributaires) adaptée
– Optimiser la base de données (DBA)
• Utiliser les données pertinentes aux échelles pertinentes
– Ne pas hésiter à généraliser ou à agréger les données
• Déterminer les champs indispensables pour la cartographie
– Les champs pour les classifications (champs numériques si possible)
– Les champs à utilise pour les étiquetages
– Les champs des Représentations
• Limiter le MXD à un Bloc de Données
• Essayer d'utiliser des couches ayant la même projection
11
Plan de la présentation
• Introduction / Concepts
• Organiser et gérer ses données
– Optimiser l'usage des données
• Concevoir des cartes optimisées pour une utilisation en
ligne
– Conception du document ArcMap
– Affichage des informations pertinentes
– Choix de symbologie et d'éléments textuels efficaces
– Optimiser la performance globale de la carte
• Mettre en cache ou publier dynamiquement
de services de cartes
12
Réduire la quantités d'information visible
• Une carte de démarrage simple
– Minimiser les couches visible par défaut
– Les couches supplémentaires sont activées par l'utilisateur
– Utiliser des ensembles de définition
• Utiliser les plages d'échelle d'affichage
– Afficher un nombre similaire d'objets à toute les échelles
– Regrouper les couches par échelles plutôt que par thème
13
Choisir une symbologie optimum
• Ce qui accélère l'affichage …
– Les géométries simples (mono-partie, sans segments paramétriques)
– Utilisation appropriée des options de niveaux de symboles
– Faire des classification plutôt sur des entiers que sur des chaînes
• Ce qui ralentit l'affichage …
– Les symboles avec des formes complexe ou de nombreuses couches
– Les "gros" symboles (> 60 pts)
– Les lignes avec des motifs et des modèles complexes
– Les trames surfaciques complexes (images/gradients/densité de
points)
– Les effets spéciaux (halos, transparence, masques)
14
Symboles ponctuels
* Temps d'affichage avec un shapefile de 30000 entités
15
Symboles linéaires / Contours de polygones
* Temps d'affichage avec un shapefile de 100 000 entités
16
Symboles surfaciques
* Temps d'affichage avec un shapefile de 75000 entités
UC
2007
Tech
17
Etiquetage de la carte
• Ce qui accélère l'affichage …
– Utiliser les annotations plutôt que les étiquettes
– Utiliser les pondérations et règles de conflit des étiquettes le moins
possible
– Faire des classification plutôt sur des entiers que sur des chaînes
• Ce qui ralentit l'affichage …
– Effets spéciaux (remplissage par des trames, les halos, …)
– Les grandes tailles de texte ( > 60 pts)
– Les bulles et lignes de rappel
– Les classes d'étiquettes avec des requêtes SQL et VB scripts
complexes
– Eviter les règles de placement complexes (Maplex)
18
Plan de la présentation
• Introduction / Concepts
• Organiser et gérer ses données
• Concevoir des cartes optimisées pour une utilisation en ligne
• Mettre en cache ou publier dynamiquement
de services de cartes
– Quand utiliser des caches
– Comment ça marche
– Conseils et astuces
19
Un cache c'est quoi au juste ?
Des images pré-calculées de votre carte à différentes échelles stockées sur le disque
Niveaux
d'échelles
du cache
Lignes
Colonnes
20
Utiliser un cache (ou pas)
• Qu'est ce qui est le plus rapide ?
– Demander à un processus de générer une image de la carte
– Demander à un serveur Web de renvoyer une image existante
• Avec un cache, la carte est calculée une seule fois
• Le calcul du cache est un investissement
• Cache
– Fond de carte
– Couche métier plus ou moins statique
– Etiquetage et/ou symbologie complexe
• Pas de cache
– Couches dynamiques (régulièrement mises à jour)
– Couches fonctionnelles (sélections, requêtes, géotraitements, …)
• Ombrage du relief
• Transparence des couches
• Etiquetage Maplex
• Pas d'ombrage
• Couleurs simples
• Annotations
Un moyen de faire rimer qualité cartographique avec
performance d'affichage
Cache: Affichage = 1 s. Dynamique: Affichage = 4 s.
22
Le cache devient un standard d'industrie
• Google Maps
• Microsoft Virtual Earth
• Yahoo! Maps
• ArcGIS Online
• NASA World Wind
• Autres …
• Projet OGC: WMS-C (Web Mapping Service - Cached)
– Projet d'en faire un profil spécifique du WMS
23
Comment créer un cache ?
• Application:
– En 9.2: dans ArcCatalog
– En 9.3: dans ArcCatalog ou le Manager
• Créer un document ArcMap puis le publier
• Utiliser l'onglet Cache dans les propriétés du Map Service
Deux types de cache
• Cache fusionné (option par défaut)
– Inclus toutes les couches du Map Service
dans une seule image
– Très bonne performance
– Impossible de rendre individuellement
visible/invisible l'une ou l'autre des couches
• Cache multi-couche
– Calcul des images par couches
ou groupes de couches
– La performance décroit avec le nombre
de couches ou groupe de couches
– Intéressant pour le client ArcMap
– Possible de rendre individuellement
visible/invisible l'une ou l'autre des couches
25
Démo 1
Comparer une application avec et sans cache
UC
2007
Tech
26
Puis-je continuer à accéder aux données ?
• Oui … le serveur continue à accéder aux
données pour les opérations suivantes
• Query
• Identify
• Selection
UC
2007
Tech
27
Avant de créer votre premier cache
• Bien réfléchir à la visibilité des couches / différentes échelles
– Raisonner niveau d'échelle par niveau d'échelle
• Réfléchir au schéma des tuiles?
– Origine du tuilage
– Taille des tuiles (en pixels)
– Niveaux d'échelles
– Etendue géographique
• Utiliser si possible un même schéma pour tous les caches
– Prendre les mêmes étendues et les mêmes niveaux d'échelle pour tous
les caches
– Permet de s'assurer d'une combinaison performante des caches dans
tous les client s(ArcGIS Desktop, Applications Web Map, …)
• Essayer de créer des fonds de carte regroupés par
thématiques
– Cadastre, Hydrographie, Réseau routier, Imagerie, …
28
Schéma de tuilage (1/3)
• Chaque cache possède une référence spatiale
– Issue du Bloc de Données du document ArcMap
• Origine du tuilage
– Exprimé en unités de la carte
– Aucune tuile ne pourra être générée à l'Est ou au Nord de ce point
• Taille des tuiles
– Exprimés en pixels
29
Schéma de tuilage (2/3)
• Résolution des images
– Exprimé en DPI (Dot Per Inch)
– Par défaut 96 dpi, si > alors plus de fichiers seront générés
• Echelles (Level Of Details)
– Liste des échelles pour lesquels
seront calculées un cache
– Influence directement le nombre
de fichiers images à créer
UC
2007
Tech
30
Schéma de tuilage (3/3)
• Format des images
– PNG8 :
• Format compressé sans perte, codé sur 8-bit (palettes de 256 coucleurs)
• La transparence est codée dans dans la palette (bien supportée par les
navigateurs web)
– PNG24:
• Format compressé sans perte, codé sur 24-bit (3 bandes, 16 M de
couleurs)
• La valeur de transparence est codée en en-tête du fichier (non supporté
par certains navigateurs web)
– PNG32:
• Format compressé sans perte, codé sur 32-bit (4 bandes, 16 M de
couleurs)
• La valeur de transparence est codée sur une bande bien supportée par
les navigateurs web)
– JPEG
• Format compressé avec perte, 16 M de couleur, ne supporte pas la
transparence
UC
2007
Tech
31
Cache Tile Format
• PNG32 — a lossless, four-channel image format that
supports large color variations (16 million colors) and
transparency.
• JPEG — a lossy, three-channel image format that supports
large color variations (16 million colors) but does not
support transparency.
32
Le fichier de configuration du cache (conf.xml)
• Contient tous les paramètres du cache
• Situé à la racine de l'arborescence
des fichiers images
UC 2007 Tech Sessions 33
Option Anti-aliasing
• Permet d'obtenir des contours et des textes plus lissés
• Le résultat à l'écran peut potentiellement être meilleur
qu'avec ArcMap
• Attention à cette option lors d'une superposition de plusieurs
caches dans une même carte
– http://serverx.esri.com/antialiasingexamples/
UC
2007
Tech
34
Gérer ses caches – Les outils 9.2
• GenerateMapServerTilingScheme
– Génère un schéma de tuilage
(conf.xml)
• GenerateMapServerCache
– Génère les tuiles de cache d'un Map Service
– Possibilité d'utiliser un autre schéma que celui proposé par défaut
• UpdateMapServerCache
– Met à jour le cache existant d'un Map Service dans une certaine étendue
– Permet de recréer uniquement les tuiles manquantes ou toutes les tuiles
• DeleteMapServerCache
– Supprime la totalité du cache d'un Map Service
35
Quelques conseils pour générer des caches très
volumineux
• Découper la zone géographique en plusieurs tâches de
calcul de cache distinctes
– Utiliser la commande UpdateMapServerCache sur une étendue
spécifique avec un script (Service Pack 2)
• Si des zones géographiques ne doivent pas être mise en
cache, alors utiliser des "étendues personnalisées" dans
votre MXD
– Corse, Sicile, France Métropolitaine mais pas toutes les échelles
de la Méditerranée
– Vous pouvez créer plusieurs fois le cache avec l'option "Etendue
globale" en utilisant dans le MXD des étendues personnalisées
différentes (il ne faut pas modifier le schéma de tuilage)
36
Ordres de grandeur: Cartosphère France Raster
• Calcul avec un processeur Intel Dual-Core et 3 Go de RAM
Echelle Tailles des fichiers Temps de
génération
1: 500 000 100 K 2 min
… … …
1: 50 000 200 M 2 h
1: 20 000 1 Go 7 h
1: 2500 26 Go 45 h
Total: 60 Go
37
Démo 2
Créer un cache avec ArcCatalog
38
Les caches avec l'application Web Map
39
Les caches avec l'application Web Map
• L'application Web Map (le Web ADF) d'ArcGIS Server est
conçu pour travailler avec un ou plusieurs services
cachés
• Utiliser si possible la version 9.2 Service Pack 2
– Plus de possibilité de superposition des caches dans l'application
• Pour tirer partie des performances du cache:
– La navigation est limitée aux échelles du cache
– Les tuiles ne sont pas projetées à la volée
• Différences entre les implémentations de l'ADF en Java et
.NET
UC
2007
Tech
40
Les caches avec l'application Web Map (9.2 SP2)
• Critères de superposition des services cachés avec Java:
– Les projections doivent être les mêmes
– Les échelles communes entre les caches doivent être les mêmes
• Critères de superposition des services cachés avec .Net:
– Les projections doivent être les mêmes
– Les échelles communes entre les caches doivent être les mêmes
– Les origines et les tailles de tuiles doivent être les mêmes
• L'utilisation d'un même fichier conf.xml lors de la création
des caches règle le problème en assurant un schéma de
tuilage identique
41
Utiliser des services cachés dans ArcMap
%temp%\esrimapcache\
UC
2007
Tech
42
Utiliser des services cachés dans ArcMap
• ArcMap est très bien adapté à la consommation des
caches ArcGIS Server
• Zooms très fluides …
– ArcMap associe un niveau d'échelle dans le cache puis le ré-
échantillonne à la volée si nécessaire
– Utilise le niveau d'échelle inférieur le plus proche de l'échelle
courante. Au 1 : 7000 il prendra le niveau d'échelle 5000 et non le
10000.
– La qualité de l'image peut donc varier si vous êtes proche ou non
des niveaux d'échelles prévus dans le cache
• On peut facilement combiner plusieurs couches issues de
services cachés (transparence, …)
• Support la reprojection et la rotation de la carte
43
Démo 3
Consommer un service caché
avec ArcMap
UC
2007
Tech
44
Consommer le cache par développement
• Utiliser les ArcObjects ou l'API SOAP pour
accéder aux informations de configuration d'un
cache
–Interface ITiledMapServer (dans ESRI.ArcGIS.Carto)
• GetTileCacheInfo
• GetTileImageInfo
• Lecture directe et analyse du fichier de
configuration (conf.xml).
– Python, VBScript, VB6, JavaScript, …
Consommer le cache par développement
Utilisation de l'API SOAP dans Visual Studio 2005
UC
2007
Tech
46
Evolution du mécanisme de cache en 9.3
• Facilité de gestion
– ArcGIS Manager et ArcGIS Desktop
• Support du calcul de cache à la demande
– Les tuiles sont construites lorsque un utilisateur les demande (pour
la première fois)
• Possibilité de créer un cache partiel sur des zones
géographiques prédéfinies (par exemple les zones
urbaines les plus peuplées)
• Possibilité de créer des caches selon le même schéma
de tuilage que Google Maps ou Virtual Earth
UC
2007
Tech
47
Création de cache dans ArcGIS 9.3
48
Pourquoi le cache à la demande ?
49
Démo 4
Créer un cache partiel
et configurer un cache à la demande
UC
2007
Tech
50
Conclusion
• Optimiser l'accès et la gestion des données publiées
• Concevoir le document cartographique avec l'idée de le
publier
• Utiliser les symbologies optimisées
• Exploiter les mécanisme d'optimisation d'ArcGIS Server
– Map Service cachés
– Map Services dynamiques
51
Questions / Réponses
Merci de bien vouloir
remplir le questionnaire
Top Related