40
! !! Par : Marie COUTARD Marie COUTARD Marie COUTARD Marie COUTARD Jean Jean Jean Jean-Pascal KLIPFEL Pascal KLIPFEL Pascal KLIPFEL Pascal KLIPFEL Samuel BLANC Samuel BLANC Samuel BLANC Samuel BLANC Encadrant : Laurent JEGOU, Laurent JEGOU, Laurent JEGOU, Laurent JEGOU, ingénieur cartographe ingénieur cartographe ingénieur cartographe ingénieur cartographe

sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

��

���������������� ������ ��� ������������������������

� ��������������������

��������������� � �������� ��!�����!�����! �

�� ��

Par : Marie COUTARDMarie COUTARDMarie COUTARDMarie COUTARD

JeanJeanJeanJean----Pascal KLIPFELPascal KLIPFELPascal KLIPFELPascal KLIPFEL Samuel BLANCSamuel BLANCSamuel BLANCSamuel BLANC

Encadrant : Laurent JEGOU, Laurent JEGOU, Laurent JEGOU, Laurent JEGOU,

ingénieur cartographeingénieur cartographeingénieur cartographeingénieur cartographe

Page 2: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

1

RemerciementsRemerciementsRemerciementsRemerciements ....................................................................................................................................................................................................................................................................................................................................................................................................................................2222

IntroductionIntroductionIntroductionIntroduction ............................................................................................................................................................................................................................................................................................................................................................................................................................................................3333

1111 ContexteContexteContexteContexte....................................................................................................................................................................................................................................................................................................................................................................................................................................................4444

1.1 Le « webmapping ».......................................................................................................... 4 1.1.1 Principes de cartographie sur Internet ............................................................................................. 4 1.1.2 l’OpenSource et l’OGC................................................................................................................... 6 1.1.3 Choix d’une solution autour de Mapserver ..................................................................................... 7

1.2 La solution recherchée .................................................................................................... 8 1.2.1 Quel public ? ................................................................................................................................... 8 1.2.2 Quelle plateforme ? ......................................................................................................................... 8 1.2.3 Quel type ? ...................................................................................................................................... 8

1.2.3.1 Du côté Client :...................................................................................................................... 9 1.2.3.2 Du côté Serveur : ................................................................................................................... 9 1.2.3.3 Entre le Client et le Serveur : L'applet ................................................................................... 9

2222 Evaluation des solutionsEvaluation des solutionsEvaluation des solutionsEvaluation des solutions............................................................................................................................................................................................................................................................................................................................................ 10101010

2.1 Critères d’évaluation..................................................................................................... 13

2.2 Résultats ......................................................................................................................... 18 2.2.1 Les solutions rejetées .................................................................................................................... 18 2.2.2 Les solutions retenues ................................................................................................................... 18

3333 Mise en œuvre et réalisationMise en œuvre et réalisationMise en œuvre et réalisationMise en œuvre et réalisation ................................................................................................................................................................................................................................................................................................................ 19191919

3.1 Architecture de travail .................................................................................................. 19 3.1.1 Environnement matériel ................................................................................................................ 19 3.1.2 Construction de la base de données sur PostgreSQL/PostGIS ...................................................... 20

3.1.2.1 Configuration de PostgreSQL.............................................................................................. 20 3.1.2.2 Création d'une base de données ........................................................................................... 20

3.2 Démonstration des potentialités des solutions retenues ............................................. 23 3.2.1 Les solutions côté client ................................................................................................................ 23

3.2.1.1 Quantum GIS (QGIS) : ........................................................................................................ 23 3.2.1.2 UDIG .................................................................................................................................. 26 3.2.1.3 Thuban................................................................................................................................. 27

3.2.2 MapLab : une solution serveur...................................................................................................... 29 3.2.2.1 Création d'un mapfile avec MapEdit ................................................................................... 30 3.2.2.2 Requête WMS avec MapBrowser .................................................................................. 32 3.2.2.3 Visualisation de données géographiques avec GMapFactory.............................................. 33

3.3 Discussion sur les possibilités des solutions mises en place........................................ 34

ConclusionConclusionConclusionConclusion ........................................................................................................................................................................................................................................................................................................................................................................................................................................................ 35353535

GlossaireGlossaireGlossaireGlossaire .................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 36363636

Ressources InternetRessources InternetRessources InternetRessources Internet ................................................................................................................................................................................................................................................................................................................................................................................................ 38383838

Page 3: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

2

Remerciements Remerciements Remerciements Remerciements

Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et son approche pédagogique. Il nous a permis d’entrer dans les meilleures conditions dans le monde de la cartographie dynamique sur le Web.

Conseil de lecture : Un terme suivi d’un astérisque veut dire qu’il est défini dans le glossaire. Le glossaire comprend également des termes non présents dans ce rapport, mais que l’on rencontre souvent sur Internet.

Page 4: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

3

IntroductionIntroductionIntroductionIntroduction Dans une optique de mutualisation des données et d’accessibilité à la représentation des phénomènes spatiaux, l’Internet est un outil essentiel pour la mise en relation des acteurs et des utilisateurs de l’espace. De plus en plus, on cherche à se munir d’un serveur cartographique capable de distribuer les données géographiques par Internet ou Intranet. Parallèlement, la prolifération des solutions dites OpenSource est un des facteurs qui explique cet engouement. Librement accessibles et réutilisables, il en existe de nombreuses dans le domaine de l’information géographique. Au centre de cette sphère en développement permanent : MapServer, né dans l'université américaine du Minnesota, qui autorise la publication de données et propose un ensemble de fonctions digne des meilleurs outils payants (navigation, requêtes, mais aussi, mise à jour à distance). Pour autant, l’utilisation de ce serveur cartographique pour diffuser de l’information requiert un minimum de programmation pour appeler et afficher les cartes dans une interface possédant les outils nécessaires à la consultation et à la compréhension du document (navigation, jeux de couches, légende dynamique, échelle). Devant ce constat, de nombreux projets se sont développés aux quatre coins du monde. Les sources sont disponibles sur le Web, encore faut-il les trouver et les comprendre... Là est la limite du principe Open Source : malgré les efforts de l’OGC*, peu de cohésion existe encore entre les différents projets. Ainsi, les solutions proposées en téléchargement peuvent ne fonctionner que dans certains environnements et certaines configurations, l’interopérabilité avec d’autres logiciels peut ne plus être assurée d’une version à l’autre. Dans tous les cas, l’actualité des logiciels libres est difficile à suivre... Face au désordre, il s’agit d’établir un état des lieux des solutions « applicatives » OpenSource qui facilitent la maintenance et la mise en ligne de données cartographiques. S’articulant autour du serveur cartographique, elles peuvent être conçues comme des couches logicielles fournissant des outils de visualisation, de mise à jour et d’édition de données cartographiques. Le plan de notre travail correspond au protocole que nous avons suivi pour le mettre en œuvre. Une brève présentation des principes de cartographie sur le web et des normes utilisés dans le monde du SIG « libre » permettra de comprendre la place prise par les solutions recherchées et recensées par la suite. Celles-ci seront évaluées dans un deuxième temps, selon des critères visant non seulement à sélectionner les solutions les plus efficaces, les plus prometteuses mais aussi les plus faciles à mettre en œuvre. Enfin, une solution côté client et une solution côté serveur seront retenues et testées sur un jeu de données complet afin de réaliser un prototype. Celui-ci présentera l’éventail des possibilités offertes actuellement par les logiciels et produits libres en terme de maintenance et d’édition de données cartographique.

Page 5: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

4

1111 Contexte Contexte Contexte Contexte Bien qu’à la mode actuellement, la cartographie en ligne répond à de réels besoins de diffusion rapide de l’information et de mise à jour à distance des données. La mise en œuvre de telles plates-formes demande des compétences transversales à la fois en informatique et en géographie. Afin de cibler nos travaux, nous rappellerons dans cette partie quelques principes de l’architecture client/serveur sur laquelle se base la cartographie sur Internet avant de présenter l’OpenSource avec Mapserver et les différentes solutions applicatives qui gravitent autour.

1111....1111 Le «Le «Le «Le « webmappingwebmappingwebmappingwebmapping »»»» Ce terme générique prend en compte l’ensemble de la distribution de cartes via un réseau (Internet, Intranet, …) et leur visualisation dans un navigateur. En considérant la finalité du SIG comme étant une appréhension de l’espace, nous acceptons alors la définition d’un système complexe mettant en relation les programmes informatiques de gestion de bases de données relationnelles (SGBDR), de traitement et de mise à jour des données géographiques. Les données stockées et mises en relation dans les SGBDR correspondent aux informations attributaires décrivant l’espace donné, tandis que les objets géographiques tels que le point, la ligne et le polygone sont des données géométriques référencées dans un plan en x par la latitude et en y par la longitude voire en z pour l’altitude. Les données sont directement reliées à une géométrie particulière dans un SIG grâce à des connexions informatiques ODBC. Dans une conception en ligne, la visualisation des cartes passe par des programmes installés sur des serveurs cartographiques qui communiquent par des protocoles prédéfinis.

1111....1111....1111 PrincipePrincipePrincipePrincipessss de cartographie sur Internet de cartographie sur Internet de cartographie sur Internet de cartographie sur Internet La solution la plus répandue actuellement dans le domaine de la mise en ligne de données cartographiques consiste à créer à la volée une image correspondant à la demande de l’utilisateur. Pour cela, il est le plus souvent fait appel à un serveur cartographique. C’est le protocole de communication TCP/IP* qui permet à des ordinateurs branchés en réseau d’échanger de l’information via un navigateur web ou de transférer des fichiers via le protocole ftp. L’architecture est de type client/serveur c'est-à-dire qu’il existe une série d’ordinateurs dits clients connectés à un serveur dédié qui lui-même communique vers l’extérieur (www) ou avec des serveurs particuliers par l’intermédiaire de leur matricule : l’IP. L’utilisateur sur sa machine locale effectue des requêtes pour demander une carte spécifique ; le serveur cartographique interprète cette requête et renvoie la carte sous la forme d’une image matricielle (gif, jpg…) ou vectorielle (svg, flash).

Page 6: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

5

