Suite

Comment rendre MapServer accessible uniquement via MapCache ?


J'ai installé MapServer et MapCache sur Ubuntu (voir ici). Maintenant, je voudrais empêcher l'accès direct à MapServer - les demandes ne doivent être autorisées que via MapCache. Je pensais pouvoir y parvenir en accédant à MapServer via localhost (dans mapcache.xml / source) et en permettant à MapServer de ne servir qu'à localhost. Le premier fonctionne bien, mais comment autoriser MapServer à ne servir qu'à localhost ?


J'ai compris (merci à user30184):

  Refuser la commande, autoriser Refuser de tous Autoriser de localhost 

Paquets de serveur Debian GIS Map

Il s'agit du module MapCache pour le serveur Web Apache implémentant les services Web OGC. Un programme mapcache FastCGI alternatif est disponible dans mapcache-cgi.

MapCache est un serveur qui implémente la mise en cache des tuiles pour accélérer l'accès aux couches WMS. Les principaux objectifs sont d'être rapidement et facilement déployables, tout en offrant les fonctionnalités essentielles (et plus encore !) attendues d'une solution de mise en cache de tuiles.

Ce package fournit des utilitaires de ligne de commande pour MapCache.

MapCache est un serveur qui implémente la mise en cache des tuiles pour accélérer l'accès aux couches WMS. Les principaux objectifs sont d'être rapidement et facilement déployables, tout en offrant les fonctionnalités essentielles (et plus encore !) attendues d'une solution de mise en cache de tuiles.

MapPropxy からのデータをキャッシュし、加速し、変換した上でデスクトップまたはウェブ SIG クライアントに送信します。

MapProxy (WMS-C, TMS, WMTS, KML SuperOverlays) 完全に規格準拠の WMS サーバーでもあり、どんな WMS クライアント (デスクトップ およびウェブ) もサポートします。

mapproxy ユーティリティを提供します。

MapServer 用のコマンドラインユーティリティを提供します。

MapServer は CGI ベースのインターネット地図サービス用フレームワーク であり、Open Geospatial Consortium (OGC) 標準をサポートします。 MapScript 内のスクリプト機能は提案される mapscript ライブラリパッケージ により提供されます。

PHP MapScript fournit des fonctions MapServer pour les scripts PHP.

MapServer est un cadre basé sur CGI pour les services de cartes Internet qui prend en charge les normes Open Geospatial Consortium (OGC).

Ce paquet fournit le MapScript traditionnel pour PHP.

Python MapScript fournit des fonctions MapServer pour les scripts Python.

MapServer est un cadre basé sur CGI pour les services de cartes Internet qui prend en charge les normes Open Geospatial Consortium (OGC).

OWSLib est un package Python pour la programmation client avec les normes d'interface de service Web Open Geospatial Consortium (OGC) (d'où OWS) et leurs modèles de contenu associés.

La documentation complète est disponible sur https://geopython.github.io/OWSLib

OWSLib fournit une API commune pour accéder aux métadonnées de service et aux wrappers pour de nombreuses interfaces de service Web OGC.

Ce package fournit la version Python 2 de la bibliothèque.

PyWPS est l'implémentation du service de traitement Web d'Open Geospatial Consortium Inc. (R) avec l'aide du langage de programmation Python et de GIS GRASS comme outil de travail en arrière-plan.

Ce métapaquet dépend du module Python pywps et de l'exemple WSGI.

QGIS est un système d'information géographique (SIG) qui gère, analyse et affiche des bases de données d'informations géographiques.

Ce paquet contient le serveur QGIS.

Routino est une application pour trouver un itinéraire entre deux points en utilisant l'ensemble de données d'informations topographiques collectées par OpenStreetMap

Il s'agit de l'interface Web du routeur.

TileCache est une implémentation d'un serveur compatible WMS-C mis à disposition par MetaCarta. TileCache fournit un serveur WMS/TMS basé sur Python, avec des mécanismes de mise en cache enfichables et des backends de rendu. Dans le cas d'utilisation le plus simple, TileCache ne nécessite qu'un accès en écriture sur un disque, la possibilité d'exécuter des scripts Python CGI et un WMS que vous souhaitez mettre en cache. Avec ces ressources, vous pouvez créer votre propre cache local sur disque de n'importe quel serveur WMS et utiliser le résultat dans n'importe quel client prenant en charge WMS-C, comme OpenLayers, ou n'importe quel client prenant en charge TMS, comme OpenLayers et worldKit.

