Professional Documents
Culture Documents
t
a
i
r
e
s
Serveur
MapInfo MapXtreme X X X
OpenLyer X X
MapFish client X X Client
CartoWeb client X
MapServer X X X
GeoServer X X X X X
Deegree X X X X X X
PyWPS X
O
p
e
n
S
o
u
r
c
e
Serveur
Zoo X
Tableau 2 : implmentation des standards OGC
Master SIG et gestion de lespace Service Web de gotraitement
38
La communaut open-source a dvelopp un ensemble doutils logiciels permettant de
mettre en place tous les services WEB standards de lOGC. Par contre, les diteurs
respectant les standards ds que ceux-ci sont stables.
6. Le projet ZOO
Le projet ZOO est n pour offrir une solution technique aux besoins de go-traitement en
ligne rencontrs par Geolabs
15
et 3Liz
16
. ZOO est un logiciel open source respectant la
proposition de la norme WPS de lOGC. Il est conu pour crer et enchaner facilement des
Webservices gographiques, partir de librairies open source existantes. Il est bas sur un
noyau crit en C (aka ZOO Kernel), capable de charger des librairies dynamiques et
dorchestrer des services web cods dans diffrents langages de programmation. [ReLucBlog]
Il a pour but de fournir des fonctionnalits avances (conversion, calculs complexes...) au
SIG Web traditionnel, tout en simplifiant le travail du dveloppeur.
6.1 ZOO est compos de trois parties
17
:
1. Le noyau ZOO (ZOO Kernel): il permet de charger des librairies dynamiques et de les
utiliser sous formes de services WPS conus dans diffrents langage de programmation.
2. les services ZOO : Un service correspond un couple compos dun fichier de
mtadonnes et du code correspondant limplmentation. Le fichier de mtadonnes dcrit
toutes les fonctions qui pourront tre appeles via une requte WPS Exec. Les services
peuvent tre facilement implments en C++, Python ou Perl et contiennent les fonctions du
service. Les dveloppeurs de services seront en mesure de facilement mettre en uvre des
services dans leurs langages prfrs sans avoir se soucier des formats dentre et de
sortie, par exemple pour stocker les rsultats, il sera directement effectu par le WPS Service
Kernel.
3. ZOO API
18
(ZOO Client): Le ZOO Client est une API JavaScript conue pour communiquer
avec le ZOO Server via un proxy afin dexploiter les entres et sorties du ZOO Server
uniquement en JavaScript.
15
http://www.geolabs.fr
16
http://www.3liz.com/
17
Source : http://zoo-project.org/
18
Application Programming Interface
Master SIG et gestion de lespace Service Web de gotraitement
39
6.2 Le fonctionnement du ZOO
Le noyau du ZOO (ZOO Kernel) manipule et chane les ZOO services, Un ZOO service se
compose de:
1. Un fichier de mtadonnes .zcfg (Title, Metadata, Inputs,Output...)
2. Service Provider Service Shared Object (SSO) ( Dynamic library, Python
modules, JAVA Class, PHP script ...)
Les requtes WPS GetCapabilities et DescribeProcess sont rsolues uniquement en
analysant le fichier .zcfg avec Flex par exemple.
Le ZOO Kernel est capable de charger dynamiquement des Services Shared Objects , den
extraire les fonctions dsires, puis de les excuter pour rpondre la requte Execute.
Exemple : Outil de profil
Cet outil utilise le service Gdal_ExtractProfile pour extraire la valeur Z associe chaque
point de la ligne cre.
Exemple: Exemple.py
def ExpService(conf,inputs,outputs):
outputs["output1"]={"value": "ExempleService","datatype": "string"}
return Service_Succeeded
Exemple : Exemple.zcfg
[Exemple]
Title = Retourner une chaine la chane de caractre Exemple string.
serviceProvider = test_service
serviceType = Python
<DataOutputs>
[output1]
Title = ExempleString
<LiteralData>
DataType = string
</LiteralData>
</DataOutputs>
Master SIG et gestion de lespace Service Web de gotraitement
40
Figure 11 : Exemple dmo de loutil de profil
7. PyWPS
PyWPS est une implmentation du standard WPS de lOGC comme dfini dans le document
OGC 05-007r4. Cest un projet relativement jeune, commenc en Mai 2006 son but premier
tait de faire la connexion entre MapServer et le SIG GRASS permettant ainsi un accs
facilit aux diffrents modules de ce dernier directement depuis une interface Web, afin de
pouvoir crer une vritable application WebSIG, capable deffectuer des oprations
complexes. Avec le temps, il sest avr que mme si GRASS est un outil puissant, il nest
pas forcment le meilleur ou le seul choix possible pour toutes les tches. La conception de
PyWPS a chang de telle sorte quil puisse tre utilis sans GRASS en arrire plan, mais avec
nimporte quel autre outil.[Cepi2007]
PyWPS est une application sinterfaant avec plusieurs clients (Navigateur internet, logiciel
SIG, ligne de commande...) pouvant utiliser lensemble des outils disposition sur le serveur.
PyWPS ne traite pas lui-mme les donnes, il utilise pour cela des applications externes telles
que GRASS, GDAL, PROJ, R...
Le dveloppeur na quune seule tche faire : crire un script Python pour dfinir les
entres et les sorties dans une structure de dictionnaire.
Profil du terrain
Master SIG et gestion de lespace Service Web de gotraitement
41
7.1 LAjout dun processus personnalis
Le Process est un script python possdant une classe ayant deux mhodes :
__init__ : sert dfinir les entres et sorties
execute : les oprations de gotraitement sexcutent en appelant la mthode cette
mthode.
La configuration du processus fait partie de la mthode dinitialisation init (self) de la classe.
Les variables obligatoires sont:
# Le Nom du processus : self.Identifier = "Identif"
# La version du processus: self.processVersion = "0.1"
# Titre : self.Title=" Titre de lopration".
Les paramtres optionnels :
# La possibilit de stockage sur le serveur : self.storeSupported = "true"
# Retourner le fichier XML de Statut avant la fin de lexecution : self.statusSupported = "true"
Les donnes dentres et sorties:
Les donnes dentre et de sortie sont dfinies dune manire similaire, dans une structure
de dictionnaire complexe.
7.2 Exemple [Cepi2007]
Le client demande lexcution dune opration de calcul de ligne de vise partir de
coordonnes x et y sur un fichier raster, disponible partir dun serveur distant. Pour lancer
ce processus, nous avons besoin de savoir quel type dentre et de sortie le process
ncessite et renvoie.
7.2.1 La configuration du Processus
x de type LiteralValue ;
y de type LiteralValue ;
maxdist distance maximale lobservateur. De type LiteralValue, valeur minimale
0, maximale 5000 mtres ;
observer hauteur de lobservateur. De type LiteralValue, valeur minimale 0,
maximale 50 mtres ;
dem de type ComplexValue carte raster de modle numrique de terrain, sur
laquelle la ligne de vise doit tre calcule.
Master SIG et gestion de lespace Service Web de gotraitement
42
Exemple de donnes de type ComplexValueReference
Exemple de donnes de type LiteralData
7.2.2 Programmation du processus
Maintenant nous pouvons crire la requte dexcution, lenvoyer au serveur et attendre les
rsultats de calcul. Le serveur va tlcharger le modle numrique de terrain, faire le calcul
de ligne de vise et renvoyer le raster de rsultat au client.
Exemple dune mthode Execute pour le calcule de ligne de vise
19
19
Source : Journal de lOSGeo, Traitement gospatial sur des serveurs distants via Internet PyWPS, Mai 2007
Master SIG et gestion de lespace Service Web de gotraitement
43
8. Deegree
Deegree est un framework Open Source bas sur Java pour le dveloppement
dInfrastructures de Donnes Spatiales. Deegree est bas sur les standards de lOGC et
ISO/TC 211, il sagit de la mise en uvre la plus complte des standards OGC dans un
framework Open Source. Il contient aussi bien les services ncessaires pour un SDI (deegree
Web Service) que pour le composant dun portail (deegree iGeoPortal), ou bien un
mcanisme pour grer les problmes de scurit et de contrle daccs (deegree
iGeoSecurity) et le stockage / visualisation de donnes 3D (deegree iGeo3D).
Conceptuellement et vis vis de linterface, le framework est bas sur des composants dun
haut niveau permettant la cration flexible de solutions pour une large varit de cas
dutilisation. Deegree est le dveloppement de rfrence officiel de lOGC. La spcification
OGC WPS est disponible en diffrentes versions partir de la version 2.
8.1. Composants de Deegree
Deegree comprend cinq groupes de composants :
8.1.1 deegree Web Services: La liste des Services Web de lOGC dvelopps inclut WMS,
WFS, WCS, CS-W, WPS.
Contrairement aux services orients donnes comme le WFS et WCS ou les services orients
reprsentation comme le WMS, Le serveur Deegree WPS est principalement destin aux
dveloppeurs de routines de gotraitement. Une bonne connaissance de JAVA et XML est
ncessaire.
8.1.2 deegree iGeoPortal: iGeoPortal est capable dafficher des cartes, gre la recherche
en utilisant des identifiants gographiques ou les mta-donnes, permet laccs contrl vers
les ServicesWeb de lOGC et affiche des donnes spatiales 3D
8.1.3 deegree iGeoSecurity: iGeoSecurity est utilis pour dfinir des mcanismes daccs
en utilisant les mthodes dauthentification et dautorisation, des connections scurises et
des filtres pour les donnes spatiales.
8.1.4 deegree iGeo3D : deegree peut tre utilis pour stocker des donnes spatiales 3D.
En utilisant diffrents services web deegree, cette donne peut tre requte et affiche.
8.1.5 deeJUMP : cest la partie SIG de bureau classique de deegree.
Master SIG et gestion de lespace Service Web de gotraitement
44
8.2. Cration dun processus personnalis
Deegree offre la possibilit de crer un nouveau processus WPS, ce dernier doit contenir
deux fichiers, une classe Java qui implmente linterface Processlet et contient les
traitements et un fichier XML de configuration (Process Definition) contenant une description
dtaille du processus. Un exemple de cration dun processus daddition de deux nombre
est joint en annexe 2.
8.3 Autres projets WPS
52 North WPS
20
: Il sagit dune implmentation JAVA permettant ainsi de dployer des
services Web de gotraitement de faon interoprable.
GeoConnections WPS
21
est une implmentation de lune des anciennes versions de WPS
0.2.0.
9. Conclusion
La spcification du Web Processing Service se prsente sous la forme dune interface
gnrique permettant de dcrire et dclencher des traitements sur des donnes rfrence
spatiales. Elle nest pas limite sur le type de processus ni sur la donne, ce service peut
prendre en charge des donnes de type raster comme de type vecteur. Il renvoit une
exception standardise en cas derreur et renseigne galement sur le statut dun processus.
Lanalyse dtaille de WPS a d nous mener au constat que la norme WPS sous sa forme
actuelle soit capable de rpondre ses objectifs initiaux, en effet, les implmentations
lutilisant sont peu nombreuses. Ct open-source on trouve le ZOO Project, 52North
PyWPS et Deegree. Quant aux solutions propritaires, cette norme na t implmente par
aucun diteur, car les diteurs supportant les standards OGC quand ils sont stabiliss et
quand ils leur semblent prsenter un rel intrt.
Le Web Processing Service va beaucoup plus loin que la visualisation de couches, il peut tre
configur pour orchestrer autres services, ce qui laisse apercevoir lavantage dun tel
dispositif.
20
http://52north.org/maven/project-sites/wps/52n-wps-site/
21
http://www.geoconnections.org/en/communities/developers/standards/fa=technical.webprocessing_service
Master SIG et gestion de lespace Service Web de gotraitement
45
Les approches similaires au WPS
ArcGis Server
Master SIG et gestion de lespace Service Web de gotraitement
46
Les approches similaires au WPS : (cas dArcGis Server)
Avant le Web Processing Service, la socit ESRI dans la version 8.3 de son produit ArcInfo a
propos une approche similaire au WPS pour le gotraitement distance. Cette version
dArcInfo contient une fonctionnalit Serveur de Gotraitement qui permet de raliser
des oprations de gotraitement sur un serveur UNIX la demande de clients, mais ce
serveur a linconvnient dtre non interoprable, tel que seuls les logiciels ESRI sont en
mesure dutiliser les capacits de traitement distance. Cette fonctionnalit a t retire de
la version ArcGis 9.0.
Avec lapparition de la version 9.2 dArcGis Server, un nouveau service Web est introduit, il
sagit dun service de gotraitement qui contient des tches de gotraitement cres laide
dArcGIS Desktop comme ressources Web auxquelles les clients peuvent accder.
Ce chapitre montre la mthode permettant de servir des Gotraitement via le Web en
illustrant la manire de publication du service de Gotraitement avec ArcGis Server.
1. Architecture dArcGIS Server
22
ArcGIS Server est un serveur SIG complet avec des applications prtes lemploi et des
services SIG pour grer, visualiser et analyser des donnes spatiales. Il est si convivial que
les services peuvent tre publis sans devoir crire la moindre ligne de code. Le systme
ArcGIS Server intgre les composants suivants (Figure 12) :
1.1 Serveur SIG : Le serveur SIG hberge les ressources SIG, telles que les cartes, les
globes, les outils de gotraitement et les localisateurs dadresses, et les prsente sous forme
de services aux applications clientes.
1.2 Serveur Web : Le serveur Web hberge les applications et services Web qui utilisent
les ressources excutes sur le serveur SIG.
1.3 Clients : Les applications clientes sont des applications Web, nomades et bureautiques
qui se connectent des services Internet ou des services locaux via un rseau local (LAN)
ou tendu (WAN).
1.4 Serveur de donnes : Le serveur de donnes contient les ressources SIG qui ont t
publies sous forme de services sur le serveur SIG. Ces ressources peuvent tre des
documents ArcMap, des localisateurs dadresses, des documents de globe, des godatabases
22
Source : http://www.esrifrance.fr
Master SIG et gestion de lespace Service Web de gotraitement
47
et des jeux doutils de gotraitement. Un SGBDR est souvent utilis pour hberger une
godatabase ArcSDE au niveau du serveur de donnes afin de garantir lvolutivit, la
scurit, lintgrit et les performances des godonnes.
1.5 Administrateurs du Gestionnaire et dArcCatalog : Les administrateurs dArcGIS
Server peuvent utiliser le Gestionnaire ou ArcCatalog pour publier et grer leurs ressources
et services SIG.
Figure 12 : Architecture dArcGIS Server
23
2. Le Model Builder et le gotraitement
Le terme gotraitement fait rfrence lapplication dune ou plusieurs fonctions analytiques
spatiales sur un ou plusieurs jeux de donnes, qui fournit une rponse une question sous
la forme dun ou plusieurs nouveaux jeux de donnes.
23
http://www.esrifrance.fr/iso_album/quest-ce-que-arcgis93_part4.pdf
Master SIG et gestion de lespace Service Web de gotraitement
48
Le moyen le plus facile de crer et dautomatiser une chane de traitement ainsi que de
suivre les tches de gotraitement consiste crer un modle. Un modle est constitu dun
processus, ou plus gnralement de plusieurs processus chans. Un processus est constitu
dun outil, systme ou personnalis, et de ses valeurs de paramtre. Des donnes en entre
ou en sortie, une tolrance dagrgat, ou encore une table de reclassification sont autant
dexemples de valeurs de paramtre (Figure 13).
Figure 13 : Vue densemble conceptuelle dun modle
24
La fentre ModelBuilder est un environnement graphique qui permet la cration de modles
dans ArcGIS. La figure 14 montre un exemple simple dun ModelBuilder, il sert slectionner
des classes dentits parmi dautres selon des critres prdfinis.
Figure 14 : Fentre ModelBuilder
La fentre ModelBuilder se compose dune fentre daffichage dans laquelle nous crons le
diagramme de notre modle, ainsi que dun menu principal et dune barre doutils qui
permettent dinteragir avec les diffrents lments qui entrent dans la composition de notre
diagramme de modle.
24
Source : Gotraitement dans ArcGIS, ESRI, 2007
Donnes drive :
rsultat
Outil : fonction applique
la donne en entre
Donnes en entre
Master SIG et gestion de lespace Service Web de gotraitement
49
2.1 Pourquoi utiliser ModelBuilder
- Simple et efficace ;
- Peu de formation (pas besoin de programmation) ;
- Environnement graphique ;
- Diminution du cot (temps et erreurs) ;
- Conservation des traces des diverses oprations, des processus complexes ou dune
chane de processus ;
- Facilement modifiable, rutilisable, donc outil daide la dcision (on peut changer un
paramtre et relancer lexcution) ;
- Base dintgration doutils plus complexes.
3. Outil de script pour les tches de gotraitement
Un outil de script est quivalent un outil de modle. Au lieu dutiliser le langage de
programmation visuel ModelBuilder, nous utilisons un langage de programmation textuel.
Python est le langage de programmation textuel de choix pour le gotraitement.
La figure 15 montre un exemple dun script Python pour slectionner les classes dentits
quils ont un primtre suprieur 12561.44.
Figure 15 : Exemple dun script Python (outil Intersecter deux classes dentits)
Master SIG et gestion de lespace Service Web de gotraitement
50
3.1 Pourquoi des langages de script pour le gotraitement
- Ils peuvent tre interfacs avec dautres systmes ou dautres langages de
programmation ;
- les langages de script permettent daccder aux fonctionnalits et de les tendre (Accs
toutes les fonctionnalits du modle objet dArcGIS (ArcObject);
- Les scripts peuvent tre excuts lextrieur et au sein dArcGIS.
- Facilement partageables avec dautres utilisateurs ;
- Automatisation des tches avec possibilit dmettre une condition lexcution dun
outil.
4. Les couches doutils
Une couche doutil est le rsultat de lajout dun outil, modle ou scripte, en tant que couche
dans la table des matires dArcMap. Pour cela, il suffit de glisser-dplacer un outil, Modle
ou un script partir dArcToolbox vers la table des matires dArcMap (Figure 16).
Figure 16 : Cration dune couche doutil
4.1 Avantage :
- La rexcution dun outil sans gnrer de nouvelles donnes en sorties ;
- Lexcution de loutil sans ArcToolBox ;
- Stockage des paramtres dentes de loutil dans le document MXD;
- La symbologie est la mme pour toutes les donnes rsultantes de chaque excution
de loutil ;
- La facilit de partage des modles de gotraitement entre utilisateurs (change de
fichiers lyr ou mxd).
Glisser-
dplacer
Master SIG et gestion de lespace Service Web de gotraitement
51
- Pour ArcGIS Server une couche doutils permet dencapsuler des gotraitement avec
le document cartographique associ. Ceci prsente lavantage de grer plus finement
la symbologie et lordre daffichage des couches rsultantes du gotraitement
5. Le gotraitement avec ArcGIS Server
ArcGIS Server propose un mcanisme permettant aux utilisateurs de publier des outils et des
modles de gotraitement sur des serveurs et de les rendre disponibles sous forme de
tches excutables sur le serveur partir dapplications clientes distantes. Cest le service de
gotraitement. [EsriFrance]
Un service de gotraitement permet la publication de modles de gotraitement crs
laide dArcGIS Desktop comme ressources Web.
5.1 Les clients du service du gotraitement
Les services de gotraitement et leurs tches sont accessibles via lInternet et peuvent tre
utiliss dans ArcGIS Desktop, ArcGIS Explorer et les applications Web.
5.1.1 ArcGis Desktop :
Figure 17 : Service Web de gotraitement utilis dans ArcGIS Desktop
Rsultat
Dtails
Le service de
gotraitement
Boite de dialogue
paramtres
dentre
Master SIG et gestion de lespace Service Web de gotraitement
52
5.1.2 Application Web personnalise
Figure 18 : Service Web de gotraitement utilis dans une application personnalise
5.1.3 ArcGIS Explorer
Figure 19 : Service Web de gotraitement utilis dans ArcGis Explorer
25
25
Source : http://webhelp.esri.com/arcgisserver/9.3.1/dotNet/index.htm
Rsultat de lexcution de
la tche Bufferisation de
Point
Boite de dialogue
paramtres dentres
Rsultat de
lexcution de
la tche
Master SIG et gestion de lespace Service Web de gotraitement
53
5.2 Conception des modles publier dans ArcGis Server
Lors de la cration dun outil de gotraitement avec ArcGis Desktop destin la publication
comme un service de gotraitement, il faut tenir compte de certaines rgles sur les modles
ou les scripts pour quils soient adapts la publication dans ArcGis Server. Ces rgles
consistent :
1. Compte tenu de la lgret de certains clients comme ArcGis Explorer, les types de
donnes en entre et en sortie dArcGis Desktop ne sont pas tous disponibles pour ces
clients. Par exemple, les classes dentits ne sont pas autorises en paramtres en entres
par ArcGis Server. Par consquent, les classes dentits devront tre modifies en jeux
dentits (lesquels sont pris en charge par ArcGIS Server), avant leur publication en tant que
tches de gotraitement. Dune faon plus gnrale, Les paramtres en entre et en sortie
des modles doivent utiliser des types de donnes pris en charge par le serveur (Annexe 3).
2. Contrairement aux modles et scripts excuts en local, les donnes intermdiaires et en
sortie dun modle ou un script doivent tre stockes dans des emplacements spcifiques
pour que les outils soient excutables sur plusieurs serveurs (Annexe 3 ).
5.3 Mthodes de publication dune ressource
Pour mettre en place un service Web de gotraitement, deux mthodes sont proposes par
ESRI. La premire consiste publier un document map contenant des couches doutils,
tandis que la deuxime est base sur la publication dune boite outils de gotraitement de
la mme manire quun service Web de carte
Dans le premier cas, ladministrateur a la possibilit de publier le document map contenant
les couches doutils, Dans ce cas, la publication du fichier MXD cre la fois un service
cartographique (Map Service) et un service de gotraitement (Geoprocessing Service).
Toutes les couches doutils deviennent des tches du service de gotraitement (Figure16-cas
N3). Et si ladministrateur a dcid de publier le document map en tant que service de
gotraitement, toutes les couches doutils deviennent aussi des tches du service de
gotraitement (Figure 20- cas N2). Dans le second cas, lors de la publication dune boite
outils, tous les outils quelle contient deviennent des tches du service de gotraitement
(Figure 20-Cas N1).
Master SIG et gestion de lespace Service Web de gotraitement
54
Figure 20 : les trois configurations possibles dun service de gotraitement
26
5.4 Cration de services de gotraitement
Comme dans le cas dun service Web de carte, pour pouvoir crer un service Web de
gotraitement, avec linterface dArcCatalog, ladministrateur a le choix entre deux mthodes,
soit de publier sur un serveur ArcGIS (Figure 21 - Cas 1) ou dajouter un nouveau service
(Figure 21 - Cas 2). Cette dernire permet de configurer toutes les proprits.
Figure 21 : mthodes de cration dun service
ArcGis Server Manager permet aussi aux administrateurs de publier une ressource en tant
que service de gotraitement en slectionnant geoprocessing dans la liste droulante
type de ressource . La ressource publier, dans ce cas, est une boite outils ou un
fichier mxd contenant des couches doutils (Figure 22).
26
Source : http://webhelp.esri.com/arcgisserver/9.3.1/dotNet/index.htmtrois
Cas N1 Cas N2
Master SIG et gestion de lespace Service Web de gotraitement
55
Figure 22 : Cration dun service de gotraitement avec ArcGis Server Manager
5.6 Cration dune application Web avec la tche de gotraitement
La cration dune application Web de gotraitement se fait de la mme manire que les
autres applications Web avec ArcGis Server Manager, en ajoutant le service de gotraitement
cr prcdemment la liste des tches raliser (Figure 23).
Figure 23 : choix de tche de gotraitement
Master SIG et gestion de lespace Service Web de gotraitement
56
6. les bonnes pratiques pour amliorer les performances dune application
cartographique Web ArcGIS Server
La performance dune application Web est un sujet important pour ses utilisateurs finaux,
ainsi quun sujet passionnant pour tout dveloppeur. Bien entendu, il ne faut pas trop se
focaliser sur la performance, sous peine de devenir un optimisateur prcoce. Mais il faut
aussi utiliser les bons outils et avoir la bonne mthodologie. Nous vous proposons dans
lannexe 4 les diffrentes pratiques recommandes lors de la cration dune application
cartographique
7. Conclusion
ArcGIS Server complte ArcGIS Desktop en permettant de crer des cartes, des globes, des
modles, des outils, et des tches de gotraitement partir de Desktop et de les publier sur
ArcGIS Server laide dArcCatalog ou le Manager, pour les rendre accessibles en tant que
services.
Une notion intressante introduite par ESRI dans la version ArcGIS 9.2, la couche doutil ,
elle permet de crer la fois un service cartographique et un service de gotraitement en
publiant un seul fichier MXD. Cette technique permet dencapsuler des gotraitements avec
le document cartographique associ. Ceci prsente lavantage de grer la symbologie et
lordre daffichage des couches rsultantes du gotraitement.
ArcGIS Server n'tant pas encore compatible OGC pour les services de gotraitements, de ce
fait, la consommation des services de gotraitement publis avec ArcGIS Server nest
possible que dans un environnement ESRI (API JavaScript dAGS, ArcGIS Desktop, ArcGIS
Explorer). En revanche, avec des dveloppements, ces services seront accessibles depuis les
applications clientes qui ne proviennent pas dESRI (CartoWeb, OpenLayers, MapFich).
Master SIG et gestion de lespace Service Web de gotraitement
57
Aspect Recherche de WPS
Master SIG et gestion de lespace Service Web de gotraitement
58
Aspect Recherche de WPS
Le service Web de gotraitement est un thme dactualit de la recherche dans le domaine
des SIGWeb. En effet, la norme WPS reste jeune car encore peu utilise (en
comparaison dautres standards OGC comme WMS et WFS) et les implmentations
lutilisant sont peu nombreuses.
Le prsent chapitre a pour objet de prsenter la norme WPS comme objet de recherche,
Nous proposons donc ici un rapide bilan des publications et des projets portant sur le WPS,
ainsi que des pistes de recherche qui nous semblent intressantes. La premire partie fournit
un aperu sur les publications rcentes et les projets concernant les services Web de
gotraitement. Cette liste ne prtend pas lexhaustivit, mais devrait donner un aperu
suffisant. Tandis que la seconde partie porte sur les insuffisances remarques dans la
version actuelle du service Web de gotraitement WPS avec une solution propose pour
chaque lacune. La dernire partie traite des utilisations possibles des services Web de
gotraitement dans un SIGWeb collaboratif.
1. Synthse des quelques travaux de recherche sur le WPS
1.1 Evaluation of the OGC Web Processing , Christopher Michael et Daniel P.
Ames, (Idaho State University, USA), Mai 2007:
Christopher Michael et Daniel P. Ames dcrivent dans leur article six propositions pour le
standard WPS 0.4.0, qui tentent dajouter quelques fonctionnalits manquantes au standard.
savoir :
1. Lajout dun lment au document de rponse de la requte DescribeProcess pour
prciser les types des donnes en entre de lopration dcrite par le fichier XML
(opration demande par lutilisateur). Un lment XML PromptMethode est
propos pour rsoudre ce problme. Cet lment contient des valeurs, tels que
browseforraster, browseforvector ou getboundbingbox et getmatchingregex .
2. Un autre changement sur le mme fichier de rponse, pour lister les donnes
disponibles au niveau du serveur, afin dviter le tlchargement des donnes en
entre et pour que le client puisse faire la slection des donnes. Ce changement
consiste ajouter un lment XML AvailableData avec un lment fils pour
chaque donne contenant un nom et une brve description.
3. Toujours demander de retourner un document ExecuteResponse pour fournir une
meilleure cohrence et une simplification du dveloppement du client.
Master SIG et gestion de lespace Service Web de gotraitement
59
4. Il nest pas possible dannuler une opration demande, une URL dannulation de
requte devrait tre ajoute dans le document ExecuteResponse .
5. Chaque processus doit avoir une URL unique pour ses trois requtes.
6. Un systme de gestion des erreurs plus structur devrait tre mis en uvre. Le
systme actuel offre trs peu de types derreurs (MissingParammeterValue,
ServerBusy, FileSizeExceeded, InvalidParameterValue, NoApplicableCode).
Christopher Michael et Daniel P ont constat que la proposition du WPS 0.4.0 est solide et
efficace, nanmoins il y a plusieurs possibilits damlioration. Dans la version actuelle 1.0.0
certaines propositions ont t mises en uvre, par exemple lacceptation de la PromtMethod
(ou une mthode similaire). Cependant, la plupart non.
1.2 Distributed Geospatial Analysis through Web Processing Service: A Case Study of
Earthquake Disaster Assessment, Yichun Xie and Fuling Bian (Eastern Michigan University,
USA), Xiaoliang Meng (Wuhan University, China), Juin 2010:
Cette tude prsente une implmentation des diffrentes mthodes dutilisation de WPS pour
enchaner des services gospatiaux. Ces mthodes sont illustres par une implmentation
dun systme qui a comme objectif de piloter une infrastructure SIG systme distribue qui
permette des traitements et visualisations gospatiales afin de fournir rapidement une
assistance, une valuation et une aide la dcision aprs un sisme. Ces mthodes sont :
1.2.1 Utilisation de BPEL
27
: BPEL est un langage dexcution des processus mtier qui
dfinit les rgles de dialogue entre services Web. Il permet dorchestrer une chane de
services qui comprend en plus aux autres Web services un ou plusieurs processus WPS.
1.2.2 Utilisation Interface WPS : une interface WPS peut tre utilise pour concevoir une
suite de services web. Cette mthode dorchestration dune chane de services peut couvrir le
problme de transfert de donnes binaires pos par la mthode BPEL
1.2.3 Simple chane de service en cascade cre via lopration GET WPS: Cette mthode
permet aux services dchanger des donnes gospatiales directement parce que chacun
communique des services un autre.
27
Business Process Execution Language
Master SIG et gestion de lespace Service Web de gotraitement
60
1.3 OGC Web Processing Service Interface for Web Service Orchestration, Aggregating
geo-processing services in a bomb threat scenario, Beate Stollberg et Alexander Zipf
(University of Applied Sciences FH Mainz, Germany), 2009
Lobjectif principal de cette tude est de reprsenter des scnarios complexes conformes aux
normes de lOGC. La notion de (Composite-WPS) a t introduite et ralise dans un
scnario de menace dune bombe. Lautre mthode dorchestration des services avec BEPL
est arbore avec ses quelques cueils techniques, savoir, le transfert de donnes de
rponse une requte WMS GetMap ou une requte WFS GetCoverage, ces donnes
binaires brutes ne peuvent pas tre pris en charge par la mthode BPEL.
1.4 Towards a Research Agenda for Geoprocessing Services , Johannes Brauner
(Technische Universitt Dresden, Germany), Theodor Foerster(IIGISOE, Pays-Bas), Bastian
Schaeffer et Bastian Baranski (University of Mnster, Germany), 2010
Cette tude fournit un aperu dtaill des publications rcentes et des projets concernant les
services de gotraitement, afin dextraire les points communs de recherche entre ces
travaux. Sur la base de cette analyse, un programme de recherche sur les services de
gotraitement est formul. Le programme de recherche identifie trois thmes de recherche
principaux : la description smantique de service de gotraitement, lorchestration de
services de gotraitement et les approches pour lamlioration de performances.
Catgorie thme auteurs Description
Kiehle et al. (2007), Friis-
Christensen et al. (2007)
and Brauner et Schaeffer
(2008)
Propose dutiliser le BPEL en combinaison avec WSDL pour excuter des workflows.
Schaeffer (2008) Propose une interface transactionnelle pour le WPS (WPS-T) afin doffrir lensemble du
workflow comme un processus unique WPS.
Friis-Christensen et al.
(2007)
compare trois mthodes de chanage possibles selon la norme ISO (transparent,
translucide et opaque), et conclut que le chanage translucide fonctionne le mieux en
combinaison avec BPEL et que dans certains cas, cette approche amliore les
performances de traitement.
Stollberg and Zipf (2007,
2008)
Propose dutiliser la spcification WPS pour raliser les chanes complexes de traitement
au lieu de lapproche BPEL
orchestration
Brauner and Schaeffer
(2008)
Prsente une premire tentative pour rsoudre le problme li au BPEL et WSDL en
appliquant une transformation XSLT dynamique pour crer des documents WSDL.
Stollberg and Zipf 2007,
2008; Brauner and
Schaeffer 2008; Mller et
al. 2009; Nash 2008
Propose des profils dapplication WPS comme un moyen de classer les services de
gotraitement dans les processus spcifiques de domaine
la description
smantique
Nash (2008) Prsente les premires ides sur la faon dutiliser le profil dapplication
Recherches axes sur
les problmes
gnriques de service
de gotraitement
amliorations
de
performances
(Kiehle et al. 2007;
Scholtenet al; Tu et al.
2004)
Proposition dun service de communication asynchrone
Master SIG et gestion de lespace Service Web de gotraitement
62
Baranski (2008) and Lanig
et al. (2008)
Propose dtiliser de la technologie Grid Computing pour amliorer les performances de
traitement par la distribution et lexcution parallles des processus.
(Bernard et al. 2005; Friis-
Christensen et al. 2007;
Granell et al. 2007)
moving code paradigm (cette approche na jamais t explore pour les services
gotraitement.)
Xiaoliang Meng Yichun Xie
et Fuling Bian (2010)
lanalyse gospatiale distribue travers Web Processing Service
Foerster et al. (2009) Utilisation des applications du march (Google Earth) pour accder aux services de
gotraitement.
Recherche portant sur
les domaines
dapplication
spcifiques des
services de
gotraitement
Domaines
dapplication
MACHET Eric, KAMHI
Mouna, JACQUIN Marc, LE
PAGE Michel, DEJOUX
JeanFranois et DEDIEU
Grard (2008)
Web Processing Service pour le traitement des images satellite
Tableau 3 : les recherches portant sur le WPS
2. Les insuffisances de la version 1.0 de WPS
2.1 La scurit
Certains traitements particuliers ncessitent un contrle des droits daccs des utilisateurs.
Dans sa version actuelle le WPS ne propose aucun mcanisme de gestion des droits des
utilisateurs.
Pour remdier cette insuffisance, une solution possible serait alors dajouter un lment
la rponse ProcessDescription pour prciser quil sagit bien dun processus verrouill, et dans
ce cas une autre modification sur la requte Execute serait ncessaire (Un chanage de
service).
2.2 La gestion des processus :
Le WPS sur sa forme actuelle ne possde pas de mcanisme de type ordonnanceur qui
sert grer les diffrents processus en changeant leur statut, par exemple dun tat
excution en cours (ProcessStarted) ltat pause ou linverse.
Pour raliser cet ordonnanceur, il faut dabord crer un nouveau type de document
statut pour ltat Pause . Ce document sera en rponse la demande de client
travers un document statut dans ltat ProcessStarted . Il sera accompagn dun
nouvel attribut de changement dtat.
2.3 Lhistorique des traitements raliss
Pour viter la rexcution des mmes traitements sur les mmes donnes, surtout sil sagit
de donnes de type ComplexData , il serait intressant de sauvegarder lhistorique des
traitements raliss sur le serveur.
Une solution est possible par lajout, dans la rponse GetCapabilities, dun lment XML
nomm Historique contenant un attribut realised dont la valeur est vrai si ce
traitement est dj ralis par le serveur, ou faux dans le cas contraire. Dans le premier cas,
lajout dun autre lment DescribeHisto la rponse DescibeProcess est obligatoire. Cet
lment racine doit contenir un lment fils contenant les paramtres en entre et en sortie
pour chaque traitement ralis.
Master SIG et gestion de lespace Service Web de gotraitement
64
3. Lutilisation possible du WPS dans un SIGWeb collaboratif
3.1 Chanage de processus
Une chane de services pourrait rsoudre des problmes complexes, ce qui est considr
comme le but principal de SOA. WPS permet un chanage des processus et peut tre
configur pour appeler dautres services, donc il est capable de rcuprer des donnes
distribues sur les serveurs WMS/WFS/WCS/PostGIS des diffrents acteurs du webSIG (et de
les utiliser en entre de traitements centraliss) ; Donc il peut tre utilis pour piloter une
infrastructure de donnes spatiales. La figure 24 montre un diagramme de collaboration de
lutilisation dune interface WPS pour piloter une chane de service.
Figure 24 : Diagramme de collaboration - linterface WPS pour orchestrer une chane de
services
3.2 Re-projection/Conversion
WPS permet de reprojeter/convertir tout types de donnes SIG via lutilisation de
webservices adapts. Cela permet donc dimaginer que les donnes htrognes de
diffrents acteurs puissent tre utilises ltat brut en entres de processus gnriques,
WPS
Interface
Autres Service
(WMS)
Autre WPS
Traitement
Client
Autres Service
(WFS)
1. Demande
Processus
2. Demande
Processus
3. Rponse GML
4. Demande donnes
(GetMap)
5. Rponse GML
9. Demande donnes
(GetFeature)
8. Rponse
GML
6. Rsultat GML
Autres Service
(WCS)
7. Demande donnes
(GetFeature)
10. Rponse
GML
Demande
Master SIG et gestion de lespace Service Web de gotraitement
65
lesquels restitueraient une donne standardise (comme rgf93 ou Inspire), accessible
lensemble des acteurs du webSIG.
Prenant lexemple ZOO-Projet, lAPI ZOO est une API JavaScript qui permet de faire des
transformations et dexploiter nimporte quelle projection utilisant Proj4JS ; limplmentation
en JavaScript de la bibliothque de projections cartographiques Proj4 ; aprs une adaptation
lenvironnement dexcution dans le ZOO.
Cette fonctionnalit de re-projection est ralisable avec PyWPS, soit en adaptant PyProj,
limplmentation en Python de la bibliothque Proj4 ; soit en crant directement un Process
de re-porojection (Process est un script python pouvant fonctionner seul).
3.3 La Norme WFS-T
WPS pourrait implmenter la norme WFS-T partir de flux dentres WFS traditionnels, et
permettrai donc de grer et de rationaliser des mises jour de donnes successives ou
simultanes, faites par plusieurs acteurs.
Pour implmenter une telle norme, il faut crer les trois processus de transactions (Ajout,
modification, suppression) puis de les intgrer dans un serveur WPS, la prsence dun
SGBD tel que PostGIS ou Oracle Spatial. Si le client demande lun des trois traitements, le
serveur WPS utilise en entre les donnes provenant dun serveur WFS pour raliser la
requte demande.
3.4 Gestion des droits utilisateurs :
WPS savre trs utile quand la gestion des droits utilisateurs, indispensable dans un web
SIG collaboratif. En effet, la protection de donnes WMS/WFS peut tre mise en place via
des services WPS.
La solution est de crer un proxy WPS constitu dun service Security avec deux
mthode (Login et Logout) pour vrifier que certain paramtres (user/login) sont prsent
dans lurl des requtes envoy par le client. Ce proxy sappuie sur une base de donnes
dutilisateurs gre par un script dont laccs est rserv ladministrateur.
La mthode Login : quand elle est excute, elle vrifie si lutilisateur est authentifi; si ce
nest pas le cas :
Master SIG et gestion de lespace Service Web de gotraitement
66
une redirection est effectue vers un script par dfaut (par exemple login.py) qui
demande lutilisateur dentrer un identifiant et un mot de passe
un autre script vrifie que lidentifiant et le mot de passe sont prsents dans la base
si oui, une redirection est effectue vers un autre chemin.
Logout retourne une chane avec le lien vers un script de dconnection. Le texte de ce
lien est Logout par dfaut.
Figure 25 : diagramme de collaboration dune fonctionnalit Consultation WMS
4. Conclusion
Lorchestration dune chaine de service Web est pertinente pour les applications
gospatiales, car leur complexit ncessite souvent lexcution de plusieurs goprocessus. Ce
qui explique quune grande partie des recherches dans le domaine des services Web de
gotraitement tourne autour de cette notion.
Les pistes de recherches proposes dans ce chapitre sont bases sur ltude de la littrature
et lexprience pratique des auteurs des publications consultes. Lors de ce stage, quelques
implmentations techniques ont t ralises pour tester le concept de chanage avec PyWPS
De nombreuses volutions de WPS sont prvoir et font lobjet de travaux de recherche
(WPS 2.0 annonc), notamment lapparition de web services plus nombreux et plus
complexes, ainsi quune amlioration des mthodes dutilisation (API dans diffrents
langages, diteur de workflow, volumes de donnes dentres, interfaces clientes ddies...).
Client
Service
(WMS)
Processus :
Security
1. demande de connexion
4. Consulter
3.
Une Carte
2. vrifier les privilges
Master SIG et gestion de lespace Service Web de gotraitement
67
Conclusion gnrale
Master SIG et gestion de lespace Service Web de gotraitement
68
Il est clair que WPS a une histoire courte mais le dbut est prometteur. Cette
spcification se prsente sous la forme dune interface gnrique permettant de dcrire et
dclencher des traitements sur des donnes composantes spatiales. Ces traitements
proposs sont illimits en capacits ou nature, le Web peut prendre en charge des donnes
de type raster comme de type vecteur. Il renvoie une exception standardise en cas derreur
et renseigne galement sur le statut dun processus.
Contrairement la mthode propose par ESRI, le WPS peut tre configur pour
appeler dautres services et permet aussi le chanage des processus. Donc il va beaucoup
plus loin que la visualisation des donnes distribues, Il sagit de partager des processus
disponibles sur divers serveurs Web (imagerie, trafic routier, mtoetc.) pralablement
rendues interoprables et ventuellement de chaner entre eux des processus disponibles sur
diffrents serveurs.
Dans ce travail, nous avons essay didentifier certaines lacunes de la version actuelle
de la norme WPS, et ce lors de ltude dtaille de la norme, et de proposer une mthode
dutilisation de ce standard dans une application WebSIG. En plus des insuffisances signales
par les auteurs des diffrentes publications, jai pu mettre en vidence trois lacunes relatives
la scurit, lhistorique et la gestion des processus.
Le stage ma permis aussi de me familiariser avec le logiciel ArcGIS Server, et de
lister les bonnes pratiques recommandes pour implmenter une application Web
performante, en profitant des capacits offertes par ArcGIS Server.
Master SIG et gestion de lespace Service Web de gotraitement
69
Bibliographie
Certains ouvrages indexs dans cette bibliographie ne sont pas appels dans le texte, mais
ont contribu la construction de ce travail. Par ailleurs, ils fournissent un tat de lart plus
complet.
Master SIG et gestion de lespace Service Web de gotraitement
70
Ouvrages gnraux
[Vinc2003] Cyril VINCENT, XML et les services Web , Informatique technique, Edition
ENI, 2003
[Lecom2008] Snastien LECOMTE, Thierry BOULANGER, XML par la pratique : base
indispensables, concepts et cas pratiques , Informatique Technique, Edition ENI, 2008.
[Scot2007] Scott Davis, GIS for Web Developers: Adding Where to Your Web
Applications, The Pragmatic Bookshelf, 2007
[Doug2002] Philippe Rigaux, Arnold Rochfeld, Trait de modlisation objet , Technologie
Objet Rgrence, Edition Eyrolles, 2002
Thses, mmoires et cours:
[Bozo2005] Nicolas BOZON, Le dveloppement de services web gographiques ddis la
consultation et au traitement des donnes gospatiales et agromtorologiques sur
Internet. , Rapport de stage Master SIG, Saint-tienne, 2005
[Jego2009] Laurent JEGOU, Serveur Cartographique et SIG interactifs en ligne , cours
SIGMA Toulouse, 2009
[Gonz2004] S.Gonzalaz, B.Marchal, L.Moragues, L.Puente, A.Vessot, La cartographie sur
Internet , Micro-projet Master SILAT, 2004
[Lago2009] Rmi LAGOIN, volution dune application extranet cartographique , rapport
de stage Master pro, SIGMA Toulouse, 2009
[Faye2009] Florent Fayeaux, Mise en place du serveur cartographique ArcGIS Server,
rapport de stage Master pro SIG Saint-tienne, 2009
[Chris2007]Christopher Michaelis, application of OGC specifications to client-side georaphic
information systems, thesis master degree, Idaho State University, 2007
Articles et documents:
[Gilg2001] Marc Gilgen, Open GIS Consortium, Aperu et perspectives de lOpenGIS dans le
domaine du Web Mapping, 2001
[Cepi2007]J.Cepick et L.Becchi,Traitement gospatial sur des serveurs distants via Internet
PyWPS, 2007
[Doug2003] Barry Douglas K. The Savvy Managers Guide to Web Services and Service-
Oriented Architectures. Morgan Kaufmann Publishers Inc, San Francisco, CA, USA, 2003.
[Booth2004] D.Booth, H.Haas, F.Mccabe, E.Newcomer, M.Champion, C.Ferris, D.Orchard,
Web services architecture. 2004.
[Pron2008] H.Pornon, P.Yalamas, E.Pelegis, Service Web gographiques, tat de lart et
perspectives , Gomatique Expert n 65, Octobre-novembre 2008.
[Brau2009]J.Brauner, T.Foerster, B.Schaeffer,B.Baranski, Towards a Research Agenda for
Geoprocessing Services.
[Cepi2008] Jchym epick, OGC WEB PROCESSING SERVICE AND IT'S USAGE, 2008
[OGCP2007]OGC. OpenGIS Web Processing Service, Number 05007r7, Version 1.0.0. (2007)
Master SIG et gestion de lespace Service Web de gotraitement
71
[Stol2007] B.Stollberg, A.Zipf: OGC Web Processing Service Interface for Web Service
Orchestration - Aggregating geoprocessing services in a bomb threat scenario.(2007).
[Weis2007] A .Weiser,A.Zipf : Web Service Orchestration (WSO) of OGC Web Services
(OWS) for Disaster Management, 2007.
[Auer2010] M.Auer, A.Zipf, How do Free and Open Geodata and Open Standards fit
together? From Sceptisim versus high Potential to real Applications, 2010
[Meng2010] X.Meng, Y.Xie, F.Bian, Distributed Geospatial Analysis through WebProcessing
Service: A Case Study of Earthquake Disaster Assessment, 2010
[Kubi2009] Tomasz Kubik, DESIGN AND IMPLEMENTATION OF TWO SOFTWARE
FRAMEWORKS FOR OGC WEB PROCESSING SERVICE DEVELOPMENT, 2009
[Padb2008]A. Padberg, K. Greve, Gridification of the OGC Web Processing Service :
Challenges and Potential,2008
[Kieh2009] Christian Kiehle, OGC Web Processing Service (WPS) Towards Version 2.0,2009
[Lani2009]S.Lanig, S.Kurzbach, E.Pasche,A.Zipf, Standards-Based Processing of Digital
Elevation Models in Grid Computing Environments, 2009
[Nash2008] Edward Nash, WPS Application Profiles for Generic and Specialised Processes,
2008
[ESRI2009A]Srie ArcGIS Server en pratique, Services de carte hautes performances, Cas
dutilisation avec les donnes CORINE Land Cover ESRI 380 New York St., Redlands, CA
92373-8100, Etats-Unis, Aot 2009
[ESRI2009B]Srie ArcGIS Server en pratique : bonnes pratiques pour crer une application
cartographique Web ArcGISServer pour les Collectivits locales et territoriales,ESRi,USA,2009
[tata2010], Samir Tata : Web Services, Dpartement INFormatique, TELECOM SudParis,2010
Site internet
Site de lOGC: http://www.opengeospatial.org/
Forum de l'OGC : http://feature.opengeospatial.org/forum/
Site dISOTC211 : http://www.isotc211.org/
Le forum franais de lOGC : http://www.forumogcfrance.org/
Un blog sur les technologies ESRI : http://www.arcorama.fr/
Documentation et tutoriaux sur WebMapping : http://www.geotribu.net/
Forum SIG : http://www.forumsig.org/
Portail georezo: http://www.georezo.net/
Centre de ressources ArcGIS Server: http://resources.arcgis.com/content/arcgisserver/10.0/about
Site de ressource Javascript : http://www.javascriptfr.com
[ReLucBlog] : http://3liz.com/blog/rldhont/index.php/
Site dESRI France : www.esrifrance.fr
Site dESRI : www.esri.com
[Zero] : http://www.siteduzero.com/tutoriel-3-203276-les-services-web.html
[creos]: http://www.creosdev.com/
[ird]: http://www.ird.fr/informatique-scientifique/methodo/standards/normes_iso_ogc/web_services/
Master SIG et gestion de lespace Service Web de gotraitement
72
Annexes
Master SIG et gestion de lespace Service Web de gotraitement
73
Annexe 1 : Structure dun message SOAP
Un message SOAP va tre constitu dune enveloppe et dun corps. Cest lintrieur du
corps (body) que lon trouve le contenu :
Message SOAP contenant un bloc d'en-tte (Header) SOAP et un corps (Body) SOAP
Structure dun message SOAP
Master SIG et gestion de lespace Service Web de gotraitement
74
Annexe 2 : Exemple de cration dun processus
(Source : http://wiki.deegree.org/deegreeWiki/deegree3/HowToCreateWPSProcesses)
1. Cration dun fichier de Dfinition du processus
Cration dun fichier de dfinition de processus AdditionProcess.xml avec le contenu :
2. Cration de code Java de processus
Master SIG et gestion de lespace Service Web de gotraitement
75
Annexe 3 : les types de donnes de paramtres en entre et en sortie
Le tableau suivant rcapitule les principaux types de donnes de paramtre en entre pour
les trois clients dAGS. (Source : Aide d'ArcGIS Desktop/rubrique Gotraitement avec AGS)
Type de donnes de
paramtre en entre
Pris en charge sur les
clients ArcGIS
Desktop ?
Pris en charge
sur le client
ArcGIS
Explorer ?
Pris en charge sur
les clients
dapplication
Web ?
Jeu dentits Oui Oui Oui
Jeu denregistrements Oui Oui Oui
Classe dentits
Non (mais lentre Classe
dentits est prise en
charge indirectement
avec le type de donnes
Jeu dentits)
Non Non
Table
Non (mais lentre Table
est prise en charge
indirectement avec le
type de donnes Jeu
denregistrements)
Non Non
raster Oui Non Non
Types Standard (tel que
Long, Double, Boolen,
Date, Chane) et Unit
Linaire (par exemple,
"1000 meters")
Oui Oui Oui
Fichier (tel quun fichier
.zip ou .xml)
Oui Oui Oui
Couche (tout type de
couche ; par exemple,
Couche dentits, Couche
Raster, Couche Network
Analyst)
Seules les couches
disponibles dans un
service de carte obtenu ou
une carte source.
Seules les
couches
disponibles dans
un service de
carte obtenu ou
une carte source.
Seules les couches
disponibles dans un
service de carte
obtenu ou une carte
source.
Tout type de donnes non rpertori ci-dessus est converti en type de donnes de chane ou
non autoris. La rubrique Types de donnes en entre et en sortie offre davantage de dtails
sur les types de donnes des services de gotraitement.
Trs vraisemblablement, vos modles et scripts existants acceptent des classes dentits et
de tables comme entre, puisquil sagit des types de jeu de donnes gographiques les plus
courants. Cela signifie que vos modles et scripts existants devront tre modifis avant leur
publication en tant que tches de gotraitement. Si votre modle ou script accepte une
Master SIG et gestion de lespace Service Web de gotraitement
76
classe dentits en entre, vous pouvez le modifier pour quil accepte un jeu dentits la
place. Si votre modle accepte une table comme entre, vous pouvez le modifier pour quil
accepte un jeu denregistrements la place.
Le tableau suivant rcapitule les principaux types de donnes de paramtre en sortie pour
les trois clients.
Type de donnes
de paramtre en
sortie
Pris en charge sur
les clients ArcGIS
Desktop ?
Pris en charge sur le
client ArcGIS
Explorer ?
Pris en charge sur
les clients
dapplication
Web ?
Classe dentits Oui Oui Oui
raster Oui
Non ; affichable
uniquement dans la carte
laide dun service de
carte obtenu
Non. Affichable
uniquement dans la
carte laide dun
service de carte
obtenu.
Table Oui
Non ; les services qui
possdent un type de
donnes de table comme
paramtre en sortie ne
peuvent pas tre affichs
dans la liste des tches
disponibles
Oui
Types Standard (tel
que Long, Double,
Boolen, Date,
Chane) et Unit
Linaire (par
exemple, "1000
meters")
Oui ; affich dans le
rsultat de service
disponible dans
longlet Rsultats de
la fentre
ArcToolbox
Oui ; affich dans le
Rsultat des tches.
Oui
Fichier Oui Oui Oui
La procdure de base pour modifier un modle existant qui accepte une classe dentits
comme entre afin quil accepte un jeu dentits la place est la suivante :
1. Dans ModelBuilder, cliquez avec le bouton droit sur une variable de classe dentits,
puis cliquez sur Proprits.
2. Dans la bote de dialogue Proprits, cliquez sur longlet Type de donnes.
3. Slectionnez le type de donnes Jeu dentits.
4. Importez une structure qui dfinit les attributs, le type de gomtrie et la symbologie.
Vous pouvez importer une structure partir dun jeu de donnes, dun fichier de
couches ou dune couche existants.
Master SIG et gestion de lespace Service Web de gotraitement
77
Annexe 4
Les bonnes pratiques pour amliorer les performances dune application cartographique Web
ArcGIS Server
Master SIG et gestion de lespace Service Web de gotraitement
78
Lobjectif de ce guide est de lister les diffrentes pratiques recommandes lors de la cration dune application
Web avec ArcGis Server.
I. Planification de la publication des donnes
Lune des premires tapes, lors de la conception dune solution ArcGis Server, consiste examiner et valuer
soigneusement lobjectif des donnes SIG qui seront utilises dans lapplication cartographique Web. Les donnes
doivent tre classes en deux groupes : les donnes oprationnelles ou dynamiques et les donnes de fond de
carte. Les donnes oprationnelles seront utilises intensivement dans lapplication Web, par exemple, les classes
dentits qui seront mises jour ou recherches par les utilisateurs. Les donnes de fond de carte seront
principalement utilises comme arrire-plan.
En gnral, les donnes de fond de carte doivent tre implmentes en tant que service de carte mise en cache
(la section suivante), car ces donnes changeront rarement, voir jamais. Inversement, les donnes
oprationnelles doivent tre implmentes sous la forme de service de carte dynamique.
II. Utilisation des services de carte mise en cache.
Lutilisation de services de carte mis en cache permet de diffuser des cartes trs rapidement grce un cache de
cartes ayant fait lobjet dun calcul pralable.
Procdure de cration d'un cache de carte
Un cache de carte est un ensemble de tuiles de carte pr-rendues qui peuvent tre utilises pour laffichage dun
service de carte. Les services mis en cache saffichent rapidement car limage de la carte ne doit pas tre rendue
la vole ; le cot du rendu de limage est pay uniquement une fois le cache cr.
1. Cliquez avec le bouton droit sur le service, puis slectionnez Proprits du service.
2. Cliquez sur l'onglet Mise en cache.
3. Slectionnez Utiliser les tuiles de son cache pour afficher le service de carte.
4. Ajoutez des chelles
5. Une fois la structure de tuilage dfinie, cliquez sur Crer les tuiles. L'outil Grer le cache des tuiles du
serveur de carte s'ouvre avec plusieurs paramtres requis dj renseigns.
6. Dfinissez le mode Mise jour pour Recrer toutes les tuiles, rglez tout autre paramtre souhait dans
l'outil, puis cliquez sur OK.
1
2
3
4
5
6
Master SIG et gestion de lespace Service Web de gotraitement
79
III. Utilisation des Godatabases Fichier
Une godatabase fichier est un ensemble de jeux de donnes gographiques de diffrents types stocks dans un
dossier systme de fichiers commun, les points forts de ce format sont :
1) Pas de limites de volume
De par sa structure de fichiers multiples, la Godatabase Fichier n'a pas vritablement de limitations de volume
en dehors des limites de la machine. Par dfaut nous pouvons stocker jusqu' 1 To par table ou classe d'entits.
2) Portabilit
La Godatabase Fichier repose sur un systme de fichiers ce qui permet une portabilit dans les environnements
Windows et UNIX (Linux et Solaris) par simple copie du rpertoire de la Godatabase. La Godatabase Fichier
dispose des mmes fonctionnalits que autres types de Godatabase (vecteur, raster, tables, relations, domaines,
sous-type, topologie,) mais elle ne sappuie pas sur un SGBD.
3) Compression des donnes
La Godatabase Fichier dispose dun mcanisme permettant de compresser tout ou partie de la base de donnes.
Ceci permet de rduire la taille de la Godatabase dun facteur de 1 10 selon la nature des donnes et dobtenir
des gains de performance assez significatifs. On notera cependant que les classes dentits compresses ne
peuvent pas tre mises jour, elles doivent tre dcompresses avant de pouvoir nouveau tre modifies.
Ci-dessous un graphe comparatif dun jeu de donnes Btiment de Saint-tienne selon diffrents formats de
stockage. Les caractristiques de ce jeu de donnes sont les suivantes :
25 272 entits surfaciques
6 champs dans la table attributaire
4) Haute performance
La Godatabase Fichier utilise des mcanismes d'indexation spatiale et attributaire. Ci-dessous, un comparatif des
temps d'affichage du mme jeu de donnes Btiment, mesurs diffrentes chelles.
Master SIG et gestion de lespace Service Web de gotraitement
80
5) Possibilit de cration dun catalogue Raster
Lutilisation dun catalogue raster devient pertinente ds que lon souhaite afficher plusieurs rasters dans un
projet (orthophotos, scan...) car il facilite leur gestion dans la table des matires, optimise et acclre leur
affichage.
Lobjectif dun catalogue est dafficher tous les rasters en mme temps et non de les afficher
indpendamment les uns des autres.
5.1 Les tapes de cration du catalogue raster
5.1.1 Cration dune nouvelle godatabase vierge
Sous ArcCatalog :
Clic droit lemplacement voulu,
Nouveau > Godatabase fichier,
5.1.2 Cration d'un catalogue dans une godatabase.
Choisir nouveau > catalogue raster dans le menu contextuel de la godatabase.
Echelle
Temps daffichage (ms)
Master SIG et gestion de lespace Service Web de gotraitement
81
- Spcifier un nom votre catalogue (ligne marque dune pastille verte).
- Renseigner les lignes systme de coordonnes de la colonne raster et rfrence spatiale en important
ou en slectionnant la rfrence spatiale de vos images.
- Choisir le type de gestion :
- Non gr : seuls les chemins daccs vers les rasters seront stocks dans la godatabase.
- Gr : les rasters seront copis dans un dossier .idb li la godatabase pour les godatabases
personnelles et directement intgrs dans la godatabase pour les godatabases fichiers. La cration du
catalogue sera beaucoup plus longue et les images aux formats compresss seront reconverties dans un
format standard augmentant de ce fait le volume des donnes. En contrepartie on obtiendra des
performances daffichage optimales et un export simplifi vers un autre poste.
5.2 Remplissez le catalogue
Clic droit sur le catalogue/charger/charger les donnes.
C'est l que l'on indique o se trouvent les rasters qui vont composer le catalogue.
Master SIG et gestion de lespace Service Web de gotraitement
82
5.3 Visualisation du catalogue dans ArcCatalog
Linterface d'ArcCatalog vous permet de visualiser le contenu de chaque catalogue. Vous devrez cliquer sur la
barre flche situe sur le bord droit de la fentre contenu afin de visualiser lemplacement du raster slectionn
ou bien daccder ses proprits.
5.4 Gestion du catalogue dans Arcmap
Lajout du catalogue raster dans Arcmap se fera en utilisant le bouton dajout de donnes et lon pourra
paramtrer ses proprits daffichage et notamment la reprsentation en mode filaire via les proprits du menu
contextuel.
IV. Les Map Services Optimiss
Un nouveau type de service nomm Optimized Map Service apparait en version 9.3.1 pour permettre de
mettre en ligne des services dynamiques optimiss, cette optimisation saccompagne de quelques contraintes.
Celles-ci portent essentiellement sur le contenu de la carte en termes de formats des sources de donnes et des
types de symbologie utiliss. ArcMap fournit dsormais des outils pour analyser la performance du fichier mxd et
valider son ligibilit tre publi en tant que Optimized Map Service .
Barre doutils de Publication de services de cartes
Outils danalyse mxd
Master SIG et gestion de lespace Service Web de gotraitement
83
Loutil Analyze Map affiche trois types de messages :
- Error messages ( ) : Toutes les erreurs doivent tre rpares avant que nous puissions publier un
service de dfinition de carte.
- Warning messages ( ) : ce sont des facteurs dont les performances du service de carte peut tre
affect, la publication ne ncessite pas la rparation des warnings
- Information messages ( ).
Dans le cas d'un Map Service Optimis, l'utilisateur peut prvisualiser le service de carte et naviguer diffrentes
chelles pour valuer les performances d'affichage au travers d'une fentre d'affichage ddi.
Fentre de prvisualisation
Lutilisateur aura la possibilit de publier son document partir du fichier MXD (de manire classique) ou dopter
pour lenregistrement dun fichier MSD (Map Service Dfinition) pour la publication d'un Map Service Optimis.
Dans le cas dun Map Service Optimis, lutilisateur peut publier son service directement partir de la barre
doutils. Il nest pas obligatoire de crer le fichier MSD et dutiliser ArcCatalog ou lapplication web ArcGIS Server
Manager pour publier un Map Service Optimis.
Master SIG et gestion de lespace Service Web de gotraitement
84
Lorsque nous publions un service optimis nous pouvons dfinir deux proprits anti-aliasing qui peuvent affecter
la qualit de limage de notre service de carte ainsi que sa performance. Loutil Map Service Puplishing
Options nous permet de dfinir des options pour l'anti-aliasing.
Lanti aliasing est une Technique par laquelle on diminue leffet descalier des images, en crant des dgrads de
couleurs le long des contours, pour les lisser.
.
Avec loption Best de lAnti-Aliasing
1 : 26 157
Sans anti-Aliasing
1 : 26 157
Master SIG et gestion de lespace Service Web de gotraitement
85
V. Utilisation des plages des chelles
Lapplication de la plage dchelles est vivement recommande pour les services de carte dynamique. Les plages
dchelles permettent de contrler le nombre dentits reprsentes une chelle donne et, par consquent,
dacclrer le rendu dans lapplication Web.
1. Cliquez avec le bouton droit de la souris dans la table des matires, puis cliquez sur Proprits.
2. Cliquez sur l'onglet Gnral.
VI. Utilisation de loutil de tuning MxdPerfStat
Un outil nomm MXDPerfStat a t mis disposition par ESRI pour nous permettre danalyser la performance
de notre MXD avant le publier. A diffrentes chelles, loutil procde la mesure des temps daffichage des
diffrentes couches et traces le nombre dentits correspondant chaque affichage. Les rsultats sont stocks
dans un fichier XML et un fichier de style XSL permet dafficher un rapport plus facile interprter.
Pour utiliser loutil mxdperfstat, les tapes suivre sont :
a. Copiez mxdperfstat.exe, mxdperfstat.xls dans un rpertoire sur le disque local ;
b. Copiez le document mxd analyser dans le mme rpertoire ;
c. Dans Invite de commandes , accdez au rpertoire contenant mxdperfstat.exe ;
d. Excutez la commande :
Mxdperfstat -mxd <DocumentName.mxd> [-scale scale1;scale2;...] [-xy <x;y>] -width <screenwidth> -height
<screen height>
Exemple:
Master SIG et gestion de lespace Service Web de gotraitement
86
Lors de lexcution, la fentre suivant saffiche :
Dans le rpertoire cr prcdemment, double-cliquez sur le document mxdperfstat_ DocumentName _......
Le tableau suivant reprsente le rsultat danalyse effectue par mxdperfstat
VII. Utilisation de loutil Godatabase Toolset (dans le cas des godatabase ArcSDE)
Geodatabase Toolset propose une srie de fonctions danalyse et de rapport qui peuvent nous aider
comprendre et amliorer les performances des couches des Godatabase ArcSDE (Personnal, Workgroup ou
Enterprise). Lextension fournit des informations dtailles sur la structure de la Godatabase et permet ainsi de
Master SIG et gestion de lespace Service Web de gotraitement
87
consulter et de modifier les paramtres cls dans le cadre dune maintenance de notre Godatabase. Lextension
propose galement des outils danalyse trs fins sur les temps daccs et daffichage des couches dans le client
ArcGIS. Ceci permet de cibler les couches optimiser et de comprendre sur quels paramtres doit porter cette
optimisation (base de donnes, document ArcMap, ).
Les outils proposs dans ArcCatalog
Lextension Geotabase Toolset ajoute un nouvel onglet dans ArcCatalog et propose lutilisateur 6 outils
d'analyse:
1 : Edit Information : dtaille le nombre de mises jour effectues sur la couche et indique si la couche participe
rseau gomtrique, une classe de relations ou une classe de topologie (uniquement pour les Godatabase
Enterprise sous Oracle).
2 : Statistics and Indexes : affiche les statistiques concernant chaque table / classe dentits et permet de
reconstruire certains de ces indexes (uniquement pour les Godatabase Enterprise sous Oracle).
3 : User Information : affiche la liste des utilisateurs connects et des verrous sur les couches.
4 : Versioning Lineage : affiche larbre des StateID constituant les versions de la Godatabase.
5 : Spatial Index Info : affiche sous la forme dune carte interactive ou de diagrammes statistiques, les
caractristiques de lindex spatial dune couche.
6 : Version Information : affiche la hirarchie des diffrentes versions et permet de crer ou de supprimer des
versions.
Les outils proposs dans ArcMap
Lextension Geotabase Toolset ajoute galement une nouvelle barre doutils dans ArcMap et propose lutilisateur
5 outils d'analyse:
- Data Fetching : affiche les temps de chargement et daffichage des couches et le nombre dentits retournes
pour chaque couche visible de la carte.
- Scale and Layer Visibility : permet de dfinir des zones dintrt sur la carte et d'examiner la visibilit des
couches en fonction des chelles.
1
2
3
4
5
6
Master SIG et gestion de lespace Service Web de gotraitement
88
- SQL Execute : permet de mettre en place des fichiers de traces sur certaines couches et certaines chelles.
Cette fonction permet galement dexcuter des requtes SQL.
- Scripting : permet de gnrer des scripts en enregistrant un enchainement de fonctions de navigation ou un
enchainement de fonctions de mise jour de donnes. Ce script permet de simuler un scnario d'utilisation et de
suivre les statistiques de performance au cours de son excution.
- Layer Description : Regroupe tous les indicateurs cls concernant la performance daffichage des couches dans
un tableau de synthse.