Le serveur cartographique est télécommandé par des langages de script tels que php, javascript, Python ou Perl qui lui permettent de charger dynamiquement une carte en réponse à la requête. L’ordinateur serveur peut chercher cette information soit dans ses propres ressources, soit sur des serveurs de données distants. La consultation de l’information requiert une installation essentiellement côté serveur avec des logiciels tels Apache ou IIS (Internet Information Services) qui tournent en tâche de fond et permettent aux serveurs de cartes d’accéder à l’Intranet et à l’Internet. Il faut aussi rajouter des interpréteurs de scripts comme php-MapScript et éventuellement un viewer (visionneuse en français) pour afficher la carte sur le browser (navigateur en français) du client. La visionneuse peut être un applet* ou un servlet. Dans le cas de l’applet, la visionneuse se télécharge côté client à chaque utilisation, dans le cas du servlet, elle s’exécute directement sur le serveur, la différence se situe au niveau de la rapidité de chargement et de la saturation potentielle des capacités du serveur.

Echanges Protocole TCP/IP

CLIENTCLIENTCLIENTCLIENT

Logiciel ftp ftp ftp ftp

BureauBureauBureauBureau Solutions clientes

(QGis, Udig, Thuban)

Navigateur Internet Navigateur Internet Navigateur Internet Navigateur Internet (Internet exploreur, Mozilla

Firefox)

SERVEURSERVEURSERVEURSERVEUR

Serveur de donnéesServeur de donnéesServeur de donnéesServeur de données

PhpMyAdmin PostgreSQL/PostGis

(tables)

Serveur CartographiqueServeur CartographiqueServeur CartographiqueServeur Cartographique Solutions serveur MapLab-MapLink

PhpMapscript Mapserver (images)

Serveur WebServeur WebServeur WebServeur Web Apache, IIS

Requêtes HTTP

Pages HTML

Connexion Postgis

Requêtes WMS/WFS et réponse sous la forme

d’images bitmap

Transferts de fichiers

AppletsAppletsAppletsApplets

Schéma 1 : Principes d’échanges entre un ordinateur client et un serveur

Page 7: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

6

Les requêtes sur un serveur cartographique peuvent êtres exécutées par le navigateur ou par un programme appelant, nous nous intéresserons dans ce rapport aux requêtes de type WMS/WFS définies par l’OpenGis Consortium (OGC) et utilisées par les serveurs cartographiques OpenSources tels que Geoserveur, Mapserveur et Deegree. Ces moteurs cartographiques sont des programmes dont le rôle est de fabriquer à la volée, selon la demande de l’utilisateur des fichiers images représentant des données géographiques stockées sur le disque dur du serveur ou sur un autre serveur relié. Au niveau du serveur de données, Les SGBDR tels PostgreSQL ou MySQL, entre autres, peuvent être installés directement sur le serveur contenant le serveur cartographique ou bien à distance. Qu'importe le lieu, l'important est de pouvoir consulter et éditer des données à distance. Nous avons opté pour PostgreSQL et son extension spatiale PostGIS car c’est le système de gestion de bases de données relationnelles le plus abouti dans le domaine du logiciel libre. Actuellement la version 8.0.0 est téléchargeable sur le site http://www.postgresql.org/download. PostGIS offre des fonctionnalités approfondies pour traiter les objets géoréferencés et géométriques. En terme de richesse fonctionnelle, la solution PostgresSQL/PostGIS dépasse largement la dernière version de Mysql étendue spatialement, mais elle est plus complexe à mettre en oeuvre. Cependant, un tutorial d’installation réalisé par Jean David Techer permet aujourd’hui de compiler postgresql couplé de PostGIS sans trop d’encombre s(http://www.01map.com/david/doc/postgis090).

1111....1111....2222 l’Ol’Ol’Ol’OpenSpenSpenSpenSourceourceourceource et l’OGC et l’OGC et l’OGC et l’OGC Les projets OpenSource prennent de l'importance dans les configurations informatiques de nombreux organismes publics et privés. L'avantage tient aux économies réalisées sur les licences d'utilisation des programmes. En effet, les logiciels libres sont régis par la philosophie GNU prônant le libre accès de ces logiciels à tous les utilisateurs. Chacun est donc libre de copier, de diffuser le programme et de le modifier car son code source est accessible. La licence principale est nommée GPL* pour General Public Licence. L'adresse électronique suivante http://www.gnu.org/licenses/gpl.html apporte les informations nécessaires à une meilleure compréhension de ses termes. D'autres licences en découlent. Par exemple, la LGPL pour Librairy General Public Licence est relative aux bibliothèques* de fonctions. L'OGC est l'organisme référent en matière de normalisation des informations géographiques. Association à but non lucratif, l'OGC élabore des normes pour le traitement de l’information géographique sur des plateformes informatiques ouvertes. Une de ses spécifications est de faciliter l'interopérabilité des systèmes afin de promouvoir le développement des SIG libres. L’OGC publie des normes comme le format GML* (Geographic Markup Language), les protocoles WMS pour Web Map Server et WFS pour Web Feature Server. Le GML permet de publier des données géographiques au format XML* spécifié par le World Wide Web Consortium (W3C). Les protocoles WMS et WFS sont des standards normalisant l’échange d’informations et de données cartographiques entre les serveurs de cartes sur Internet. Leurs spécifications proposent d'utiliser une syntaxe particulière de requêtes passées dans l'URL* pour interroger un serveur cartographique distant.

Page 8: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

7

Les requêtes principales du WMS sont GetCapabilitiesGetCapabilitiesGetCapabilitiesGetCapabilities et GetmapGetmapGetmapGetmap. La première retourne un fichier XML détaillant les possibilités offertes par le serveur, à savoir : la version, les formats, les couches et les métadonnées. La seconde contient une demande de création de carte selon des critères spécifiés comme les dimensions de la vue (Extent), la méthode de projection, la taille de l’image ou encore la couche d’information à charger. WFS permet de faire une présélection des objets à retourner. Mapserver est un serveur cartographique capable entre autres de répondre à du WMS ou du WFS.

1111....1111....3333 Choix d’une solution autour de MChoix d’une solution autour de MChoix d’une solution autour de MChoix d’une solution autour de Mapserverapserverapserverapserver De nombreux serveurs cartographiques existent sur la toile. Par exemple, GeoServer semble être promis à un avenir intéressant du fait de sa capacité à lire des fichiers de cartes et surtout à les mettre à jour directement. Cependant, n'étant qu'à ses débuts, il manque de documentation et de programmes d'interfaçage. Autre cas, GISServer pourrait correspondre à notre besoin car, contrairement à GeoServer, il est richement documenté et développé. Néanmoins, aux vues des utilisateurs ciblés dans ce projet, sa conception en langage Java rebuterait les novices. Une panoplie conséquente de serveurs de cartes sur Internet existe, un tour d'horizon est proposé sur le site http://www.opengeospatial.org/resources/?page=products recensant aussi bien les serveurs cartographiques libres que payants. Le choix de Mapserver comme serveur cartographique s'explique par l'utilisation conséquente qui en est faite sur la planète. De plus, projet OpenSource développé à l’Université du Minnesota (Etats-Unis), il respecte les spécificités de l’OGC. Actuellement à sa version 4.4, il s’adapte quasiment à tout type d’environnement. Il peut être facilement étendu afin de supporter de nouveaux formats de données, environnements de développement, systèmes d’exploitation ou serveurs Web. En entrée il accepte une multitude de formats de données géographiques (raster et vecteur) et des bases de données spatiales (PostGIS, Oracle). En sortie il produit des cartes interactives à destination d’Internet aux formats suivants : - GIF, PNG, JPEG (images bitmap) ; - SWF, PDF (images vectorielles). Le module MapScript permet de l'interfacer à des pages html grâce au langage php. Mapserver est donc télécommandé par du php et produit des cartes grâces aux mapfiles.

Le mapfile est la pièce maîtresse d’une application de webmapping avec Mapserver. Un mapfile est un fichier texte ASCII structuré en plusieurs paragraphes qui définissent les

Page 9: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

8

paramètres de la carte (cadre, échelle, légende et couches). En pratique, il est appelé par un script et renvoie les différentes couches (layers) sous la forme d’images. Celles-ci peuvent provenir de différentes sources :

- D’une base de données spatiales locale ou distante ; - D’un serveur distant grâce à une requête GetMap ; - D’un fichier géométrique ou image dans le disque dur locale par son shapfile.

Il faut être particulièrement attentif dans la définition des coordonnées des extensions de la carte et de son système de projection (codé selon les normes EPSG*). Le mapfile possède l’avantage d’être très malléable et des applications telles que mapEdit de MapLab en facilitent les modifications.

1111....2222 La solution recherchéeLa solution recherchéeLa solution recherchéeLa solution recherchée Nous cherchons ici une application complète de consultation et d'édition des données géographiques sur Internet via Mapserver.

1111....2222....1111 Quel publicQuel publicQuel publicQuel public ???? Le public ciblé par cette étude est un acteur initié à la géomatique. Il est familiarisé avec les bases de données relationnelles, les protocoles de communication, les échanges de données, la cartographie automatique, les requêtes et analyses spatiales. Cependant, nous considérons qu'il n'est pas un professionnel de l'informatique, que ses connaissances sont réduites en programmation, qu'il connaît mais ne maîtrise pas forcément complètement les langages de programmation web comme php ou java. De plus, nous admettons que les procédures d'installation matérielles et logicielles complexes ne lui sont pas évidentes. Ainsi, la solution optimale devra, pour être retenue, tenir compte des capacités de réalisation et de compréhension de l'utilisateur. Si sa mise en œuvre requière un investissement personnel conséquent, sa documentation sera nécessairement fournie, riche et explicite.

1111....2222....2222 Quelle plateformeQuelle plateformeQuelle plateformeQuelle plateforme ???? Comme pour le ciblage du public, la plateforme doit être relativement simple d'utilisation. Il s'avère que le système d’exploitation Windows est le plus couramment utilisé et le plus simple à mettre en œuvre. Dans ce projet, les solutions retenues devront pouvoir tourner sur un système d'exploitation Win32. Notons que les programmes en OpenSource sont généralement développés autour des noyaux Unix/Linux. C’est pourquoi, il serait utile de s’intéresser à ces systèmes souvent rebutant au premier abord mais de plus en plus conviviaux grâce à l'effort des concepteurs informatiques du monde entier.