TileStache Python ベースのサーバーアプリケーションです。

  • Mapnik
  • MBtiles タイルセットから描画済みタイルを提供
  • Polymaps 内で利用可能な GeoJSON OGR データソースからベクタータイル を生成
  • ディスク上、Memcache, Amazon S3, MBtiles, その他の場所にキャッシュ
  • Google WGS84
  • CGI, mod_python, Gunicorn WSGI から実行
  • メ タ タ イ ル の 利用

twms est un serveur WMS/TMS permettant d'exporter vos tuiles de carte vers des applications compatibles WMS.

twms peut exporter un ensemble de tuiles raster en tant que service WMS afin que les applications SIG prenant en charge le protocole WMS puissent accéder à cet ensemble de tuiles. En outre, twms peut agir en tant que proxy et effectuer des requêtes WMS vers des services externes et servir le cache de tuiles aux clients WMS et TMS.


1 réponse 1

Il me semble que votre problème ne sera pas résolu par la mise en cache côté serveur. Si toutes les tuiles dépendent des sélections de l'utilisateur, alors vous allez générer un tas de nouvelles tuiles à chaque fois qu'il y a une interaction.

J'utilise MapCache pour résoudre un problème similaire, où je rends un jeu de tuiles en réponse à une requête utilisateur. Mais j'ai divisé mes tuiles en plusieurs couches logiques et je fais la composition du côté du navigateur. Cela me permet de mettre en cache, côté serveur, les tuiles pour diverses requêtes et d'accélérer considérablement les performances. J'ai ensemencé le cache jusqu'au niveau de zoom 12 et j'avais besoin d'utiliser le type de cache BerkeleyDB pour éviter de manquer d'inodes.

J'utilise Leaflet.js pour le rendu côté navigateur, mais vous devriez également envisager OpenLayers.

Après avoir regardé le code source, j'ai d'autres idées.

On dirait que vous dessinez chaque calque de la même manière à chaque fois. Est-ce correct? C'est-à-dire que le style et le prédicat d'une couche particulière ne changent jamais. Chaque utilisateur voit l'image de ce calque de la même manière, s'il a sélectionné le calque. Mais la combinaison de couches que vous montrez change-t-elle, en fonction du contrôle OpenLayers ? Si tel est le cas, vous n'avez pas besoin de mise en cache par utilisateur sur le serveur. Au lieu de cela, utilisez la mise en cache par couche et laissez le navigateur de l'utilisateur déterminer la mise en cache côté client.

Une technique rapide pour trouver des calques lents consiste à les transformer tous. Ensuite, réactivez-les un par un pour trouver le coupable. Appelez Mapserver à partir de la ligne de commande et chronométrez les exécutions, pour une plus grande précision que celle que vous obtiendrez en l'exécutant à partir de votre serveur Web.

Vous avez mentionné que vous diffusez les images dans Google 3857 tandis que les calques sont dans Gauss-Kruger/EPSG 3912. Reprojeter cela à la volée coûte cher. Reprojeter les rasters à la volée est très coûteux. Si vous le pouvez, vous devez les reprojeter à l'avance et les stocker dans 3857 (ajouter une colonne de géométrie supplémentaire).

Je ne sais pas ce qu'est un fichier DOF - peut-être un fichier d'obstacle numérique ? Peut-être aussi précharger le fichier DOF dans PostGIS ? Cela éliminerait les deux éléments que vous jugez problématiques.

Jetez un œil aux requêtes SQL exécutées par PostGIS et assurez-vous qu'elles utilisent des index

Dans tous les cas, ces couches individuelles devraient aller dans MapCache, à mon avis. Voici une vidéo d'une conférence de septembre 2014 par le chef de projet MapCache.


Pour des informations spécifiques sur le verrouillage, lisez ceci .

La section de métadonnées MapCache contient les informations de contact source pour le service MapCache WMTS. Ces informations correspondent à des attributs spécifiques dans la réponse WMTS GetCapabilities renvoyée par le serveur. Voir OGC WMTS Docs pour en savoir plus sur WMTS. Toute la section des métadonnées MapCache est facultative.

