Suite

Quels sont les équivalents FOSS de ces produits ArcGIS ?

Quels sont les équivalents FOSS de ces produits ArcGIS ?


Je suis un utilisateur de longue date des logiciels ESRI et j'ai maintenant besoin d'utiliser des logiciels libres et open source.

J'ai lu sur OpenLayers, PostgreSQL, PostGIS, GeoServer et MapServer, mais je ne trouve pas un bon aperçu indiquant ce que fait chaque produit, pourquoi il est nécessaire et comment ils s'emboîtent tous.

Par exemple, http://www.osgeo.org/ et http://freegis.org/ répertorient tous les deux un tas de produits mais ne donnent pas assez d'informations pour que je puisse décider lesquels sont pertinents.

Dans ArcGIS, j'utiliserais les éléments suivants :

  • géodatabase fichier ou alors Géodatabase ArcSDE pour le stockage de données
  • Bureau ArcMap pour éditer les données et compiler la carte
  • Serveur ArcGIS créer des services Web
  • API JavaScript d'ArcGIS Server pour créer les cartes des utilisateurs finaux à partir des services Web

Quels sont les produits FOSS équivalents ?


Pour stocker les données, les deux premières alternatives à mentionner sont PostGIS et SpatiaLite.

  • SpatiaLite est une base de données SQLite avec des capacités spatiales, ce qui signifie qu'elle est basée sur des fichiers, compacte et rapide.

  • PostSIG est des capacités spatiales sur une base de données PostgreSQL. Cela signifie qu'il est très puissant avec la capacité de gérer de grands ensembles de données, des requêtes complexes de manière efficace.

Avant de passer au bureau, vous devez savoir que de très nombreuses tâches peuvent être effectuées de manière très efficace directement dans la base de données. La plupart des choses que vous faites habituellement dans ArcMap en attendant que différentes boîtes de dialogue s'affichent, vous les ferez beaucoup plus rapidement directement avec quelques lignes de code SQL. Cela signifie que vous pouvez également stocker ce que vous avez fait et le refaire sur un autre ensemble de données très facilement en enregistrant simplement votre code SQL. La plupart des questions PostGIS ici concernent la façon d'écrire ces requêtes, vous pouvez donc avoir une idée de ce qui peut être fait en parcourant les questions marquées PostGIS.

Puis côté bureau. Il existe de nombreuses solutions de bureau. Je pense qu'il est temps d'admettre que du côté du bureau, ESRI est bon. Comme dit précédemment, la plupart des tâches que vous effectuez dans ArcMap sont mieux effectués plus profondément dans la base de données, mais lorsqu'il s'agit des tâches pour lesquelles vous avez besoin de la solution de bureau, ArcMap est bon. Ce que j'utilise c'est QGIS, et si j'avais un budget à dépenser, je déplacerais les coûts de licence ESRI pour prendre en charge la correction de bogues dans QGIS. QGIS est un excellent logiciel qui peut faire plus ou moins tout ce qu'ArcMap peut faire. Mais peut-être qu'une ou deux licences ArcInfo (en argent) sont nécessaires pour le peaufiner. Vous pouvez également consulter Saut ouvert, GvSIG, uDIG et plus.

Quand il s'agit de services Web vous avez MapServer, GeoServer, TinyOWS, etc.

  • GéoServeur est probablement le plus simple à utiliser car il possède une interface Web assez intuitive. GeoServer peut faire la plupart des choses que vous voulez. Il peut servir les services WMS WFS Tiled et ainsi de suite. Tout est écrit en Java.

  • MapServer est écrit en C et je pense qu'il est juste de dire que c'est le roi des services WMS. Au moins, il a remporté la fusillade de l'année dernière lors de la conférence FOSS4G (ESRI n'a pas osé participer). Mapserver est configuré via un "map-file" et je ne connais aucune interface graphique. Mais pour le service wms sérieux, c'est une alternative très intéressante.

  • Pour les services wfs modifiables, vous avez déjà mentionné GeoServer, mais aussi TinyOWS. TinyOWS est un petit serveur wfs écrit en C. Dernièrement, il a été plus intégré à Mapserver puisque vous pouvez utiliser le même fichier map pour les deux.

Ensuite, le côté client sur le Web. Je ne connais pas grand-chose à toutes les possibilités mais la plupart des solutions sont construites d'une manière ou d'une autre sur OpenLayers qui est une bibliothèque Javascript.

Je pense que quitter le monde ESRI ouvre une autre possibilité très importante pour vous. Si vous le souhaitez, vous êtes également libre de vous éloigner de la plate-forme Windows. Vous pouvez tout mettre sur n'importe quelle distribution Linux.