1111....2222....3333 Quel typeQuel typeQuel typeQuel type ???? L'environnement de travail nécessaire à la mise en place d'une solution de SIG sur Internet s'appuie sur une architecture de serveurs distants reliés par des connexions informatiques à des postes clients. Les solutions que nous recherchons peuvent se placer côté client, côté serveur ou être des applets.

Page 10: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

9

1.2.3.1 Du côté Client : L’application est installée et exécutée sur le poste client. Par son intermédiaire,

l’utilisateur peut se connecter à distance à un serveur pour récupérer de la donnée et la traiter. L'intérêt est qu'en local la réalisation de tâches particulières comme la mise à jour des données, l'analyse thématique ou la création d'objets spatiaux est facilité par les fonctionnalités d’un SIG. Cependant, cette unique solution ne permet pas de diffuser de l’information sur le net. D’autre part, le transit entre le poste local et le poste distant génère un fort trafic sur le réseau ce qui nécessite d'utiliser une connexion au réseau Internet puissante et permanente.

1.2.3.2 Du côté Serveur : L'application est une couche logicielle installée directement sur le serveur. C’est un

outil de gestion et de diffusion de données géographiques. Elle permet de déterminer les informations à afficher (couches, légende, cartes) et de configurer l’interface de consultation en ligne. Cette page est préformatée. Les données cartographiques et attributaires sont générées à la volée selon la demande. Elles sont soit stockées sur le serveur en question, soit récupérées sur d'autres serveurs. L'architecture et le fonctionnement sont complètement transparents pour l'utilisateur. L'avantage est la rapidité des traitements car ils s'effectuent sur le serveur, l'interface est prédéfinie par le concepteur, les données sont organisées. Le poste client ne prend en charge que la présentation des résultats (pages HTML avec éventuellement quelques scripts). L'application côté serveur permet de diffuser de l'information géographique (géométrie et attributs).

1.2.3.3 Entre le Client et le Serveur : L'applet Une autre configuration est une application souvent en Java se situant à mi-chemin

entre le côté client et le côté serveur, appelée Applet. La consultation cartographique s'effectue sur le navigateur de l'utilisateur mais est réellement générée par l'applet. L'inconvénient majeur réside dans l'obligation de télécharger à chaque consultation le programme. Bien que prometteuse pour des raisons de facilité de déploiement, cette solution n'est pas supportée par tous les navigateurs Web et surtout manque de fiabilité pour le moment. Evidemment, il est important de ne pas comparer les avantages et Inconvénients des configurations précédemment citées car elles sont complémentaires.

Page 11: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

10

2222 Evaluation des solutions Evaluation des solutions Evaluation des solutions Evaluation des solutions Nos sources proviennent d’Internet, de sites pour la plupart en anglais parmi lesquels il a fallu trier les solutions qui pouvaient nous intéresser. Le monde de l’open source évolue constamment. La tendance est à développer un peu chacun de son côté et la toile fourmille de projets, de bibliothèques de fonctions et de versions stables. Au final, on a recensé différents programmes, briques logicielles plus ou moins aboutis conçus pour traiter et diffuser de l’information géographique. Réaliser cet état de l’art fut est assez long, il fallut comprendre ce dont chaque programme a besoin pour fonctionner, s’il évolue ou est abandonnée et surtout ce qu’il permet réellement de faire. En effet, la dernière version téléchargeable n’est pas forcément à la mesure ce qui est annoncé dans le site. Nous nous sommes attaché dans ce rapport aux solutions quasiment "clé en main", compatibles avec Mapserver. Après l'égrenage des informations récupérées une première sélection peut être présentée. Parmi ces 18 solutions nous garderons celles capables de tourner sur une plateforme Windows (système cygwin exclu).

Page 12: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

11

����������������������� � ��������

Nom de la solution libreNom de la solution libreNom de la solution libreNom de la solution libre PlateformePlateformePlateformePlateforme EnvironnEnvironnEnvironnEnvironnement de ement de ement de ement de ProgrammationProgrammationProgrammationProgrammation descriptif/résumédescriptif/résumédescriptif/résumédescriptif/résumé

AlovMap AlovMap AlovMap AlovMap http://www.alov.org/index_fr.html Windows/Linux Java

Application Java destinée à la publication de cartes vectorielles,matricielles et à leur consultation sur un navigateur Web. Elle offre des possibilités de navigation et de sélection d’objets, de construction de cartes thématiques, d'interrogation des données attributaires ainsi que le renvoi vers des liens Web.

Chameleon Chameleon Chameleon Chameleon http://www.maptools.org/chameleon Windows/Linux Php/Html

Environnement pour le développement d'Application cartographiques sur le Web. Compatible avec les standards WMS et WFS de l'OGC, Chameleon regroupe un ensemble de widgets qui fournissent les fonctionnalités de bases de l'application. Il s'agit d'une assise à développer pour construire son propre outil de consultation en ligne.

GISToolkit GISToolkit GISToolkit GISToolkit http://gistoolkit.sourceforge.net/ Windows/Linux/Mac OS Java/Html

Ce logiciel est une boîte à outil Java qui permet de construire des applications spatiales. Un tutoriel permet de tester les capacités de l'application.

GIS ViewerGIS ViewerGIS ViewerGIS Viewer http://elib.cs.berkeley.edu/gis/ Windows/Linux/MacOS Java Boîte à outil Java pour la consultation et la gestion de couches

géographiques (raster et vecteur)

GMT GMT GMT GMT http://gmt.soest.hawaii.edu/ Unix/Linux

GMT est une collection d'environ 60 outils Unix pour manipuler des séries de données géographiques. (iGMT est l'interface graphique). Fait pour du raster (aucun support des cartes vectorielles n'existe avec ce genre d'outil)

GRASS GRASS GRASS GRASS http://grass.itc.it/index.html Windows/Linux/MacOS Logiciel SIG vectoriel, raster, topologique qui peut s'interfacer

avec MapServer.

ItascaItascaItascaItasca Windows/Linux HTML "Démo" simple permettant de travailler avec les mapfiles de MapServer.

JUMP JUMP JUMP JUMP http://www.jump-project.org/ Windows / Linux Java

Logiciel SIG installé côté client qui permet la visualisation et la manipulation de données spatiales disponibles sur un serveur WMS distant.

Page 13: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

12

Nom de la solution libreNom de la solution libreNom de la solution libreNom de la solution libre PlatefPlatefPlatefPlateformeormeormeorme Environnement de Environnement de Environnement de Environnement de ProgrammationProgrammationProgrammationProgrammation descriptif/résumédescriptif/résumédescriptif/résumédescriptif/résumé

Map Builder Map Builder Map Builder Map Builder http://mapbuilder.sourceforge.nethttp://mapbuilder.sourceforge.nethttp://mapbuilder.sourceforge.nethttp://mapbuilder.sourceforge.net Windows/Linux Php/Html/Java Interface web utilisant de l'HTML dynamique pour la

consultation de données provenant de serveurs WMS* distants

MapLab MapLab MapLab MapLab http://www.maptools.org/maplab/index.phtml Windows XP/Linux Php/Html

Suite logicielle composée de MapEdit, MapBrowser et GMapFactory pour l'administration et la mise en ligne de données cartographique par le biais d'une interface.

MapLink MapLink MapLink MapLink https://sourceforge.net/projects/maplink/ Windows/Linux/Mac OS Java/Html

Application serveur qui permet d'interroger des serveurs WMS distants et d'effectuer des requêtes, d'insérer et modifiers des objets dans PostreSQL/Postgis.

Quantum GIS Quantum GIS Quantum GIS Quantum GIS http://qgis.sourceforge.net/ Windows/Linux

Logiciel SIG installé côté client pour la visualisation et la manipulation de données spatiales disponibles sur un serveur WMS distant et dans diverses bases de données dont PostreSQL.

Rosa Rosa Rosa Rosa http://www.maptools.org/rosa/ Windows / Linux/Mac OS Java Applet Java qui met à disposition de l'utilisateur, des outils de

navigation et de requête simple côté client

SimpleMapClient SimpleMapClient SimpleMapClient SimpleMapClient http://glmapclient.sourceforge.net/ Windows/Linux Application pour importer et consulter des couches de serveur

WMS distants (simple Browser)

Thuban Thuban Thuban Thuban http://thuban.intevation.org/ Windows/Linux Python Logiciel SIG installé côté client compatible WMS pour la

visualisation et la manipulation de couches géographiques.

UDIG UDIG UDIG UDIG http://udig.refractions.net/ Windows/Linux Java

Plateforme Java qpour la construire d'applications spatiales. Elle permet la consultation et l'édition d'objets géographiques et souscrit aux standards WMS et WFS de l'OGC

webmaps webmaps webmaps webmaps http://webmaps.ouvaton.org/index_fr.html Linux

Cette démo permet de zoomer, dézoomer,et de se déplacer sur une photo aérienne. On peut également numériser, mettre à jour et supprimer des objets et leurs données associées. Quatre couches d'objet sont disponibles : trois couches d'annotation (points, lignes et polygones) et une couche pour

������������������������������� � ��������

Page 14: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

13

2222....1111 Critères d’évalCritères d’évalCritères d’évalCritères d’évaluationuationuationuation

Nous avons choisi ces critères de telle sorte qu’ils séquencent l’analyse de chaque logiciel libre en quatre étapes permettant au final d’être le plus objectif possible. L’étude porte sur les caractéristiques générales, l’installation, l’interface et l’utilité du logiciel libre testé. Chaque étape se succédant, les solutions ne répondant pas aux premiers critères ne passeront pas aux étapes suivantes.

• Les caractéristiques générales présentent : o la version et le statut du logiciel o date la dernière version téléchargeable o le type de logiciel (fonctionnalités promises par le site) o les formats supportés (vectoriels, matriciels) en entrée et en sortie o la licence d’utilisation précisant des conditions particulières

• L’installation est décrite par :

o L’abondance et la langue de la documentation (éliminatoire si il n’y a ni de la documentation en anglais, ni en français) ;

o De quel côté s’effectue l’installation, si l’application nécessite un serveur particulier (critère éliminatoire) ;

o le niveau requis des personnes tenues de la réaliser (il a été fixé selon les difficultés rencontrées pour faire fonctionner l’application) ;