Le premier ensemble d'éléments est pour métadonnées sur ce serveur spécifique. Ces éléments apparaîtront dans le <ows:ServiceIdentification> section de la réponse WMTS GetCapabilities. Les éléments de ce groupe comprennent : titre, résumé, mot-clé, frais et contraintes d'accès.

<titre>: Titre de cette ressource, normalement utilisé pour l'affichage aux humains.

<abstract>: Brève description narrative de cette ressource, normalement utilisée pour l'affichage aux humains.

<mot-clé>: Mot(s) ou expression(s) couramment utilisés ou formalisés utilisés pour décrire le sujet. Multiple autorisé, apparaîtra sous <ows:Mots clés>.

<frais>: Attestation d'honoraires requis pour utiliser ce service.

<accèscontraintes>: Relevé des frais requis pour utiliser ce service.

Le deuxième ensemble d'éléments est pour métadonnées sur l'organisation qui exploite ce serveur. Ces éléments apparaîtront dans le <ows:Fournisseur de services> section de la réponse WMTS GetCapabilities. Les éléments de ce groupe comprennent : providername, providerurl, contactcity, contactstateorprovince, contactpostcode, contactcountry, contactelectronicmailaddres, contactname, contactposition, contactphone et contactfacsimile.

<nomfournisseur>: Identifiant unique de l'organisation du fournisseur de services.

<fournisseururl>: Référence au site Web le plus pertinent du fournisseur de services.

<contactorganisation>: Ligne d'adresse pour l'emplacement. Pour info : cet élément de métadonnées MapCache est très mal nommé et correspond à <ows:Point de livraison>.

<contactville>: Ville de l'emplacement du fournisseur de services.

<contactétatouprovince>: État ou province de l'emplacement du fournisseur de services.

<contactcode postal>: Zip ou autre code postal du prestataire de services.

<contactpays>: Pays de l'adresse physique du prestataire de services.

<contactadressemailélectronique>: Adresse de la boîte aux lettres électronique de l'organisation ou de la personne responsable.

<nomducontact>: Nom de la personne responsable.

<postecontact>: Rôle ou poste de la personne responsable.

<contacttéléphone>: Numéro de téléphone par lequel les individus peuvent parler à l'organisation ou à l'individu responsable.

<contactfac-similé>: Numéro de téléphone d'un télécopieur pour l'organisation ou la personne responsable.

L'ensemble d'éléments suivant est spécifique à métadonnées pour INSPIRE. Les éléments de ce groupe comprennent : inspire_profile, inspire_metadataurl, langue par défaut.

<inspire_profile>: Active les capacités étendues d'INSPIRE. Requis pour que les autres éléments INSPIRE fonctionnent.

<inspire_metadataurl>: document ou service XML externe qui fournit un tel document XML contenant des métadonnées pour le service.

<languepardéfaut>: La langue par défaut du service.


À partir du 2021-03-19, le site MapServer nécessite au moins Sphinx 3.5.0, alabaster 0.7.12 et l'extension sphinx-removed-in - Vous pouvez vérifier les versions exactes que le site Web en direct utilise dans le fichier requirements.txt, (ou vous pouvez à la place parcourir les dernières versions des packages Sphinx ici), puis installer localement, par exemple :

assurez-vous que le répertoire 'C:/Python3X/Scripts' est votre chemin

  1. exécutez ce qui suit sur la ligne de commande :

si la commande n'est pas trouvée, téléchargez le fichier get-pip.py localement.

exécutez ce qui suit sur la ligne de commande :

dans le répertoire /MapServer-documentation, exécutez :

… vous devriez voir le message : « Terminé le traitement des dépendances pour Sphinx »

dans le répertoire /MapServer-documentation, exécutez :

la sortie HTML sera écrite dans le sous-répertoire _build/html.

installez MiKTeX à partir de https://miktex.org/download si vous souhaitez créer des pdf

La plupart des versions sont livrées avec python installé (vérifiez avec python –version), pour les étapes spécifiques, vérifiez auprès de votre distribution. Un exemple de commande pourrait être :

