Beruflich Dokumente
Kultur Dokumente
Programmation
webmapping
(Cartographie sur le web)
Dans sa forme la plus simple, un SIG Web peut se définir comme un SIG utilisant la
technologie Web pour communiquer entre un serveur et un client.
Cette technologie repose principalement sur les trois composantes que sont :
- le client
- le serveur
- les données
Le WebMapping permet donc en fonction d'une requête d'un client au serveur cartographique de
retourner les données désirées sous la forme d'une carte.
Présentation d'un SIG Web
●
Une manière simplifiée, le WebMapping regroupe l'ensemble des technologies permettant d'afficher une carte
par internet.
Évolution des architectures du web vers le
webmapping
2/23/2019
Évolution des architectures du web vers le
webmapping
2/23/2019
Évolution des architectures du web vers le
webmapping
2/23/2019
Architecture du système de base
●
Logiciel Données
SIG Ex : shp, tiff, ...
Ex : ArcGIS, QGIS, ...
Architecture du système de base
●
spatiales
Architecture du système de base
●
● Eléments clés d'un SIG Web
- Le serveur possède une URL afin que les clients puissent le localiser sur le Web.
- Le client s'appuie sur les spécifications HTTP pour envoyer des demandes au serveur.
- Le serveur effectue les opérations SIG demandées et envoie les réponses au client via HTTP.
- La réponse envoyée au client utilise de nombreux formats, par exemple HTML, image binaire, XML
(Extensible Markup Language) ou JSON (JavaScript Object Notation).
Un SIG Web utilise Internet pour accéder aux informations sur le Web, quelle que soit la distance
séparant le serveur du client. Il présente ainsi de très nets avantages sur les systèmes SIG bureautiques
traditionnels .
● Avantages des SIG Web
■ Une portée globale :
En tant qu'utilisateur ArcGIS, vous pouvez proposer des applications SIG Web au monde entier, et tout le
La nature globale des SIG Web s'appuie sur le protocole HTTP, qui est largement pris en charge.
Web peut être utilisé simultanément par plusieurs dizaines ou centaines d'utilisateurs. Par conséquent, un
SIG Web nécessite des performances et une évolutivité plus élevées qu'un SIG bureautique.
● Avantages des SIG Web
■ Meilleures fonctionnalités multiplateformes :
La majorité des clients SIG Web sont des navigateurs Web : Internet Explorer, Mozilla Firefox, Safari Apple,
Du fait que ces navigateurs Web sont conformes en grande partie au langage HTML et aux standards JavaScript,
les SIG Web qui s'appuient sur des clients HTML prennent en charge des systèmes d'exploitation différents,
La quasi-totalité du contenu Internet est proposée gratuitement aux utilisateurs finaux, ce qui est également le cas des
SIG Web. En général, vous n'avez pas besoin d'acheter le logiciel ou de payer pour utiliser un SIG Web.
Les entreprises qui doivent fournir des fonctionnalités SIG à un grand nombre d'utilisateurs peuvent également
réduire leurs coûts en choisissant un SIG Web.
Au lieu d'acheter et d'installer un SIG bureautique pour chaque utilisateur, une entreprise peut installer un SIG Web.
Ce système à lui seul peut être partagé par un grand nombre d'utilisateurs : à domicile, sur le lieu de travail ou sur
site.
● Avantages des SIG Web
■ Convivialité :
Un SIG bureautique s'adresse à des utilisateurs professionnels possédant plusieurs mois de formation et d'expérience
dans le domaine des SIG.
Un SIG Web s'adresse au plus grand nombre, y compris aux utilisateurs publics qui ne connaissent rien des SIG.
Ils souhaitent que le SIG Web mis à leur disposition soit aussi facile à utiliser qu'un site Web normal.
De par sa conception, un SIG Web allie simplicité, intuition et commodité, ce qui le rend habituellement bien plus
simple à utiliser qu'un SIG bureautique.
● Avantages des SIG Web
■ Mises à jour unifiées :
Pour mettre à jour un SIG bureautique vers une nouvelle version, celle-ci doit être installée sur chaque ordinateur.
Dans un SIG Web, une seule mise à jour est nécessaire pour tous les clients.
Cette facilité de maintenance fait du SIG Web un bon outil pour proposer des informations en temps réel.
■ Applications variées :
À la différence d'un SIG bureautique, limité à un certain nombre de professionnels des SIG, un SIG Web peut être
utilisé par tout le monde dans une entreprise, ainsi que par le public au sens large.
Ce public au sens large a des demandes variées. Parmi les exemples les plus courants de SIG Web, citons : les
applications cartographiant les résidences des stars, le référencement de photos personnelles, la localisation
d'amis et l'affichage des points d'accès Wi-Fi.
● Advantages SIG (web) distiribué
■ - Logiciels indépendants
■ - Gain de temps!
●Inconvénients du SIG distribué
■ - Dépend de la disponibilité du serveur
2/23/2019
Architecture client-serveur « 3-tiers »
Dans l’architecture 3-tiers, un nouveau niveau fait son apparition. En effet, nous avons
toujours le niveau 1 qui est le client. Le client est très léger étant donné qu’il n’a aucun rôle
de traitement. Au niveau 2 nous avons le serveur d’application et enfin, au dernier niveau le
serveur de base de donnée.
Appelé architecture à trois niveaux:
1. Le client : le demandeur de ressources
19
2/23/2019
Architecture client-serveur « 3-tiers »
Avec le web s'est développé un autre mode d'organisation (antérieur) : l'architecture 3-tiers.
Ce mode consiste à séparer le traitement des données en trois couches “superposées” bien :
La couche de présentation interagit avec l'utilisateur : elle reçoit ses demandes et lui fournit
les informations sous une forme compréhensible par lui.
La couche de traitement des données met en œuvre ce qui relève du “métier” ou, plus
généralement, de la fonction des données.
La couche d'accès aux données persistantes s'occupe d'entreposer les données pérenne sous
une forme utilisable par les traitements ultérieurs. Il s'agit dans la plupart des cas d'un
serveur gestionnaire de base de données (SGBD).
20
2/23/2019
Architecture client-serveur « 3-tiers »
21
2/23/2019
Architecture client-serveur « 3-tiers »
Client cartographique
(OpenLayers, Leaflet,
Google Map)
+
Client web
Client
Architecture 3-tiers
22
2/23/2019
Architecture client-serveur « 3-tiers »
Un site Internet dynamique, avec PHP et MySQL
1. L'Utilisateur demande à afficher une page dans son navigateur, en donnant son
adresse URL.
2. Le navigateur convertit cette demande en une requête HTTP.
3. Cette requête HTTP est convertie par le réseau Internet (DNS et nœuds) en un
chemin de fichier PHP sur une machine serveur.
4. Le serveur transfère la requête à PHP.
5. PHP traite le fichier demandé, c'est à dire interprète le script en langage php, ce
script peut :
• écrire du texte, donc générer des balises HTML.
• lire et modifier des images.
• exécuter des requêtes sur un SGBD comme MySQL et en traiter les données des
résultats.
6. PHP convertit le résultat de l'exécution du fichier en un fichier HTML, qui est
retourné au serveur.
7. Le serveur traite ce fichier en rassemblant les éléments de la page HTML (fichier
html et images, feuilles de styles, scripts, etc., potentiellement utiles).
8. Le serveur envoie au navigateur client les fichiers.
9. Le navigateur traite les fichiers pour afficher la page.
23
Architecture client-serveur « 3-tiers »
+
Client
cartographique
(OpenLayers,
Leaflet, Google
Map)
Client cartographique
(OpenLayers, Leaflet, Serveur applicatif
Javascript,
Google Map) (php, jsp,…) +
Html, images, css
+ +
25
2/23/2019
Architecture client-serveur « 3-tiers »
Les points importants d’une application 3-tiers :
1) Le client ne sert qu’à requêter et à afficher les réponses du serveur.
2) Le serveur lui s’occupe des calculs et même de requêter des serveurs additionnels.
Cette architecture offre une flexibilité beaucoup plus importante que l’architecture
2-tiers. En effet, la portabilité du tiers serveur permet d'envisager une allocation et ou
modification dynamique au grés des besoins évolutifs au sein d'une entreprise.
Les avantages d’une architecture 3-tiers sont nombreux. Tout d’abord cette architecture
étant plus divisé permet d’avoir du point de vue du développement, une spécialisation des
développeurs selon le niveau de l’application.
Seul inconvénient selon moi de ce genre d’architecture est le coût. En effet d’après
certaines études une architecture 3-tiers serait plus onéreuse
26
2/23/2019
Architecture client-serveur « n-tiers »
Dans le cas du web, le découpage en couches est souvent un peu différent. La couche de
présentation se décompose en deux couches bien distinctes :
1- le rendu de l'interface, réalisé au moyen d'un simple navigateur,
2- le calcul de l'interface et de la présentation des données, généralement réalisé par un
logiciel implanté sur le serveur web.
Les pages web qui réalisent cette interface, ou par extension le navigateur, sont appelés
client léger. Ceci est léger pour trois raisons : cela permet une très grande souplesse, en
particulier d'interopérabilité (ne dépend pas ou peu du système choisi par l'utilisateur), cela
demande l'échange de moins de données et cela n'impose pas d'installer sur la machine de
l'utilisateur un quelconque logiciel.
27
2/23/2019
Architecture client-serveur « n-tiers »
L'architecture d'une application de webmapping s'appuie sur celle du web. Ici, en plus des
serveurs web et de données, nous avons le serveur cartographique. En fonction de la
requête du client au serveur cartographique, il est retourné au client les données désirées
sous la forme de carte.
28
Architecture webmapping n-tiers
2/23/2019
Architecture client-serveur « n-tiers »
L'architecture d'une application de webmapping s'appuie sur celle du web. Ici, en plus des
serveurs web et de données, nous avons le serveur cartographique. En fonction de la
requête du client au serveur cartographique, il est retourné au client les données désirées
sous la forme de carte.
29
30
2/23/2019
Architecture client-serveur « n-tiers »
Un site Internet cartographique dynamique, utilisant une API JavaScript et des
données distantes issues de Webservices.
10. Le navigateur exécute les scripts JavaScript présents dans la page et prévus pour se
lancer au chargement. Ces scripts lancent le chargement de l'API et la création de
l'application côté client.
11. L'application cliente crée la fenêtre cartographique et lance les requêtes nécessaires
pour alimenter en données les couches à partir des sources de WebServices distantes.
32
2/23/2019
Architecture client-serveur « n-tiers »
2/23/2019
Architecture client-serveur « n-tiers »
Un site Internet dynamique sur serveur SIG avec MapServer / MapScript
1. L'Utilisateur demande à afficher une page dans son navigateur, en donnant son
adresse URL
2. Le navigateur convertit cette demande en une requête HTTP.
3. Cette requête HTTP est convertie par le réseau Internet (DNS et nœuds) en un
chemin de fichier PHP sur une machine serveur.
4. Le serveur transfère la requête à PHP.
5. PHP traite le fichier demandé, c'est à dire interprète le script en langage php, ce
script peut, entre autres :
- écrire du texte, donc générer des balises HTML.
- lire et modifier des images.
- exécuter des requêtes sur un SGBD et en traiter les données des résultats.
6. MapScript, en tant qu’extension de PHP, traite les aspects SIG de la requête en
préparant un ou plusieurs documents (images), à partir de :
- données raster
- données vecteur
- données alphanumériques attributaires
- données stockées sur serveur SGBD avec extension spatiale.
- (Ces données peuvent être accessibles en local sur la machine serveur ou sur d'autres
34
serveurs par le biais de WebServices aux normes OGC.)
2/23/2019
Architecture client-serveur « n-tiers »
Un site Internet dynamique sur serveur SIG avec MapServer / MapScript
7. Les images générées par MapScript sont ajoutées à la page assemblée par PHP
(chemins des balises <img/>).
8. PHP convertit le résultat du traitement du fichier en un fichier HTML, qui est
retourné au logiciel serveur.
9. Le serveur traite ce fichier en rassemblant les éléments de la page HTML (fichier html et
images, feuilles de styles, scripts, etc., potentiellement utiles).
10. Le serveur envoie au navigateur client les fichiers.
11. Le navigateur traite les fichiers pour afficher la page
35
2/23/2019
Architecture client-serveur « n-tiers »
36
2/23/2019
Architecture client-serveur « n-tiers » Vs
Architecture client-serveur « 3-tiers »
37
2/23/2019
Solutions propriétaires, solutions open source
Après une étude comparative, voici les solutions choisies qui répondent le mieux aux
Fonctionnalités ?
besoins des utilisateurs SIG Web .
2/23/2019
Fonctionnalités des Solutions propriétaires, solutions open source
2
1
Fonctionnalités des Solutions clients (propriétaires et open source)
1
Fonctionnalités des Solutions serveurs (propriétaires et open source)
2
Solutions propriétaires, solutions open source
Après une étude comparative, voici les solutions choisies qui répondent le mieux aux
besoins des utilisateurs SIG Web .
Caractéristique du MapServer:
• Affichage de données spatiales sur le Web
• Open Source
• SIG incomplet
• Pas d’outil de création des couches
46
2/23/2019
Solutions propriétaires, solutions open source
Après une étude comparative, voici les solutions choisies qui répondent le mieux aux
MapServer: fonctionnement
besoins des utilisateurs SIG Web .
Carte
MapServer Navigateur
http Internet
MS4W
Fichier
Serveur GéoBASE
d’initialisation
Données
Template MapFile SIG
HTML, Javascript, WFS, Raster, SHP,
Images, Css,… WMS, tab.,..
WCS pgSQL,
PostGIS
47
2/23/2019
Solutions propriétaires, solutions open source
Après une étude comparative, voici les solutions choisies qui répondent le mieux aux
MapServer: fonctionnement
besoins des utilisateurs SIG Web .
MAP
Technologique 2011
IMAGETYPE PNG
EXTENT -97.238976 41.619778 -82.122902 49.385620
SIZE 400 300
SHAPEPATH "/ms4w/apps/tutorial/data"
IMAGECOLOR 255 255 255
LAYER # PNR Layer commence ici
NAME pnr_LR Exemple de
DATA pnr_LR
STATUS OFF fichier
TYPE POLYGON
CLASS MapFile
NAME "pnr"
STYLE avec
COLOR 232 232 232
OUTLINECOLOR 32 32 32 sémiologie
END
END
END # PNR Layer termine ici
END
48
2/23/2019
Solutions propriétaires, solutions open source
Après une étude comparative, voici les solutions choisies qui répondent le mieux aux
MapServer : synthèse
besoins des utilisateurs SIG Web .
49
2/23/2019
CHOISIR UN SERVEUR CARTOGRAPHIQUE
50
CHOISIR UN SERVEUR CARTOGRAPHIQUE
Rappel des Principales fonctionnalités attendues en webmapping
Client 51 Serveur 51
CHOISIR UN SERVEUR CARTOGRAPHIQUE
52
CHOISIR UN SERVEUR CARTOGRAPHIQUE
Critères de description et de comparaison
Des grands critères pour décrire et comparer :
❖ Technologies employées et environnement de développement
• Environnement d’installation,
• Librairies utilisées
• Existences d’API
53
CHOISIR UN SERVEUR CARTOGRAPHIQUE
Critères de description et de comparaison
54
TYPES DE SERVICES WEB
GÉOSPATIAUX
2/23/2019
Types de services Web Géospatiaux
Après une étude comparative, voici les solutions choisies qui répondent le mieux aux
Le webmapping permet donc en fonction d'une requête d'un client au serveur
besoins des utilisateurs
cartographique SIG les
de retourner Web .
données désirées sous la forme d'une carte.
Interopérabilité ?
Deux organismes majeurs :
56
2/23/2019
Types de services Web Géospatiaux
• Services de géocodage
• Services de géotraitements
Produits Map Service exclusifs
■ La plupart des serveurs SIG et des sites de recherche commerciaux fournissent des
cartes et des fonctionnalités géospatiales à l'aide d'une architecture propriétaire /
API
■ Ces produits comprennent les suivants:
• - ArcGIS Server (ESRI)
• - ArcWeb Services (ESRI)
• - MapXtreme (MapInfo)
• - MapGuide (Autodesk)
• - Geomedia WebMap (Intergraph)
• - MapPoint
• - Google Maps (Google)
• - Live Search Maps (Microsoft)
• - Yahoo Maps
■ Cependant, la plupart des produits ci-dessus peuvent publier des services ouverts
(par exemple, WMS) qui répondent aux normes ouvertes
■ De plus, il existe de nombreux produits SIG open source (par exemple, MapServer)
qui sont des efforts de collaboration et n'utilisent pas d'architectures propriétaires
... ceux-ci sont généralement basés sur des standards ouverts
Inconvénient des services
propriétaires
■ Dans la plupart des cas, seules les applications du même fournisseur peuvent être
utilisées pour consommer ces services.
■ L'API propriétaire:
■ - limite le nombre de développeurs ayant une expérience dans la fourniture de ces
solutions.
■ - Limite le partage de données géospatiales et de fonctionnalités entre utilisateurs /
organisation.
OGC et Open Web Mapping
■ le Open Geospatial Consortium (OGC) a été créé en 1994
■ Un consortium international de 346 organisations qui mènent l'élaboration de normes et
de spécifications ouvertes afin de permettre l'interopérabilité des services géospatiaux et
de localisation
■ Ils ont élaboré une série de normes ouvertes pour les services Web géospatiaux tels que:
• - Language de balisage géographique(GML)
• - Services de cartographie Web (WMS)
• - Web Feature Services (WFS)
• - Web Coverage Services (WCS)
■ Mentionné sous le nom de «OpenGIS®» “OpenGIS®” standards
Web Mapping Services (WMS)
■ WMS est la spécification OGC pour la mise en
œuvre d'un service de carte (image).
2. Requête envoyée au
service web
3. Reçoit la Requête et
8. Recevoir une réponse, 7. Réponse envoyée au analyse XML
analyser pour extraire client
l'image et mettre à jour la 4. Appelle le serveur
carte cartographique pour
demander une carte
5. Map Server génère une
carte en tant que fichier
image
6. Crée un XML de réponse
avec un fichier image
Web Feature Services (WFS)
■ WFS est la spécification OGC pour la mise en
œuvre d'un service d'entités.
2. Requête envoyée au
service web
Fiabilité √
Fonctionnalités √
WMS vs WFS
Le graphique suivant montre la différence des résultats d'une GetMap (WMS) et un
GetFeature (WFS) demande.
73
2/23/2019
Références:
- La bibliothèque OpenLayers, 01 Février 2012:
http://perso.ensg.eu/taussig/open_layers/Presentation+Cours_OL_IT2_2012.pdf
- Cartographie sur le web (webmapping), 2013:
http://webmapping.scge.ulg.ac.be/docs/2013_Webmapping_ULg_logiciels.pdf
- Web GIS: Principes and Applications , 2012:
http://www.geog.ucsb.edu/~good/176c/pindefu.pdf