o Les extensions requises (on considère que c’est un critère négatif pour une application de nécessiter beaucoup d’extensions) ;

o le poids sur le disque dur.

• L’interface a été évaluée selon : o sa langue ; o son type (une interface non graphique est un critère éliminatoire) ; o sa convivialité (selon nos goûts en comparaison avec les SIG open

sources et commerciaux) ; o sa facilité d’utilisation ; o la rapidité de chargement de l’application ainsi qu’en moyenne sa

rapidité pour réaliser les différentes opérations.

• L’utilité recense les capacités techniques du logiciel libre: o Consultation ; o Mise à jour des objets géométriques ; o Mise à jour des données attributaires ; o Edition et création d’objet dans une table ; o Connexion à une base de données distantes ; o Edition automatique de mapfiles.

Page 15: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

14

logiciels libreslogiciels libreslogiciels libreslogiciels libres VersionVersionVersionVersion Date de parutionDate de parutionDate de parutionDate de parution typetypetypetype formats supportésformats supportésformats supportésformats supportés entrée/sortieentrée/sortieentrée/sortieentrée/sortie

licence licence licence licence (NC : précisé pour (NC : précisé pour (NC : précisé pour (NC : précisé pour une une une une

utilisation non commercial)utilisation non commercial)utilisation non commercial)utilisation non commercial)

AloveMapAloveMapAloveMapAloveMap 0,96 15/12/2003 viewer vecteur/raster WMS, shape, mif, mid GPL NC

GeoClientGeoClientGeoClientGeoClient / 02/10/2003 viewer/éditeur vecteur/raster WMS, WFS GPL

GIStoolkit EditorGIStoolkit EditorGIStoolkit EditorGIStoolkit Editor 2,8,1 26/07/2003 viewer/éditeur vecteur/raster ?/bmp, jpg, png LGPL

JumpJumpJumpJump 1.1.2 30/03/2003 SIG vecteur* gml, shp, wkt, jump, postgis GPL

MapBenderMapBenderMapBenderMapBender 2.0.1 08/02/2005 viewer vecteur/raster ? GPL

MapBuilderMapBuilderMapBuilderMapBuilder 0,1 04/06/2004 viewer vecteur/raster WMS GPL

MaplinkMaplinkMaplinkMaplink 0.2 17/10/2004 viewer éditeur raster WMS GPL

MapLabMapLabMapLabMapLab 2.2 20/06/2004 Viewer/Editeur vecteur/raster / GPL

MapEditMapEditMapEditMapEdit " " Editeur " mapfile/ GIF, PNG, JGEG, JPG, WBMP GPL

MapBrowserMapBrowserMapBrowserMapBrowser " " Viewer " WMS GPL

GMapFactoryGMapFactoryGMapFactoryGMapFactory " " Configurateur " Projet MapLab GPL

RosaRosaRosaRosa 1,2,0 19/08/2002 applet vecteur/raster gif, jpeg, png GPL

Map

Tool

s

ChameleonChameleonChameleonChameleon 2 11/01/2005 Configurateur / Projet GPL

Quantum GIS Quantum GIS Quantum GIS Quantum GIS (QGIS)(QGIS)(QGIS)(QGIS) 6 20/12/2004 viewer vecteur/raster jpg, tif, img, asc, ddf, dto, dem,

shp, mif, catd.ddf/ mapfile GPL NC

SimpleMapClientSimpleMapClientSimpleMapClientSimpleMapClient 0,631 17/08/2004 viewer vecteur/raster WMS GPL

ThubanThubanThubanThuban 1.0.1 20/12/2004 SIG vecteur/raster shp, postgis, GeoTiff GNU GPL

UdigUdigUdigUdig 0,8 17/01/2005 SIG vecteur/raster WMS, WFS, shapefile, gif, jpeg, tiff, png, postgis LGPL

WebmapsWebmapsWebmapsWebmaps / 13/07/2003 viewer/éditeur raster ? GPL

Tableau Tableau Tableau Tableau 2222 : Présentation générale de la solution (/ = information non connue," = idem à la case au: Présentation générale de la solution (/ = information non connue," = idem à la case au: Présentation générale de la solution (/ = information non connue," = idem à la case au: Présentation générale de la solution (/ = information non connue," = idem à la case au----dessus,? = information non trouvée,* = format raster en cours dessus,? = information non trouvée,* = format raster en cours dessus,? = information non trouvée,* = format raster en cours dessus,? = information non trouvée,* = format raster en cours de validation mais cela devrait évoluer très vite. La biblide validation mais cela devrait évoluer très vite. La biblide validation mais cela devrait évoluer très vite. La biblide validation mais cela devrait évoluer très vite. La bibliothèque OGR2OGR permet de convertir du vectoriel en image)othèque OGR2OGR permet de convertir du vectoriel en image)othèque OGR2OGR permet de convertir du vectoriel en image)othèque OGR2OGR permet de convertir du vectoriel en image)

Caractéristiques générales

Page 16: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

15

documentationdocumentationdocumentationdocumentation

peu/beaucouppeu/beaucouppeu/beaucouppeu/beaucoup LangueLangueLangueLangue côtécôtécôtécôté niveauniveauniveauniveau Extentions requisesExtentions requisesExtentions requisesExtentions requises poids disque durpoids disque durpoids disque durpoids disque dur

logiciel librelogiciel librelogiciel librelogiciel libre

-------- ---- ++++ ++++++++ FrFrFrFr AngAngAngAng AutreAutreAutreAutre serveurserveurserveurserveur clientclientclientclient

Nécéssite un Nécéssite un Nécéssite un Nécéssite un serveur serveur serveur serveur

particulier particulier particulier particulier (tomcat)(tomcat)(tomcat)(tomcat)

novinovinovinovicececece expertexpertexpertexpert PlugPlugPlugPlug----in* Javain* Javain* Javain* Java AutresAutresAutresAutres 100Ko/1Mo

AloveMapAloveMapAloveMapAloveMap----appletappletappletapplet X X X X X 320Ko

AloveMapAloveMapAloveMapAloveMap----servletservletservletservlet X X X X X X 2,88Mo

GeoClientGeoClientGeoClientGeoClient X X X X X 488Ko

GISToolkit EditeurGISToolkit EditeurGISToolkit EditeurGISToolkit Editeur X X X X X X 134Mo

JJJJumpumpumpump X X X X X X 18,87Mo

MapBenderMapBenderMapBenderMapBender X X X X 269Ko

MapBuilderMapBuilderMapBuilderMapBuilder X X X X X 1,47Mo

MaplinkMaplinkMaplinkMaplink X X X X 866Ko

MapLabMapLabMapLabMapLab X X X X X 7,78Mo

MapEditMapEditMapEditMapEdit " " " " " "

MapBrowserMapBrowserMapBrowserMapBrowser " " " " " "

GMapFactoryGMapFactoryGMapFactoryGMapFactory " " " " " "

RosaRosaRosaRosa X X X X X 140Ko

Map

Tool

sM

apTo

ols

Map

Tool

sM

apTo

ols

ChameleonChameleonChameleonChameleon X X X X X 9MB

Quantum GIS (QGIS)Quantum GIS (QGIS)Quantum GIS (QGIS)Quantum GIS (QGIS) X X X X X 11.1Mo

SimpleMSimpleMSimpleMSimpleMapClientapClientapClientapClient X X X X X 1,83Mo

ThubanThubanThubanThuban X X X X X1 19,5Mo

UdigUdigUdigUdig X X X X X X 57,7Mo

WebmapsWebmapsWebmapsWebmaps X X X ? ? ? ? Tableau 3 : Evaluation de l’installation (1 bibliothèque de fonctions Python)

L'installation

Page 17: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

16

convivialitéconvivialitéconvivialitéconvivialité

languelanguelanguelangue peu/trèspeu/trèspeu/trèspeu/très

Facilité d'utilisationFacilité d'utilisationFacilité d'utilisationFacilité d'utilisation chargementchargementchargementchargement

logiciel librelogiciel librelogiciel librelogiciel libre

Fr Ang Autre

Interface Interface Interface Interface graphiquegraphiquegraphiquegraphique

-------- ---- ++++ ++++++++ -------- ---- ++++ ++++++++ lentlentlentlent RapideRapideRapideRapide

AloveMapAloveMapAloveMapAloveMap----appletappletappletapplet X X X X X

GeoClientGeoClientGeoClientGeoClient X X X X X

JumpJumpJumpJump X X X X X

MapBuilderMapBuilderMapBuilderMapBuilder X X X X X

MaplinkMaplinkMaplinkMaplink X X X X X

MapLabMapLabMapLabMapLab X X X X

MapEditMapEditMapEditMapEdit " X " X

MapBrowserMapBrowserMapBrowserMapBrowser " X " X

GMapFactoryGMapFactoryGMapFactoryGMapFactory " X " X

RosaRosaRosaRosa X X X X X

Map

Tool

sM

apTo

ols

Map

Tool

sM

apTo

ols

ChameleonChameleonChameleonChameleon X X X X

Quantum GIS (QGIS)Quantum GIS (QGIS)Quantum GIS (QGIS)Quantum GIS (QGIS) X X X X X X

SimpleMapClientSimpleMapClientSimpleMapClientSimpleMapClient X X X X X

ThubanThubanThubanThuban X X X X X

UdigUdigUdigUdig X X X X X

Tableau Tableau Tableau Tableau 4444 : Evaluation de l’interface : Evaluation de l’interface : Evaluation de l’interface : Evaluation de l’interface

L'interface

Page 18: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

17

Tâches effectuablesTâches effectuablesTâches effectuablesTâches effectuables

logiciel librelogiciel librelogiciel librelogiciel libre

consultationconsultationconsultationconsultation mise à jourmise à jourmise à jourmise à jour éditionéditionéditionédition DévelopperDévelopperDévelopperDévelopper Connexion BDConnexion BDConnexion BDConnexion BD Edite des mapfilesEdite des mapfilesEdite des mapfilesEdite des mapfiles

AloveMapAloveMapAloveMapAloveMap----appleappleappleappletttt X

GeoClientGeoClientGeoClientGeoClient X X

Gistoolkit EditeurGistoolkit EditeurGistoolkit EditeurGistoolkit Editeur X X X