installer Sphinx. Dans le répertoire /MapServer-documentation, exécutez :

pour traiter la documentation, depuis le répertoire /MapServer-documentation, lancez :

la sortie HTML sera écrite dans le sous-répertoire build/html.

S'il y a plus d'une traduction, les commandes ci-dessus construiront automatiquement toutes les traductions, à moins que vous n'ajoutiez un "BUILD_LANGUAGES=" aux arguments make

installer sphinx en utilisant pip. Dans le répertoire /MapServer-documentation, exécutez :

installez MacTex à partir de http://www.tug.org/mactex/ si vous souhaitez créer des fichiers PDF

pour traiter la documentation, depuis le répertoire MapServer /MapServer-documentation, lancez :

la sortie HTML sera écrite dans le sous-répertoire build/html.

S'il y a plus d'une traduction, les commandes ci-dessus construiront automatiquement toutes les traductions.


Les trucs juridiques

Conditions d'utilisation du contenu

Manaaki Whenua - Landcare Research New Zealand Limited a compilé les cartes que nous mettons à disposition via ces services à partir d'informations provenant de diverses sources. Les informations peuvent ne pas être complètes, correctes ou à jour. Nous n'acceptons aucune responsabilité pour les actions prises sur la foi de celui-ci ou les conséquences résultant de son utilisation.

Les services Web utilisent des données pour les couches de fond de carte provenant de la base de données NZTopo de Land Information New Zealand et des propres ensembles de données internes de Manaaki Whenua. N'utilisez pas les cartes à des fins de navigation ou dans toute application dont des vies potentielles pourraient dépendre.

/> Les informations scientifiques fournies par ce service sont sous licence Creative Commons CC-BY New Zealand.

Si vous utilisez les services Web et publiez les informations spatiales au public sans les adapter, l'attribution suivante à Manaaki Whenua doit être utilisée dans votre travail/produit/application :

Source : Manaaki Whenua et autorisé par Manaaki Whenua pour une réutilisation sous licence Creative Commons CC-BY Nouvelle-Zélande.

Entre autres choses, la licence prévoit que :

  • Sauf si la loi l'exige ou autrement convenu par écrit entre nous, les cartes sont concédées sous licence par Manaaki Whenua sur la base des "quotas is" et des "quotas disponibles" et sans aucune garantie d'aucune sorte, expresse ou implicite.
  • Sous réserve de toute responsabilité qui ne peut être exclue ou limitée par la loi, Manaaki Whenua ne sera pas responsable sur aucune base légale (y compris, sans limitation, la négligence) et exclut expressément toute responsabilité pour les pertes ou dommages, quelle qu'en soit la manière et à tout moment.

Toutes les cartes que vous demandez à nos services Web DOIVENT afficher la déclaration de droit d'auteur et de licence correspondante. Pour les couches de données scientifiques, les éléments suivants doivent être utilisés :

© Landcare Research NZ Limited 2009- CC Attribution 3.0 Licence NZ

Les couches de fond de carte doivent inclure les éléments suivants :

&copier Landcare Research NZ Limited 2009-. Contient des données provenant de LINZ. Droits d'auteur de la Couronne réservés.

Le droit d'auteur doit être appliqué en utilisant la méthode la plus appropriée pour le client utilisé pour afficher nos services, par ex. "ol.Attribution" dans OpenLayers ou "Copyright Label Decoration" dans QGIS. De plus amples informations sont disponibles ici.

Conditions d'utilisation du site et des services Web