Le logiciel mentionné ci-dessus avec Linux réduira considérablement le besoin de matériel.

Un exemple du logiciel FOSS qui fonctionne bien est la carte de Norgeskart, de l'autorité cartographique officielle en Norvège.

En bas, ils utilisent PostGIS servant Mapserver. Mise en cache des tuiles dans Géowebcache et en utilisant un client basé sur OpenLayer sur le dessus. Ce n'est pas flashy comme un Silverlight solution mais c'est possible de le faire aussi.

Ils utilisaient le logiciel ESRI auparavant, mais ont dû le quitter lorsque leurs besoins ont augmenté en termes de capacité et de vitesse.


Nicklas a déjà signalé les packages open source les plus populaires. Si vous êtes intéressé par un couplage plus étroit des SIG de bureau et de serveur, vous voudrez peut-être examiner de plus près QGIS.

Semblable à la configuration que vous avez décrite pour ArcGIS, il existe une telle configuration pour QGIS :

  • PostSIG pour le stockage de données
  • Bureau QGIS pour modifier les données et créer la carte
  • Serveur QGIS pour créer des services Web
    • QGIS Server est un serveur WMS & WFS qui fonctionne sous Windows, Linux et Mac et utilise Apache.
    • La création d'un service se fait simplement en plaçant le fichier de projet QGIS (Desktop) dans le bon dossier du serveur. (Exemple : http://linfiniti.com/2010/08/qgis-mapserver-a-wms-server-for-the-masses/)
    • Des tutoriels peuvent être trouvés sur http://www.qgis.org/wiki/QGIS_Server_Tutorial
  • Client QGIS pour créer le front-end web
    • Le client est basé sur OpenLayers et GeoExt.
    • Exemples : http://webgis.uster.ch/

Parlant du point de vue de ce que j'utilise au quotidien (bien que cela soit influencé par mon implication dans la plupart des projets) :

  • géodatabase fichier ou géodatabase ArcSDE pour le stockage des données

PostGIS, SQLite et Shapefiles, dans l'ordre de la meilleure base de données au format le plus portable.

  • Bureau ArcMap pour modifier les données et compiler la carte

QGIS pour les opérations spatiales, TileMill pour compiler la carte (en supposant que vous entendez la carte comme dans les styles, la combinaison de sources de données, etc.)

  • ArcGIS Server pour créer des services Web

TileStream pour servir les cartes générées à partir de TileMill, ou TileStache pour le rendu en direct. Cependant, de nombreux groupes choisissent de générer des cartes plutôt que de servir en direct, compte tenu de l'expérience consistant à maintenir les serveurs en ligne et rapides.

  • API JavaScript d'ArcGIS Server pour créer les cartes de l'utilisateur final à partir des services Web

Dépliant si vous voulez éviter de faire des développements supplémentaires. TurfJS pour les tâches d'analyse dans le navigateur.


  • géodatabase fichier = PostGIS
  • ArcMap = QGIS avec un PostGIS dans le backend Postgresgl
  • ArcGIS Server = Geo Server, Map Server, QGIS Server
  • API JavaScript d'ArcGIS Server pour créer les cartes de l'utilisateur final à partir des services Web = Open Layers with Mapfish.

La pile peut être installée depuis le site postgresql avec le stackinstaller.

La solution la plus simple consiste à installer une pile LAPP avec Postgresql, contenant une base de données Post GIS et peut-être un serveur Tomcat qui appelle Apache. Pour la dernière partie, vous auriez besoin d'un nom de domaine ou que votre FAI prenne en charge les données sur le Web à partir de votre serveur.

Installez QGIS pour une interface graphique agréable avec des fonctionnalités d'application décentes et connectez-le à votre conteneur Post GIS. Fonctionne bien sans Apache et Tomcat pour les intranets.

Vous devrez développer une application à l'aide de la racine Web de l'installation apche pour servir sur Internet, sauf si vous êtes basé sur le cloud.

Développer dans un navigateur en tant que client qui peut être appelé dans le navigateur est plus intensif en développement et nécessite quelque chose comme Open Layers et/ou Mapfish. C'est le moyen le moins douloureux et il existe également de nombreuses autres options et considérations.

Pour le bureau, cela fonctionne bien, cependant, moins Mapfish et Open Layers.

Voici un peu à quoi cela ressemble, logiquement. Post GIS > Postgresql > Geoserver > QGIS > Tomcat > Mapfish