JumpJumpJumpJump X X X X1

MapBuilderMapBuilderMapBuilderMapBuilder X

MaplinkMaplinkMaplinkMaplink X ? ? X2

MapLabMapLabMapLabMapLab X X X

MapEditMapEditMapEditMapEdit X

MapBrowserMapBrowserMapBrowserMapBrowser X

GMapFactoryGMapFactoryGMapFactoryGMapFactory X

RosaRosaRosaRosa X

Map

Tool

sM

apTo

ols

Map

Tool

sM

apTo

ols

ChameleonChameleonChameleonChameleon X

Quantum GIS (QGIS)Quantum GIS (QGIS)Quantum GIS (QGIS)Quantum GIS (QGIS) X X X X3 X

ThubanThubanThubanThuban X X X4

SimpleMapClientSimpleMapClientSimpleMapClientSimpleMapClient X

UdigUdigUdigUdig X X X X5

Tableau Tableau Tableau Tableau 5555 : Evaluation des fonctionnalités.: Evaluation des fonctionnalités.: Evaluation des fonctionnalités.: Evaluation des fonctionnalités. Légende : Légende : Légende : Légende : 1 1 1 1 il faut aller sur le site de Postgis chercher le plugin,il faut aller sur le site de Postgis chercher le plugin,il faut aller sur le site de Postgis chercher le plugin,il faut aller sur le site de Postgis chercher le plugin, ne fonctionne que pour une connexion locale ne fonctionne que pour une connexion locale ne fonctionne que pour une connexion locale ne fonctionne que pour une connexion locale

2 2 2 2 précisé Access ou Mysql,précisé Access ou Mysql,précisé Access ou Mysql,précisé Access ou Mysql, 3,3,3,3, 4 et 5 4 et 5 4 et 5 4 et 5 précisé Mysql ou PostGis ou Oracle)précisé Mysql ou PostGis ou Oracle)précisé Mysql ou PostGis ou Oracle)précisé Mysql ou PostGis ou Oracle)

L'utilité

Page 19: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

18

2222....2222 RésultatsRésultatsRésultatsRésultats

2222....2222....1111 Les solutions rejetéesLes solutions rejetéesLes solutions rejetéesLes solutions rejetées Côté client, Jump ne dispose pas de fonctionnalités très développées sans l’ajout de plugins. Par exemple, pour se connecter à une base de données postgresql, il faut trouver et installer le ‘bon’ pilote dans le répertoire lib/ext/ (librairie, extension). Ainsi, Jump peut ‘taper’ dans la base postreSQL et générer, grâce à la colonne the_geom de postreSQL, une couche d’information cartographique. Il est possible ensuite d’effectuer de l’analyse thématique en aplats de couleurs sur cette couche puis d’envoyer les transformations sur la base de données. Jump dispose également d’outils prometteurs pour effectuer de l’analyse thématique. Malheureusement, ce mécanisme ne fonctionne encore qu’en local et des problèmes subsistent pour la connexion à une base distante. C’est pourquoi, la solution a été abandonnée. En règle générale les solutions côté serveur nécessitent un meilleur niveau en informatique et ont posé plus de problèmes. Avec MapLink, nous ne sommes jamais arrivé à charger une carte. Souvent comme pour Itasca, MapBuilder et SimpleMapClient une version de démonstration est présentée mais n'est pas forcément prévue pour être facilement ré utilisable par la suite avec d’autres jeux de données. En ce qui concerne WebMaps solution qui avait l’air intéressante côté serveur, le compte utilisateur demandé sur le site www.webtools.org n’a jamais été crée ; on peut donc supposer que le site est abandonné. MapBender lui ne propose de la documentation qu’en allemand.

2222....2222....2222 LLLLes solutions retenueses solutions retenueses solutions retenueses solutions retenues Au final côté client, Quantum Gis a été retenu pour la large gamme de formats qu’il accepte en entrée et qu'il peut exporter. Sa documentation est abondante, il est facile d’installation et ne prend pas trop de place sur le disque dur. Son interface, en français, est conviviale et propose de nombreuses fonctionnalités parmi lesquelles la consultation, la mise à jour et l’édition de données liées à une base de donnée distante. En plus, il permet d’éditer des mapfiles. Udig est aussi un client intéressant, plus gros (un peu lourd au niveau du temps de chargement), il offre aussi plus de fonctionnalités (reprises de Jump) comme par exemple faire une requête WMS et WFS. La documentation est abondante, l’interface très esthétique et facilement paramétrable. Par ailleurs, il nécessite de nombreux plugins java, et un RCP Eclipse. Thuban nécessite des bibliothèques en Python mais il propose de nombreuses fonctionnalités, notamment celles de créer des analyses thématiques et d'effectuer des requêtes spatiales. Son interface est conviviale. Côté serveur on ne retiendra que les solutions de MapTools. Chameleon pour construire l’application et MapLab pour manipuler les mapfiles et visualiser les cartes sur le browser. En effet, c’est pour l’instant la seul application côté serveur facile d’installation malléable avec une documentation complète (même en français).

Page 20: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

19

Cartoweb de la société CampToCamp n’était makheureusement pas encore disponible au moment de ce travail.

3333 Mise en œuvre Mise en œuvre Mise en œuvre Mise en œuvre et et et et réalisationréalisationréalisationréalisation Les solutions retenues côté client sont UDIG, QGis et Thuban. La solution implémentée côté serveur est MapLap.

3333....1111 ArchitectureArchitectureArchitectureArchitecture de travail de travail de travail de travail

3333....1111....1111 Environnement matérielEnvironnement matérielEnvironnement matérielEnvironnement matériel Afin d'évaluer au mieux les possibilités offertes par les différentes solutions retenues, nous nous mettons dans la situation d'un utilisateur qui veut, d'une part, consulter des données géographiques en ligne et, d'autre part, les récupérer pour les mettre à jour. Pour cela, Laurent JÉGOU, ingénieur cartographe à l'Université de Toulouse Le Mirail, a disposé un serveur Linux tournant avec le système d'exploitation Mandrake 10, sur lequel sont compilés MapServer 4.4, phpMapScript, le SGBDR PostgreSQL 7.5 étendu de PostGIS avec son interface graphique phpPgAdmin. Cette configuration permet de simuler une situation de réseau tout en facilitant l'accès aux répertoires de configuration et d'exécutables du serveur. En outre, cela permet de résoudre rapidement certaines erreurs grâce à la console (ou terminal) de la machine. Le serveur est accessible à distance via son IP (et le ftp via Leechftp). Les répertoires en libre accès depuis Internet sont situés dans htdocs. C'est là que phpPgAdmin et MapLab, sont stockés. A distance, il suffit de taper l'IP de la machine et le nom du répertoire désiré dans l'URL, par exemple : "����������������� �����" pour accéder à l'interface graphique de PostgreSQL.

L'utilisateur dispose des permissions de lecture et d'écriture dans les répertoires htdocs/, c'est là que sont stockées les solutions serveur. Les solutions côté client sont placées sur la machine locale dans un environnement Windows XP pro.

Arborescence du serveur Linux

Page 21: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

20

3333....1111....2222 CCCConstruction de la base de données onstruction de la base de données onstruction de la base de données onstruction de la base de données sursursursur PostgreSQL/ PostgreSQL/ PostgreSQL/ PostgreSQL/PostGISPostGISPostGISPostGIS Les données attributaires et géométriques sont stockées dans la base de données.

3.1.2.1 Configuration de PostgreSQL Par défaut, la configuration de PostgreSQL permet uniquement de se connecter

à partir de l'hôte tcp/ip local (localhost). Il est donc nécessaire d'ajouter une entrée pour un hôte supplémentaire à distance en modifiant le fichier ��������� situé dans ��������������������

On ajoute dans pg_hba.conf la ligne "�������������������������� ��" afin de permettre aux ordinateurs du réseau de se connecter à toutes les bases (all) du serveur à partir de n’importe quelle machine (masque d’IP autorisées à zéro).

PostgreSQL doit également être configuré pour accepter le protocole de connexion tcp/ip sur ses ports. Pour cela, aller dans le fichier postgres.conf (/usr/local/pgsql/data/postgres.conf), activer l'option "#���!���"#�� $� ����#" en supprimant le "%" et changer "����#" par "�� #".

Relancer postmaster1 afin qu'il prenne en compte les modifications effectuées.

Dans la console du serveur, en tant qu'utilisateur ROOT, taper successivement "�#��������������������#�������" pour arrêter postmaster, puis "�#��������������������#���������" pour le redémarrer. Pour des raisons de sécurité PostgreSQL ne peut être utilisé en tant qu'administrateur. Il faut donc préalablement à la création d'une base de données créer un compte utilisateur limité, que nous nommons pour nos explications suivantes "sigma" avec "sigma" comme mot de passe. L'extension PostGIS de PostgreSQL ne peut être chargée que sur une base de données existante.

3.1.2.2 Création d'une base de données La création d'une base de données peut se faire indifféremment par ligne de

commande dans le terminal du serveur Linux ou par l'interface graphique phpPgAdmin. Par la console en ligne de commande :

• Se connecter en tant qu'utilisateur sigma (� �������+ mot de passe) • Création de la base : ��#��#���&�����#�������#��#�����'#( • Mise en place du langage procédural plpgsql : ��#��#�����������&�����#�������#��#�����'#(�

Par l'interface de phpPgAdmin : �Lancer le navigateur Internet de votre choix, dans l'URL taper le chemin vers phpPgAdmin. Ici : 1 Postmaster est l’exécutable du serveur de données postres, il gère également les communications entre les différents processus du serveur.

Page 22: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

21

Se connecter en tant qu'utilisateur sigma (super utilisateur PostreSQL) :

Cliquer sur PostgreSQL :

Puis sur "Créer une base de donnéesCréer une base de donnéesCréer une base de donnéesCréer une base de données" Remplir les champs et valider

