Suite

Pourquoi avons-nous besoin de Mapserver/Geoserver pour présenter les données de la base de données spatiale au navigateur Web ?


J'essayais "Comment j'ai configuré GeoServer sur une ancienne machine" et par @iant j'ai configuré Tomcat et tout.

J'ai soudainement eu une question… pourquoi avons-nous besoin de MapServer et GeoServer ?

Ces serveurs peuvent-ils extraire des données de la couche de base de données à la demande de l'utilisateur et ne présenter que ce que l'utilisateur a demandé à partir de la base de données ?


La réponse simple est que vous ne besoin eux, mais cela rend la vie beaucoup plus facile. Vous devez avoir une sorte d'élément serveur entre votre base de données et le navigateur Web : vous pouvez donc soit écrire votre propre serveur en PHP (ou java ou autre) et gérer tous les caprices de la base de données que vous utilisez et régler le virement bancaire formats, etc. et effectuez le débogage et les tests. Ou vous pouvez vous appuyer sur les 131 années-personnes qui ont été consacrées au développement de GeoServer (ou les 53 années-personnes de MapServer) et commencer à servir des cartes cet après-midi.

Et tout cela se passe avant que je ne commence ma diatribe standard sur les normes et pourquoi laisser quiconque peut implémenter la norme consommer vos cartes dans son client sans aucun codage supplémentaire de votre part est une bonne chose.


Cela dépend vraiment de ce que vous devez faire avec les données.

Par exemple, si vous n'avez besoin d'afficher que des points vectoriels au-dessus d'un fond de carte, vous pouvez créer un script côté serveur très simple (en Python, .NET, PHP) pour publier des données spatiales à partir de votre base de données. La capacité de PostGIS à servir GeoJSON rend cela trivial.

Servir des fonctionnalités uniques en tant que KML et créer des cadres de délimitation peut également être plus facilement géré directement avec un simple script et une base de données. Les Tilecaches préfabriqués permettent également (éventuellement) des logiciels côté serveur plus simples tels que TileStache.

MapServer ou GeoServer dans ces cas serait une surcharge énorme pour peu d'avantages. Et il y a une énorme surcharge dans la configuration et la maintenance de l'une ou l'autre de ces applications et de leurs dépendances associées, en particulier si vous devez déployer sur un serveur partagé ou si vous avez un accès restreint.

Comme Ian le mentionne, l'utilisation d'un logiciel de serveur cartographique présente de nombreux avantages. Le principal avantage réside probablement dans les options cartographiques permettant d'afficher les données de manière dynamique. Les normes OGC, les projections, les requêtes d'attributs, les légendes, les métadonnées, la mise en cache, la sécurité, les différents formats spatiaux, les différents formats d'images, l'impression, etc. sont alors également disponibles.


En utilisant un framework comme Geomajas, vous pouvez également extraire directement les fonctionnalités de la base de données et envoyer les fonctionnalités au navigateur en utilisant SVG/VML pour le rendu/l'édition dans le navigateur. Il existe également un plugin de rastérisation qui permet de rastériser sur le serveur.


Voir la vidéo: Les bases dOpenLayers - Premiers pas (Octobre 2021).