En utilisant ce site et les services Web fournis, vous acceptez et êtes réputé être lié par les conditions suivantes. Si vous choisissez de ne pas être lié par les Conditions suivantes, Manaaki Whenua ne vous accorde pas le droit d'utiliser ce site et ses services.

  1. Manaaki Whenua peut modifier ces Conditions à tout moment. Les modifications entreront en vigueur immédiatement après la publication des conditions d'utilisation modifiées sur ce site Web et en continuant à utiliser le site et ses services après la modification des conditions, vous acceptez et êtes réputé être lié par la modification.
  2. Vous êtes responsable de vous assurer que vous êtes familiarisé avec les dernières conditions d'utilisation, qui ont été mises à jour pour la dernière fois le 10 février 2019.
  3. Vous acceptez de ne pas tenter de modifier les services Web ni d'utiliser un robot, une araignée ou tout autre dispositif ou processus ou moyen quel qu'il soit pour utiliser ce site et les services à des fins non autorisées. Vous vous engagez à ne pas :
  • faire des demandes de trafic excessives du site et des services Web
  • délivrer des virus ou transmettre tout autre système de nature destructive ou susceptible de l'être, seul ou en combinaison
  • autrement se livrer à tout autre comportement dont on peut raisonnablement s'attendre à ce qu'il empêche d'autres utilisateurs d'utiliser et de profiter des services Web ou
  • endommager ou détruire la réputation de Manaaki Whenua.
  1. Vous reconnaissez que Manaaki Whenua peut résilier, suspendre ou restreindre votre accès aux services Web à tout moment à son entière discrétion.
  2. Vous reconnaissez également que Manaaki Whenua peut suspendre le fonctionnement des services pour des travaux de réparation ou de maintenance ou afin de mettre à jour le contenu ou les fonctionnalités du site Web et des services Web.
  3. Vous acceptez que l'accès ou l'utilisation du site et des services Web ne soit pas nécessairement ininterrompu ou sans erreur.
  4. Manaaki Whenua se réserve le droit de modifier ou de résilier les services Web pour quelque raison que ce soit, sans préavis, à tout moment.
  5. Dans la mesure du possible, nous ferons une annonce sur cette page Web de toute proposition de modification des services Web, des interruptions des services ou de la résiliation des services.

Un format est un format d'image qui sera utilisé pour renvoyer les données de tuile aux clients et pour stocker les données de tuile sur le disque.

Une grille est la matrice qui mappe les tuiles sur une zone et se compose d'une référence spatiale, d'une étendue géographique, de résolutions et de tailles de tuile.

Options de configuration obligatoires¶

<size>: largeur et hauteur d'une tuile individuelle, en pixels. Doit être spécifié sous forme d'entiers positifs séparés par un espace. La taille de tuile la plus courante est :

<exte>: L'étendue géographique couverte par la grille, en unités terrestres (par exemple, mètres, degrés, pieds, etc.). Doit être spécifié comme 4 nombres à virgule flottante séparés par des espaces, ordonnés comme minx, miny, maxx, maxy.

MapCache s'attend à ce que toutes ses étendues soient données en lonlat et effectue la traduction en latlon au moment de la demande si nécessaire.

Le point (minx,miny) définit l'origine de la grille, c'est-à-dire que le pixel en bas à gauche de la tuile la plus en bas à gauche est toujours placé sur le point géographique (minx,miny).

Le point (maxx,maxy) est utilisé pour déterminer le nombre de tuiles pour chaque niveau de zoom.

<srs>: La projection de la grille, généralement donnée par son identifiant EPSG. Cette valeur n'est pas utilisée directement par MapCache pour calculer les reprojections, elle est uniquement utilisée pour rechercher quelle grille utiliser lors de la réception de requêtes WMS.

Il s'agit de la valeur qui est transmise à la source lors de la demande d'une tuile qui n'est pas déjà mise en cache pour la grille actuelle. Vous devez vous assurer que la source interrogée est capable de renvoyer des données d'image pour ce SRS.

<units> : unités au sol utilisées par la projection de la grille. Cette entrée n'est pas utilisée directement par MapCache en dehors du calcul des échelles pour le document de capacités WMTS. Les valeurs autorisées sont :

  • m : mètres
  • jj : degrés décimaux
  • pi : pieds

<résolutions>: Il s'agit d'une liste de résolutions pour chacun des niveaux de zoom définis par la grille. Celui-ci doit être fourni sous forme de liste de valeurs à virgule flottante positives, séparées par des espaces et classées du plus grand au plus petit. La plus grande valeur correspondra au niveau de zoom 0 de la grille. Les résolutions sont exprimées en “unités par pixel”, en fonction de l'unité utilisée par la grille (par exemple, les résolutions sont en mètres par pixel pour la plupart des grilles utilisées dans la cartographie Web ).

Options de configuration facultatives¶