La base de données est créée mais elle est vide. Elle va être remplie par des données traitées par le groupe du DESS SIGMA travaillant sur l'étude du territoire concerné par l'ouverture en 1999 de l'autoroute A66. Les données mises à notre disposition sont : des fichiers EXCEL©, des couches géographiques au format SHP d'ESRI©, une base de données constituée sous ACCESS© recensant les informations liées aux communes situées à proximité de l'A66, une image satellite au format TIFF et un scan© 25 de l'IGN. Avant d’intégrer des données dans les tables de la base, il faut charger la bibliothèque de fonction de PostGIS. En local grâce à la console (en utilisateur sigma) taper la commande (les crochets ne sont pas à mettre) ����)��&�������#��#�����'#(�)��*������#������#��������������*�Puis charger les systèmes de projections en écrivant la commande : ����)��&�������#��#�����'#(�)��*������#������#������������#����+�����*� En distant, si l'accès à la console du serveur est impossible, il est plus évident d'utiliser les fonctionnalités de phpPgAdmin. Cliquer sur le nom de la base de données précédemment créée, sélectionner l'onglet "SQL". Indiquer le chemin pour trouver postgis.sql et spatial_ref_sys.sql dans le champ :

Page 23: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

22

Valider par "GO". L'intégration des fichiers de forme2 se fait grâce à la commande shp2pgsql. �En local sur le serveur, la commande s'écrit comme suit : ,������)�&���#�-�,.(�)/�&�#����� �����#��,0�(�&�����#��������#(�&�����#�������#(�1�����&�����#�������#] (pour écrire | faire AltGr + la touche [– 6 :]) �A distance, si le terminal du serveur n'est pas accessible, il faut d'abord créer un fichier SQL en tapant la commande : �������)�&���#�-�,.(�)/�&�#����� �����#��,0�(�&�����#��������#(�&�����#�������#(�2�&����� �����#��,34��#������#(, puis importer le script SQL par le biais de l'interface phpPgAdmin. -s permet d'entrer la projection idéale. Le code EPSG est un code normalisé permettant de se référer à une projection particulière. Pour de plus amples informations voir le site http://www.epsg.org/, et pour retrouver facilement un code consulter http://www.inovagis.org/giserver/tutorial/epsg.htm. Voici un exemple concret de la commande shp2pgsql : Shp2pgsql –s27582 –D "c:/Documents and Settings/sigma/Bureau/Zone.shp " zone_etude projet | psql projet Le transfert des données structurées sous ACCESS vers PostgreSQL a été largement facilité par un petit programme conçu par Sevin ROLAND : ODBC CONVERTER3 . Un plugin est nécessaire pour réaliser la communication ODBC avec Postgresql. Il se télécharge sur le site http://www.posgreql.org/ftp/odbc/versions/msi/ et s'installe automatiquement en faisant un clic droit sur le setup pgsqlodbc.msi. Son interface est divisée en deux sections. Dans la partie haute on configure la source de données d'origine, dans celle du bas, se fait la configuration de la table de destination. Un mode d'emploi est disponible à cette adresse : http://membres.lycos.fr/eazygem/ODBC_HTML/Francais/ODBC_Converter.HTML.

2 En utilisant la commande shp2pgsql pour traduire les .shp en .sql, il est opportun de convertir les couches provenant de MapInfo ou Géoconcept en format shape. Cependant, il est possible de rajouter des bibliothèques de fonctions à PostGIS pour traduire directement un .Tab, ou un .mif /.mid en .sql, ou d’utiliser l’utilitaire ogr2ogr. 3 Téléchargeable sur : http://membres.lycos.fr/eazygem/ODBC_HTML/Francais/ODBC_Converter.HTML

Page 24: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

23

3333....2222 Démonstration des potentialités des Démonstration des potentialités des Démonstration des potentialités des Démonstration des potentialités des solutions retenuessolutions retenuessolutions retenuessolutions retenues

3333....2222....1111 Les solutions Les solutions Les solutions Les solutions côté clientcôté clientcôté clientcôté client Les logiciels clients Open Source UDIG, QGIS ou Thuban ont des potentialités SIG sans pour autant atteindre la puissance des solutions Open Source type GRASS ou propriétaires comme ArcView, MapInfo ou Géoconcept. Cependant, ils possèdent des fonctions qui font d'eux des outils avancés pour la consultation et l'édition de données géographiques distantes. Une démonstration devrait permettre de présenter de manière explicite les avantages de ces logiciels dont l'avenir est prometteur.

3.2.1.1 Quantum GIS (QGIS) : QGIS version 0,6 est disponible sur le site de la communauté de site Web

QGIS4. Un document pdf5 en ligne propose un mode d'emploi pour le compiler sur Linux et Mac Os. Dans un environnement Windows, son installation ne pose aucun problème. Il suffit de télécharger son exécutable sur http://qgis.sourceforge.net/, puis de le lancer. 4 http://qgis.org/ 5 http://qgis.org/docs/install.pdf

Interface de ODBC Converter

Page 25: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

24

Doté d'une interface conviviale, et en français, QGIS permet de réaliser nombre d'opérations intéressantes. Il peut indifféremment importer des couches vecteurs ou rasters. Il se connecte à PostGIS pour récupérer les géométries et valeurs attributaires des tables choisies. Il possède des outils d'édition des couches chargées.

Il ne peut pas créer de couches vides nouvelles. Tout comme dans ArcGis, l'édition passe par l'initialisation d'une session en faisant un clic droit sur la couche à éditer. Selon que la couche est linéaire, ponctuelle ou surfacique, on peut créer des objets de type point, ligne ou polygone.

Page 26: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

25

Il permet d'exporter un shapefile directement vers PostGIS sans passer par la commande shp2pgsql décrite précédemment. Il est possible d'afficher les données attributaires de chaque couche chargée et surtout, grand avantage, d'en modifier les valeurs pour mettre à jour une base de données distante. On peut enregistrer le projet en cours sous forme de mapfile dans l'optique de mettre à jour un serveur cartographique ou en tant que simple image dont les principaux formats sont BMP, PNG, JPEG. Cependant, le fichier .map n'est pas bien généré et nécessite une intervention manuelle notamment pour spécifier la connexion. Les différentes cartes peuvent être imprimées. Il propose des outils de création d'analyses thématiques sur des données discrètes uniquement. Mais celles-ci ne sont pas prises en compte lorsque QGIS génère le .map.

Page 27: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

26

Pour le moment, QGIS n'offre pas la possibilité d'effectuer des requêtes attributaires ou spatiales, même en langage SQL. Seules des sélections à l'aide d'objets peuvent être réalisées. Ainsi, en local, on peut récupérer des données distantes stockées dans une base de données, rajouter des couches diverses, les modifier et les exporter vers un PostGIS distant. En plus de créer des analyses thématiques. QGIS ne remplace en aucun cas les logiciels de SIG évolués. En revanche, il s'interface à merveille avec eux et notamment avec GRASS. QGIS est un programme en version bêta, cela implique la présence de petits bogues comme par exemple l'impossibilité de rouvrir un projet précédemment enregistré ailleurs que dans son répertoire, la non prise en compte d'une classification thématique et des paramètres de connexion à Posgis lors de l'export du mapfile. Deplus, on note que Qgis n’est pas encore au point pour la gestion des projections6.

3.2.1.2 UDIG

UDIG7, acronyme de UUUUser Friendly DDDDesktop IIIInternet GISGISGISGIS, est construit autour de la plateforme Java Eclipse. Il est une création de Refractions Research Incorporation, la société qui produit PostGIS. La version actuellement disponible est encore une bêta 0.8RC1, elle se télécharge à l'adresse http://docs.codehaus.org/display/UDIG/2005/02/11/UDIG+0.8.RC1. Son installation, dans un environnement Windows, est facilitée car il a été compilé avec tous les programmes java nécessaires à son fonctionnement. L'inconvénient étant que l'exécutable est assez lourd surtout pour une petite connexion Internet, il pèse plus de 50 Mo. De plus, si l'on a déjà installé certaines applications Java comme JRE, cela créé une redondance de programmes et un manque d'espace disque non négligeable. UDIG peut, par défaut, importer des données distantes gérées par PostGIS, des cartes grâce à des requêtes WMS et WFS et des shapefiles. D'autres connexions sont possibles mais il faut installer des extensions. Pour intégrer une carte issue d'une requête WMS, faire Fichier\Import, choisir Web MapServer. Saisir http://IP_serveur/nom_répertoire_de_mapserv/?nom_de_la_requête���

�,� ���5����#��*,#���*���#���#������ Sa structure permet d'établir un projet structuré comme un mapfile avec des cartes et des couches.

6 mais la communauté y travaille, voir : http://wiki.qgis.org/qgiswiki/Projection_support_in_QGIS#head-80a9abb99a10e20bcf5ba7f3641bdf6f31ffcbe3 � ��������� ������� ����������������������������������

Page 28: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

27

Son intérêt majeur est de réaliser des modifications géométriques des couches chargées en mettant directement à jour la table de donnée distante. Il ne permet pas de faire des analyses thématiques ni de réaliser des requêtes spatiales. Il semble être en revanche un excellent programme de récupération et de visualisation des données distantes. Il peut constituer une brique dédiée à la mise à jour d'objets géographiques parmi un ensemble de solution cliente. Son développement est à suivre.

3.2.1.3 Thuban Thuban est un programme interactif permettant de visionner des données

géographiques. Construit en Python et en C++, un effort a été fait afin de le compiler pour Windows. Il fonctionne également sous Linux/Unix et Mac Os. Dans les deux cas, la version est téléchargeable à l'adresse suivante : http://thuban.intevation.org/download.html#bin_w2000 . Après avoir récupéré les bibliothèques de fonctions en Python, il faut laisser faire l'installation proposée par défaut, puis Redémarrer l'ordinateur. Bibliothèques requises :

- Python-2.3.4.exe (langage interprété Python) - wxPythonWIN32-2.4.2.4-Py23.exe - pysqlite-0.4.3.win32-py2.3.exe

�Installation de Thuban: Par défaut, Thuban est compilé avec le minimum de bibliothèques de fonctions. Ainsi, il peut charger du shape mais pas du raster. Pour ce faire, il faut télécharger les extensions nécessaires et les installer dans des les répertoires appropriés. Une bonne documentation en anglais sur l'installation et les possiblités de Thuban peut être récupérée sur http://thuban.intevation.org/download.html#doc. GDAL* est la bibliothèque de fonction gérant le raster, extraire gdal-win2k.zip dans le répertoire "lib" de Thuban. Afin que Thuban reconnaisse gdal, il est nécessaire de déclarer des variables d'environnement. Faire un clic droit sur le Poste de travail/Propriétés. Dans la fenêtre Propriétés système, choisir l'onglet "Avancé" et cliquer sur "Variables d'environnement"

