17 votes

Directives pour le développement d'applications SIG

Je suis censé créer une application SIG pour mon MSc, et je me demandais quelles sont les meilleures technologies gratuites et (de préférence) open source pour le développement? Quel langage de programmation utiliser pour le développement d'une telle application?

Les choix connus sont: Base de données : PostgreSQL (PostGIS) (suggérer autre)

Langage de programmation : PHP, Python, Java, ... (suggérer autre)

Frameworks : GeoDjango (si Python ou Jython est utilisé), (suggérer autre)

Interface client : JavaScript (OpenLayers), Flex, (suggérer autre)

Serveurs : Mapserver, Geoserver, Mapfish, (suggérer autre)

Autres considérations : Hibernate Spatial, support pour les SIG mobiles, (suggérer autre)

9voto

D_Guidi Points 460

De ce que je sais : le meilleur choix pour les applications web est de préparer vos données avec gvSIG (http://www.gvsig.org), héberger vos données dans postgresql/postgis (http://www.postgresql.org, http://postgis.refractions.net), publier un service WMS/WFS avec MapServer (http://mapserver.org/) et ensuite afficher vos données en utilisant openlayers (http://openlayers.org). Ces solutions fonctionnent parfaitement pour mes expériences. Une bonne approche est d'utiliser MapFish (http://trac.mapfish.org/trac/mapfish/wiki) un framework webgis qui utilise internalement extjs et openlayers mais simplifie le développement.

2voto

Roee Adler Points 10146

Est-il possible pour vous d'intégrer Google Maps dans une application Web? Ce serait la solution la plus simple...

Pour les SIG open source, consultez la liste des SIG open source de Wikipédia, elle est assez complète.

Copier-coller de Wikipédia:

Le développement de logiciels SIG open source a une longue tradition dans l'histoire du logiciel avec l'apparition d'un premier système en 1978. De nombreux systèmes sont aujourd'hui disponibles couvrant tous les secteurs de la gestion des données géospatiales.

Les projets de SIG open source suivants sont examinés dans Steiniger et Bocher (2008/9):

gvSIG 1.0

GRASS GIS - Développé à l'origine par le Corps des ingénieurs de l'armée américaine, en open source : un SIG complet

SAGA GIS - Système d'Analyses Géoscientifiques Automatisées - un logiciel hybride de SIG. SAGA a une Interface de Programmation d'Applications (API) unique et un ensemble croissant rapide de méthodes géoscientifiques, regroupées dans des Bibliothèques de Modules échangeables.

Quantum GIS - QGIS est un SIG open source convivial qui s'exécute sur Linux, Unix, Mac OS X et Windows.

MapWindow GIS - Application de bureau GIS gratuite et open source et composant de programmation.

ILWIS - ILWIS (Système d'Information Intégré sur les Terres et les Eaux) intègre les données d'images, vectorielles et thématiques.

uDig

gvSIG - SIG open source écrit en Java.

JUMP GIS / OpenJUMP - Plateforme cartographique unifiée (Open) Java (le bureau GIS OpenJUMP, SkyJUMP, deeJUMP et Kosmo ont émergé de JUMP; voir [3])

autres:

Capaware rc1 0.1

SAGA-GIS v. 2.0.3

Kalypso (logiciel) - Kalypso est un SIG open source (Java, GML3) et se concentre principalement sur les simulations numériques en gestion de l'eau.

TerraView - Bureau GIS qui gère les données vectorielles et raster stockées dans une base de données relationnelle ou géo-relationnelle, c'est-à-dire une interface pour TerraLib.

Capaware - Capaware est également un SIG open source, un Framework de GIS 3D incroyablement rapide en C++ avec une architecture de plugin multiple pour l'analyse géographique et la visualisation.

2voto

Vinko Vrsalovic Points 116138

Il y a quelques années (environ 6), j'ai travaillé presque exclusivement avec MapServer (en particulier PHP MapScript) et PostGIS, obtenant des résultats assez bons, en particulier en termes de flexibilité. J'ai créé des applications de production (géolocalisation avec analyse) et j'ai même réalisé ma thèse de master basée sur ce travail. Je m'attends à ce que ces deux technologies, étant donné leur maturité, soient toujours un bon choix.

À l'époque, il n'y avait pas beaucoup d'alternatives pour construire des applications SIG Internet riches, aujourd'hui il y en a plusieurs (surtout depuis le lancement de Google Maps).

Depuis, j'ai eu quelques missions liées aux SIG, dont l'une utilisait Cartoweb pour l'affichage, qui est un framework web basé sur PHP Mapscript, extensible et qui fonctionne pour la plupart.

Le meilleur choix dépend finalement de ce que vous allez construire. Si vous voulez une flexibilité totale sur l'affichage des analyses, des cartes, du routage et de l'édition géographique, alors vous devez obtenir un mapserver programmable. Je sais que Mapserver fonctionne, mais il est également probable que GeoServer, MapBuilder et même Mapnik puissent fonctionner, en fonction des spécificités.

À propos des alternatives, MySQL a également des Extensions Spatiales.

2voto

David Winslow Points 5224

Pour quelque chose qui semble plus comme une "application" qu'une page web avec une carte, visitez http://geoext.org/, qui combine OpenLayers avec ExtJS.

0voto

Beachwalker Points 1718

Il est difficile de répondre à votre question concernant les "meilleurs" outils car cela dépend de vos besoins. Spécifiez vos besoins et nous trouverons une réponse plus précise (D'après ce que je vois, vous avez posé la question il y a quelque temps et j'espère que vous avez déjà obtenu votre MSc)... néanmoins, il peut y avoir d'autres personnes toujours intéressées par cette question.

Base de données:

Pour les petites applications de bureau, Sqlite avec SpatiaLite pourrait être une option au lieu d'un serveur PostgreSQL/PostGIS complet en tant que backend. PostgreSQL est un bon choix pour des applications plus importantes ou en l'utilisant avec un serveur WFS(-T) comme GeoServer ou UMN MapServer.

Peut-être que le bon vieux format Shapefile répond à vos besoins et que vous n'avez pas besoin d'un backend de base de données.

Langage de programmation:

Je vous suggère d'utiliser le langage avec lequel vous êtes déjà familier. Il existe de nombreuses liaisons vers plusieurs langages disponibles et je parie que votre langage est également pris en charge. Si vous commencez de zéro à héros, je suggérerais Java, car c'est facile à apprendre et il existe de nombreux projets open source bien entretenus disponibles.

Frameworks:

Je ne peux pas suggérer un seul framework, car ils ont tous des capacités et des avantages spécifiques dans des domaines spécifiques... pourquoi devrais-je vous suggérer une trousse d'outils de visualisation si vous avez seulement besoin de convertir des formats de fichier ou des coordonnées sans les afficher. J'ai déjà mentionné cela au début de ma réponse. MapWindow6 et DotSpatial pourraient être intéressants si vous utilisez C#.

Interface utilisateur Client:

Bureau et/ou Navigateur ? Système d'exploitation ? Les technologies possibles dépendent de vos besoins et de votre environnement. Si vous êtes obligé d'utiliser un navigateur (qui peut afficher WebGL) et que vous voulez montrer des éléments de pointe par ex Cesium pourrait être intéressant.

Serveurs:

Vous avez déjà mentionné les serveurs open source les plus connus, mon préféré est le GeoServer.

Autres conseils

Si vous cherchez une pile technologique particulière, le site web de l'OGC est le premier point à visiter. Ils ont défini de nombreuses (pour ne pas dire toutes) les normes connues dans le domaine SIG et fournissent une liste de implémentations pour chaque norme.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X