<srsalias>: cette balise peut être spécifiée plusieurs fois et permet à l'utilisateur d'ajouter plusieurs entrées SRS pour une grille donnée. Ceci est particulièrement utile si l'identifiant EPSG pour une projection donnée a évolué au fil du temps, ou pour prendre en charge des catalogues autres que celui de l'EPSG (qui est le seul catalogue pris en charge par la spécification WMS).

<titre>: Le nom de la grille, sous une forme lisible par l'homme. Apparaît dans les documents de capacités.

<WellKnownScaleSet>: Voir le mot-clé WMTS. Cela ajoutera une entrée WellKnownScaleSet au document de capacités WMTS. Il appartient à l'utilisateur de s'assurer que les résolutions fournies pour la grille correspondent bien au WellKnownScaleSet prédéfini.

&lorigine>: spécifie l'origine de la grille. Les valeurs valides sont en haut à gauche , en bas à gauche , en haut à droite et en bas à droite .

Si elle n'est pas utilisée, la grille aura le coin inférieur gauche comme point de référence.

Grilles préconfigurées¶

Il existe trois grilles prédéfinies que vous pouvez utiliser sans les définir dans le fichier mapcache.xml :

La grille “WGS84” correspond à une grille où le monde entier est rendu sur deux tuiles de 256x256 pixels au niveau 0 (c'est-à-dire que l'étendue (-180,-90,180,90) tient sur une image de 512x256). Il descend au niveau de zoom 17.

La grille " Cette grille descend au niveau de zoom 18. Le niveau 0 est une seule tuile de 256x256. Le SRS par défaut de cette grille est EPSG:900913, ce qui n'est pas standard mais est plus largement utilisé que son entrée officielle EPSG:3857.

La grille “GoogleMapsCompatible” est presque identique à la grille “g”, sauf que son SRS par défaut est EPSG:3857 au lieu de EPSG:900913.


Je me demande pourquoi nous utilisons "accessible à" comme sens de "peut être accédé à partir de".

Sauf que nous ne le faisons pas. Cependant, il peut être utilisé comme un sens de est accessible par.

Comment rendre votre blog accessible à lecteurs aveugles.

C'est correct car vous donnez l'accès aux lecteurs aveugles à le blog.

Comment rendre votre blog accessible de lecteurs aveugles.

Cela implique que vous pouvez accéder à votre blog de lecteurs aveugles ! Pas ce que l'auteur avait en tête, j'imagine.

Ce bâtiment est accessible à utilisateurs de fauteuils roulants.

Ce bâtiment est accessible par utilisateurs de fauteuils roulants.

Ce bâtiment est accessible de l'ouest.

Ce contenu n'est accessible qu'à les abonnés.

Ce contenu n'est accessible que par les abonnés.

Ce contenu n'est accessible qu'à partir de Internet Explorer.


Moyen SIG

Ces outils ont un peu plus d'utilité que ceux énumérés ci-dessus. Plusieurs d'entre eux ne sont disponibles que pour les utilisateurs UW.

SimplyMap est un outil de statistiques et de données avec une interface cartographique. Source fantastique de données démographiques, d'informations sur les consommateurs, de données commerciales et de données de marché. Créez des cartes et des visualisations sympas, et vous pouvez même exporter des données liées à des fichiers de formes.

Social Explorer est idéal pour créer une carte rapide et facile des données du recensement américain. Les données du US Census Bureau sont préchargées dans Social Explorer et vous pouvez créer une carte à code couleur, une carte de densité de points ou une carte de symboles gradués. Vous pouvez également créer des présentations sympas de plusieurs cartes à l'aide de l'outil "Story". Vérifiez-le.

Google Fusion Tables est une application expérimentale de visualisation de données de Google. Parmi plusieurs outils de visualisation, la fonction carte permet d'afficher des données dans une carte thématique. Le grand avantage des Fusion Tables qui ne sont pas disponibles gratuitement ailleurs est qu'elles permettent à l'utilisateur de fusionner des ensembles de données à la manière d'une jointure spatiale. Accessible uniquement avec un compte Google. Dans Google Drive, cliquez sur Nouveau>Plus>Connecter de nouvelles applications>Google Fusion. Vous le trouverez alors dans le menu "Nouveau".


Le rôle des SIG open source