Dans "Variables système", modifier Path en lui indiquant le chemin de gdal. Attention, chaque variable d'environnement doit être séparée par un point virgule. Puis déclarer une nouvelle variable PYTHONPATH correspondant au répertoire "pymod" dans gdal. (Thuban/lib/gdal/pymod)

Page 29: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

28

Redémarrez l'ordinateur pour que les variables d'environnement soient prises en compte par le système. De même, il importe de charger l'extension de connexion à des bases de données. Extraire 6��!�+������7� dans 8 �������������+���. Pour fonctionner, cette bibliothèque de fonctions à besoin de MX toolkit. Cette dernière est téléchargeable sur http://www.egenix.com/files/python/eGenix-mx-Extensions.htm. Ensuite, il ne reste plus qu'à procéder à l'installation deThuban en double cliquant sur son setup et se laisser guider par l'assistant d'installation. �Fonctionnalités de Thuban : Il permet de se connecter à des bases de données distantes. Néanmoins, il ne conserve pas les paramètres de connexion et il faut donc à chaque fois recréer une connexion. Il peut importer des shapefiles et des rasters.Il est capable d'effectuer des requêtes attributaires. Il permet d'importer des systèmes de projection et de modifier celles des couches chargées. On peut lui faire générer des analyses thématiques en plages de couleurs avec la visualisation de la légende associée. Il réalise des jointures spatiales.

Page 30: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

29

Il exporte les cartes et couches sous forme d'image wmf, format peu intéressant dans notre cas. En revanche, si on enregistre une session Thuban, la carte en cours prend l'extension .thuban qui est en fait un fichier XML.

3333....2222....2222 MapLabMapLabMapLabMapLab : une solution serveur: une solution serveur: une solution serveur: une solution serveur Cet outil développé par DM Solution correspond à une suite logicielle, là encore OpenSource, destinée à faciliter le déploiement de solutions de webmapping en permettant la visualisation de l’ensemble des données, la représentation des couches cartographiques et la gestion des serveurs. Sa mise en œuvre nécessite encore des compétences approfondies en informatique notamment lors de la configuration des fichiers de l'application (création d'alias dans le serveur http, modifications de chemins de répertoires,…) et pour comprendre les nombreux messages d'erreurs en php générés à quasiment chaque action. Néanmoins, l'effort produit par l'équipe de DM Solution8 pour réaliser un programme clé en main est à saluer. Installation : • Pour Windows : à l'adresse

http://www.maptools.org/ms4w/index.phtml?page=downloads.html, télécharger le fichier maplab_ms4w-2.2.zip (7.9 MB ). Pour Linux, télécharger maplab-2.2.tar.gz (6.8 mb).

• Il suffit de l’extraire à la racine du disque pour qu"il s'installe automatiquement dans les bons répertoires de Mapserver (ms4w). En chargeant dans l'URL du navigateur Internet l'adresse du serveur (en local ou en distant), on arrive sur la page d'accueil de Mapserver sur laquelle on peut vérifier que Maplab est bien pris en compte.

• Pour Linux : le décompresser dans le répertoire htdocs d’Apache, suivre les

instructions dans le fichier INSTALL-LINUX.

• Redémarrer le serveur http.

Cette configuration prévaut pour une installation sous Windows. Généralement les serveurs tournent sous Linux, il est alors nécessaire de créer des alias et de changer le nom des chemins de répertoires.

8 http://www.maptools.org/

Page 31: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

30

Outils de configuration :

Page d'accueil : MapEdit : MapBrowser : GMapFactory:

Les outils de configuration regroupent des informations sur l'installation et des possibilités de modification des chemins d'accès aux différents services de MapLab.

3.2.2.1 Création d'un mapfile avec MapEdit MapEdit permet de créer dynamiquement un Mapfile ou de le mettre à jour s’il

provient de QGIS par exemple. Pour CHAQUE action effectuée penser à toujours appliquer les changements en cliquant sur . Sauvegarder régulièrement la carte.

Le fichier point .map se construit lorsque l’utilisateur ajoute des couches. Une certaine rigueur est donc nécessaire si l’on veut obtenir une carte dans le browser. Il faut tout d’abord indiquer les spécifications générales de la carte :

• Son nom, • son statut, • son extension spatiale (ce paramètre primordial est souvent celui qui pose le

plus de problème car l’information doit être recherchée au préalable. Deux méthodes existent : utiliser un logiciel SIG ou GdalInfo qui est un programme consacré à la découverte des métadonnées contenues dans un fichier sig),

Page d’accueil de MapLab

Barre de menu de MapEdit

Page 32: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

31

• le chemin dans lequel se trouvent les données (si ces dernières proviennent d'une base de données distante, il est inutile d'indiquer le ShapePath) nécessaires à la carte.

• Le type d'image en sortie : PNG, JPEG, BMP, GIF • L'unité de la carte (mètre, Km, pied, miles…)

Puis, il faut ajouter le système de projection de la carte, des couches (layers), éventuellement une légende, etc. (Définir une projection en cliquant dans l'onglet "Create New Object…" sur Projection Object. Dans la partie droite de l'écran, indiquer l'expression "init=EPSG:[code EPSG]" �Ajouter une couche raster, par exemple une image satellite, en cliquant sur "Layer Object". Indiquer successivement:

• un nom à la couche (Name), • un statut (ON ou Default), • le nom de l'image (il semble assez important de regrouper au même endroit un

.map et son image), • le type d'image (RASTER) • l'unité de l'image (METERS) • la taille de l'unité (PIXELS)

Faire attention au système de projection dans lequel le raster a été enregistré. S'il diffère de celui de la carte (MAP), il faut le repréciser.

�Ajouter une couche vectorielle stockée sous PostgreSQL/PostGIS en indiquant : • un nom à la couche, son statut, • la source de données (Data) : �#��#��������&���� �#� ��� ����#(� ��� ���� ����� ��� #��#��#��+���� ��������� �����,9:/$��;<��

• le type d’objet (ici POLYGON) • le type de connexion : POSTGIS • les paramètres de connexion à la base : �#�$������ ���6���$������ �����#$��=#�����$��������

Rajouter un objet classe (Class Object) à la couche et un objet style (Style Object) à la classe en lui indiquant une couleur de contour dans : A ce stade le mapfile devrait fonctionner, son script est visible en cliquant sur Son arborescence est la suivante : Pour le visualiser, il suffit d'aller dans Mapbrowser en cliquant sur .

Page 33: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

32

Si la carte ne s'affiche pas vérifier que les expressions rentrées notamment dans "Data" et "Connection Type" sont justes et un peu de débrouillardise devrait suffire. La règle étant : "cela ne fonctionne presque jamais du premier coup :)".

3.2.2.2 Requête WMS avec MapBrowserRequête WMS avec MapBrowserRequête WMS avec MapBrowserRequête WMS avec MapBrowser MapBrowser est une interface graphique qui permet de gérer les différentes couches et la projection. Les modifications s’appliquent directement dans le mapfile sur lequel on travail. Les sources peuvent êtres locales (il suffit alors de récupérer le mapfile dans le répertoire htdocs de MapLab) ou distantes, récupérées alors par le biais d’une requête WMS sur un serveur cartographique. Pour configurer la requête WMS, il suffit de cliquer sur l’onglet , puis de créer une nouvelle connexion avec un nom et une URL dont la synthaxe est la suivante : http://[IP ou adresse du serveur]/cgi-bin/mapserv ?map=[chemin depuis la racine jusqu’au mapfile avec son extention]& REQUEST=GetCapabilities Soit dans notre exemple : http://171.31.197.216/cgi-bin/mapserv?map=/usr/local/apache/htdocs/maplab-2.2/maplab/tutorial/A66.map&REQUEST=GetCapabilities

Page 34: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

33

On récupère les différentes couches en bas à gauche, il suffit alors de les sélectionner pour les afficher sur le plan de travail.

3.2.2.3 Visualisation de données géographiques avec GMapFactory Ce module permet de créer rapidement une interface Html dans laquelle des

espaces sont réservés à l'affichage de cartes et de données attributaires, à l'emplacement des outils de sélection et de déplacement. Bref de réaliser en quelques clics une application de visualisation dynamique (php) sur Internet. Cette visualisation se fait grâce à la brique logicielle ROSA. Il s’agit en fait d’un applet Java qui met à disposition de l’utilisateur des outils de navigation et de requête simple côté client.

Page 35: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

34

3333....3333 Discussion sur les possibiliDiscussion sur les possibiliDiscussion sur les possibiliDiscussion sur les possibilités des solutions mises en placetés des solutions mises en placetés des solutions mises en placetés des solutions mises en place Les solutions côté client sont intéressantes pour la connexion à distance à des bases de données spatiales. Elles permettent de récupérer des données afin de les mettre à jour et possèdent des outils SIG prometteurs. Cependant, dans l’état actuel, de nombreux bogues restent encore à résoudre. Par les fonctionnalités qu'elles présentent, elles restent des outils intéressants et peuvent dans l'avenir devenir des SIG de la trempe de GRASS en libre ou Arcmap en propriétaire. Les solutions 'serveur' développées autour de MapServer sont des outils de gestion qui permettent de construire dynamiquement une interface php sans avoir à se plonger dans les pages de scripts. Pour l'instant, seul Maplab grâce à ces trois outils, de gestion, de prévisualisation et d'édition d'interface, propose une solution complète côté serveur. Malheureusement, de nombreux bogues restent, là encore, à résoudre (gestion des classes, gestion des couches rasters par GmapFactory, et actualisation des paramèttres dans Gmap). De plus, sa mise en œuvre nécessite tout de même quelques connaissances en configuration système et en langage php. Rappelons que d'autres solutions existent, elles sont prometteuses mais il s'agit, pour la plupart, de solutions bêta instables qui manquent de documentation (MapLink, MusMap). Les solutions client/serveur peuvent donc être totalement complémentaires, l'une permettant d'effectuer des traitements propres à la problématique des SIG (Thématiques, croisement de couches, requête), l'autre récupérant la Mapfile en l'affichant dans une interface html/php accessible grâce à une connexion Internet. Enfin, n'oublions pas qu'il existe une solution, non pas plus simple mais équivalente en terme de temps d'investissement, pour une personne souhaitant réaliser une plateforme de diffusion des données géographiques sur le Web. Celle de créer soit même sont interface html reliée à mapserver par des scripts php. L'avantage étant de diminuer le poids de l'application côté serveur. Itaca est une démonstration basée sur ce principe. Elle fonctionne sur un système de fichiers "templates"*.

