MapFish c'est quoi exactement ?
Par René-luc D'Hont, vendredi 23 janvier 2009 à 09:55 :: Système d'Information Géographique (SIG) :: #222 :: rss
Sur le blog de MapFish, Cédric Moullet, CTO chez CampToCamp, essaye de répondre à cette question, question apparemment récurrente. Je me permet de traduire son billet :
L'objectif de MapFish est de permettre la création d'applications de Web Mapping. D'accord mais MapFish c'est quoi exactement ?
MapFish est un framework logiciel. D'après wikipedia un framework peut être définit comme une structure conceptuelle utilisée pour résoudre et traiter des problèmes complexes. Les problèmes complexes dans le cas de MapFish sont les applications de Web Mapping. Un framework logiciel se définit comme une architecture ré-utilisable de conception logiciel. Un framework logiciel peut inclure des programmes de base, des bibliothèques de code, un langage de script, ou d'autres logiciels pour faciliter le développement et l'assemblage des différents composants d'un projet logiciel. Diverses parties du framework peuvent être exposé au travers d'API.
MapFish intègre un certain nombre de bibliothèques : ExtJS, OpenLayers, GeoExt, Tilecache, SQLAlchemy, Shapely, JTS. MapFish est le liant entre ces différentes bibliothèques. L'utilisation de ces bibliothèques reconnues offrent une grande souplesse de réalisation et permet de créer des applications très personnalisées.
Pour ceux qui ne connaissent pas les différentes bibliothèques présentent dans MapFish voici une présentation :
- ExtJS est une bibliothèque JavaScript permettant de construire des applications Web interactives. C'est un élément non-spécifique au Web Mapping.
- Openlayers est une bibliothèque JavaScript permettant d'intégrer des cartes dynamiques à une application Web.
- GeoExt est une bibliothèque JavaScript fournissant les bases pour la création d'application de Web-Mapping et s'appuyant sur ExtJS et OpenLayers. GeoExt nécessite ExtJS et OpenLayers mais est distribué indépendemment des 2 autres bibliothèques.
- TileCache est une bibliothèque Python fournissant un serveur WMS-C/TMS, Tile Mapping Service, qui peut être connecté à différents systèmes de cache et moteurs de rendu. Le cas le plus simple d'utilisation de TileCache nécessite seulement un accès en écriture à un disque, la possibilité d'exécuter des scripts CGI Python, et un service WMS que vous souhaitez mettre en cache.
- SqlAlchemy est une bibliothèque Python fournissant une boîte à outil de manipulation SQL et de mapping d'objet-relationnel. C'est un élément non-spécifique au Web Mapping et qui permet de manipuler une base de données relationnelle avec un modèle objet.
- Shapely est une bibliothèque Python permettant de manipuler et traiter des géométries spatiales 2D.
- JTS alias JTS Topology Suite est une bibliothèque Java de fonctions et prédicats 2D.
Un exemple de liaison entre ces différentes bibliothèques est le protocole MapFish, qui permet de facilement lier les éléments clients et serveurs.
Mais MapFish ne fait pas que lier ces différentes bibliothèques, il ajoute des fonctionnalités comme :
- les choroplets, côté clients, qui permet de faire des analyses cartographiques dynamiquement.
- l'impression pdf, côté serveur, qui permet de produire un résultat "papier" de la vue de l'utilisateur.
En espérant que MapFish est plus clair pour vous!
Commentaires
1. Le vendredi 23 janvier 2009 à 17:28, par guillaume
2. Le lundi 26 janvier 2009 à 18:11, par ReLuc
3. Le vendredi 6 février 2009 à 22:56, par Cédric Moullet
4. Le samedi 7 mars 2009 à 17:21, par Eric Lemoine
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.