Le problème est que si certains étudiants intelligents veulent intégrer des applications qui tuent et devenir riches, les données et/ou les services nécessaires pour entrer dans le jeu peuvent coûter des milliers de dollars. Bien que la technologie propriétaire soit puissante, elle est très coûteuse. Qu'il s'agisse d'acheter directement un logiciel propriétaire, de commander des informations spatiales ou d'externaliser l'ensemble de l'application, l'utilisation d'un logiciel commercial pour produire des applications cartographiques de haute qualité coûte cher. Si vous avez un ensemble stable d'exigences système, certains des fonds de la banque et les opportunités de marché qui vous conviennent, les options propriétaires peuvent être un bon choix. De même, si vous préférez faire du développement et de la maintenance un casse-tête, ou si vous prévoyez une grande quantité de fer pour le trafic, vous pouvez utiliser un produit propriétaire.

Cependant, si vous entrez sur le marché de manière provisoire, avec une exigence système dynamique (ou pas du tout) Peut-être que vous manquez de financement, ou que vous essayez simplement d'utiliser la technologie, vous devriez étudier et comprendre MapServer, qui fait l'objet de ce tutoriel. MapServer est un moteur de rendu de carte qui peut être exécuté en tant que script CGI ou en tant qu'application autonome dans un environnement Web via des API accessibles à partir de plusieurs langages de programmation. Reportez-vous aux instructions de la page d'accueil de MapServer, "MapServer est un environnement de développement OpenSource pour la création d'applications Web Internet compatibles avec l'espace". Avec l'aide de l'Université du Minnesota, de la NASA et du Département des ressources naturelles du Minnesota, MapServer est désormais disponible pour près de 20 développeurs du monde entier.

Il y a un certain nombre de raisons pour lesquelles vous pourriez envisager d'utiliser MapServer : peut-être que votre patron refuse de mettre la carte dans son projet favori au prix d'un produit commercial et vous dit de trouver quelque chose sur Internet, peut-être avez-vous un espace qui contient des informations. Ensemble de données, vous souhaitez le partager graphiquement en ligne Peut-être que vous souhaitez étendre votre propre projet animalier, vous pensez que fournir des cartes en ligne peut avoir un grand impact, ou vous pourriez simplement aimer une carte et penser à faire une belle carte à partir d'une source numérique te rendre heureux. Mais avant de regarder MapServer pour voir si c'est ce dont vous avez besoin, vous devez comprendre de quoi il s'agit. MapServer est un outil pour présenter des données géographiques sur le Web - ce n'est pas un SIG complet (bien qu'il puisse être utilisé pour en créer un).


Puis-je rendre un fichier accessible uniquement à un script, et non à un utilisateur ?

J'ai un utilisateur avec un accès limité sur le système (c'est-à-dire qu'il n'est pas un sudoer) appelons-le Bob.

J'ai un script ou un binaire auquel je fais confiance, en tant qu'administrateur système, et je n'aurais aucun problème à l'exécuter en tant que root, appelons le script get-todays-passphrase.sh . Le travail de ce script est de lire les données d'un fichier "privé" (appartenant à un utilisateur/groupe autre que Bob, ou même root) situé dans /srv/daily-passphrases , et de ne sortir qu'une ligne spécifique du fichier : le ligne qui correspond à la date du jour.

Des utilisateurs comme Bob sont ne pas autorisé à connaître la phrase secrète de demain, même si elle est répertoriée dans le fichier. Pour cette raison, le fichier /srv/daily-passphrases est protégé par les autorisations Unix, donc les utilisateurs non root comme Bob sont ne pas autorisé à accéder directement au fichier. Ils sont cependant autorisés à exécuter le script get-todays-passphrase.sh à tout moment, qui renvoie les données "filtrées".

Pour résumer (le TLDR version):

  1. Bob ne peut pas lire le fichier protégé
  2. Le script peut lire le fichier protégé
  3. A tout moment, Bob peut exécuter le script qui peut lire le fichier

Est-il possible de le faire avec les autorisations de fichiers Unix ? Ou si Bob démarre un script, le script sera-t-il toujours voué à s'exécuter avec les mêmes autorisations que Bob ?


Voir la vidéo: MapCache: The Fast Tiling Server From The MapServer Project (Octobre 2021).