Page 36: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

35

ConclusionConclusionConclusionConclusion La cartographie dynamique sur le Web est en pleine expansion. Phénomène de mode ou de société, cette nouvelle discipline, à la croisée de la géographie et de l’informatique, est un champ d’investigation très prisé sur le Web. A ce stade encore primaire, les solutions « libres » proposées ne sont que des prototypes et ne répondent pas vraiment à la problématique SIG. Les fonctions d’analyses spatiales, de requêtes et de croisements de données sont encore rudimentaires. En effet, si quelques logiciels permettent de faire de l’analyse en aplats de couleurs, la discrétisation se fait souvent manuellement. En outre, aucune solution ne permet encore de faire une analyse en symboles proportionnels. Concernant les requêtes spatiales, elles se font dans la majorité des cas en langage SQL. Notons cependant que QGis dispose d’un générateur de requêtes proche de celui d’Arcmap. En se penchant sur les fonctionnalités de mise en ligne, seul Qgis en client et Maplab, grâce à son outil Mapedit, permettent de construire dynamiquement une Mapfile. Dans ce domaine de nombreux progrès restent à faire car ce fichier est essentiel dans le processus d’affichage de cartes sur Mapserver. Ce (premier) bilan sur l’avancement des travaux doit donner aux utilisateurs une vision synthétique des outils disponibles en téléchargement et de leurs potentialités à un moment donné. Il est probable que d’ici peu, la majorité des informations dispensées ici soient obsolètes car dans le monde du GIS Opensource les versions logicielles se suivent mais ne se ressemblent pas… Déjà, au cours du projet, Refractions Research a mis en ligne la dernière version de son logiciel client : UDIG 0.9. Il propose de nouvelles fonctionnalités qui le place parmi les meilleures solutions clientes aujourd’hui disponibles sur la toile. Côté Serveur, Musmap vient de naître dans un bureau d’étude Parisien. Pour l’instant, l’outil ne fonctionne que pour les formats propriétaires du BE mais ses concepteurs promettent de nombreuses fonctionnalités telles que la connexion à des serveurs WMS et WFS, la connexion à des bases PostGIS, des outils de construction d’interface… Affaire à suivre. Rappelons que le projet Mapserver est né il y a deux ans. Les évolutions ont été rapides et les progrès conséquents. C’est pourquoi, il est raisonnable de penser que des solutions complètes seront diffusées rapidement

Page 37: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

36

GlossaireGlossaireGlossaireGlossaire AppletAppletAppletApplet : Petit programme, souvent accompagné de données bien plus volumineuses que lui, et conçu pour être téléchargé via un réseau à chaque fois qu’on veut l’utiliser, en particulier, par le navigateur, qui se chargera de l’exécuter. APIAPIAPIAPI : Interface de programmation qui propose un ensemble de fonctionnalités. BibliothèquesBibliothèquesBibliothèquesBibliothèques : Ensemble de fonction et/ou de procédures, ayant de préférence un point commun. Exemples :

- GDALGDALGDALGDAL : Lecture/écriture et transformation de formats rasters ; - OGROGROGROGR : Idem pour format vectoriels, convertion des formats de fichiers les plus courant ; - PROJ4PROJ4PROJ4PROJ4 : dédié au système de projection.

CGI (CGI (CGI (CGI (Command Gateway Interface)))) :::: fichier binaire exécutable sur le serveur et par le serveur http. FTP (FTP (FTP (FTP (file transfer protocole)))) : : : : Standard Internet pour transférer des fichiers d’un ordinateur à un autre. GMLGMLGMLGML ((((Geography Markup Language)))) : Norme de langage qui se base sur un modèle abstrait produit par l'Open GIS Consortium et en offre une représentation sous la forme de schémas XML. Le but est d'avoir un format simple pour le transport et l'emmagasinage de l'information à référence spatiale en séparant la description du contenu de toute considération quant à sa présentation. GPLGPLGPLGPL ((((General Public Licence)))) : Licence qui définit les principes d’utilisation des ressources librement accessible (OpenSource). D’autres licences existent : MIPMIPMIPMIP, LGPLLGPLLGPLLGPL, Open Map LicenseOpen Map LicenseOpen Map LicenseOpen Map License… Java Beans Java Beans Java Beans Java Beans (haricots) : bibliothèque structurer ayant une syntaxe et une organisation particulière permettant d’ajouter facilement de nouvelles fonctions. JCS/JTSJCS/JTSJCS/JTSJCS/JTS : brique logiciel qui ajoute des fonctions de topologie. JDKJDKJDKJDK ((((Java Development Kit)))) : JRKJRKJRKJRK ((((Java RunTime Kit)))) : EPSGEPSGEPSGEPSG ((((European Petroleum Survey Group)))) : OGCOGCOGCOGC ((((Open Geospatial Consortium)))) : organisme international de normalisation de l’information géographique

Page 38: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

37

PostGISPostGISPostGISPostGIS : cartouche spatiale du SGBD PostGreSQL. Stocke des entités spatiales et inclut des fonctions d’analyse (zone tampon, intersections, union) grâce à l’intégration du moteur GOS 2.0. PugPugPugPug----inininin : extension à une application qui vient se loger dans l’application elle-même. Une fois installé, on peut utiliser le plug-in de manière tout à fait transparente. QTQTQTQT : API (même style que TCL/TKTCL/TKTCL/TKTCL/TK ). ServiceServiceServiceService : Ensemble d’opérations accessibles par l’intermédiaire d’une ou de plusieurs interface : architecture de services WEB www.geomaticien.org. TCLTCLTCLTCL ((((Tool Command Language)))) : Langage de programmation qui permet de développer rapidement des applications graphiques pour windows. TCL/TKTCL/TKTCL/TKTCL/TK : API basés sur des widgetswidgetswidgetswidgets qui permet de créer des interfaces rapidement. TCP/IPTCP/IPTCP/IPTCP/IP ((((Transmission Control Protocol / Internet Protocol) : Les deux protocoles de communication qui forment les fondements de l'Internet. TemplateTemplateTemplateTemplate : Littéralement « patron », « gabarit ». Chaîne de caractères servant à formater une entrée ou une sortie. URLURLURLURL ((((Uniform Resource Locator)))) : Sur le web, c'est la méthode d'accès à un document distant. WebStartWebStartWebStartWebStart : : : : diffusion temporaire (fermeture de l’explorateur) d’application Java exécutées à la demande (cliquer sur lien) par téléchargement. WidgetWidgetWidgetWidget :::: boîte à outils en programmation objet qui propose des éléments d’interface graphique (liste déroulante, boutons, menu etc.). WMSWMSWMSWMS ((((Web Map Serveur)))) : protocole standard développé en 2002 par OGC pour géoréferencer et transférer des données sur le Web en répondant à des requêtes clients de types Get Map (recherche de la couche graphique) et Get Capability (recherche des métadonnées associées). WorkbenchWorkbenchWorkbenchWorkbench : Atelier qui utilise des boîtes à outils. WrapperWrapperWrapperWrapper : Permet la conversion de bibliothèque d’un langage C en php XMLXMLXMLXML : eXtensible Markup Language. Norme d'échange de documents informatisés issue de SGML, sous l'égide du W3C. XML intègre l'idée de métadonnée, et permet de définir les balises que l'on veut en fonction de ses besoins.

Page 39: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

38

Ressources InternetRessources InternetRessources InternetRessources Internet

• MapserverMapserverMapserverMapserver Site officiel de MapServer : http://mapserver.gis.umn.edu/ Répertoire de téléchargement des versions de Mapserver et programmes associés : http://dl.maptools.org/dl/ Nouvelles documentation de Map Server : http://users.frii.com/sgillies/projects/mapscript/

• PostgreSQL/PostgreSQL/PostgreSQL/PostgreSQL/PostGPostGPostGPostGISISISIS Site officiel de PostgreSQL : http://www.postgresql.org/ Quelques outils pour postgres et PostGIS, regrouper et mis en ligne par Jean David Techer : http://www.01map.com/download/

• OGCOGCOGCOGC (Open Géospatial Consortium) (Open Géospatial Consortium) (Open Géospatial Consortium) (Open Géospatial Consortium) et OpenSources et OpenSources et OpenSources et OpenSources Site officiel de l’OGC : http://www.opengeospatial.org/ Site officiel DM Solutions Group http://www.dmsolutions.ca/ Guide pour distribuer des données via le protocole WMS : http://oceanesip.jpl.nasa.gov/esipde/guide.html Projet de promotion des solutions OpenSources pour l’information géographique : http://www.freegis.org Banque de données géospatiales canadiennes en accès libre : http://geogratis.cgdi.gc.ca/ Site SIGLE (Systèmes d’Information Géographique LibrE), espace de diffusion, de transfert et d’échange dans les domaines des SIG libres : http://www.projet-sigle.org/index.php3

• Applications autour de MapserverApplications autour de MapserverApplications autour de MapserverApplications autour de Mapserver Pour télécharger PHP, Apache : http://www.phpindex.com/telechargement/index.php3 (

Page 40: sigfrance.free.frsigfrance.free.fr/ressources/filebrowser/downloads/MapServer/AutourDeMapserver.pdf2 Remerciements Nous tenons à remercier Laurent JÉGOU pour sa disponibilité et

39

GeoTools 2, JShape et Deegree, trois outils OpenSources : http://geotools.org/ http://www.jshape.com/frame.jsp http://deegree.sourceforge.net/ Forum jump : http://www.projet-sigle.org/article.php3?id_article=6

• DiversDiversDiversDivers

Tout Savoir : lexique des termes informatiques : http://www.tout-savoir.net/lexique.php Exemple d’application (Centre Suisse de la Cartographie de la Faune) : http://lepus.unine.ch/carto/