Suite

MapServer n'affiche pas les données d'autres emplacements réseau ?

MapServer n'affiche pas les données d'autres emplacements réseau ?


J'ai installé MapServer et j'essaie d'accéder au fichier raster (.img) à partir d'autres emplacements réseau (NAS), qui affiche la couleur d'arrière-plan de la carte pour le mapcanvas. J'ai également essayé de charger le même fichier raster à partir du disque local et il se charge correctement.

Merci de me dire quelles sont les solutions possibles.


Si vous êtes sous Windows comme je suppose que vous l'êtes parce que vous utilisez la balise "ms4w", la seule solution que je connaisse est de mapper le lecteur réseau et de l'attacher à une lettre de lecteur comme N: pour NAS.


SIG SAGA

Je suis le gars qui a posté il y a environ un mois un message sur la corruption (?) d'une forme de points par Saga, qui compromettait gravement son utilisation dans MapServer. Apparemment, la corruption (?) N'affecte pas l'utilisation du fichier dans Saga lui-même, vous ne l'avez donc probablement pas vu du tout.

Le problème a été généralisé maintenant, comme suit : lorsqu'une forme est simplement chargée dans Saga puis exportée à nouveau, la taille du fichier DBF est toujours augmentée ou réduite de quelques pour cent. Le changement n'est pas visible dans la table des propriétés de la forme elle-même, en utilisant Saga ou Excel comme visionneuse de champ. Le changement de taille est particulièrement perceptible (environ +10%) pour les formes ponctuelles. Ceci est apparemment le reflet de la corruption (?) qui rend la forme inutilisable dans Mapserver. Toutes les formes de points créées par les modules Saga que j'ai vérifiées sont inutilisables dans MapServer, et je pense que cela est lié au comportement étrange de DBF.

Quelqu'un a-t-il une idée de ce que je peux faire pour éviter la corruption (?) Du fichier DBF.

Salut,
La cause est que SAGA modifie (et augmente généralement) la taille des champs dans
le .dbf. Le .dbf peut être lu par ex. dans openoffice calc qui vous montrera
les types de champs et les tailles dans la rangée supérieure (et est gratuit).
Vous pouvez également utiliser un éditeur de fichiers pour clarifier cela. Il n'y a pas d'extension à
unicode comme UTF-16, ce qui aurait pu être une autre raison pour laquelle mapserver ne
pour aimer le shapefile enregistré.
Vous pouvez même modifier la taille des champs au bureau en éditant dans la rangée du haut
(par exemple à leurs valeurs d'origine) pour voir si cela encouragera mapserver à
chargez-les, auquel cas vous serez certain de la cause.
Je ne vois pas que tu puisses ordonner à SAGA d'agir autrement, mais je suis un peu fréquent
utilisateur et vérifié cela avec une ancienne version (2.0.3).
OMI, vous n'êtes pas à l'aise d'utiliser des fichiers de formes comme intermédiaires, à cause de
taille de champ limitée et prise en charge incertaine d'Unicode. Peut-être que tu devrais
envisager un changement avant de mettre beaucoup d'efforts dans les fichiers de formes.
Espérons que cela aide un peu,
Jan
Le vendredi 23 novembre 2012 à 16h38, murray brown [email protected] a écrit :

Je suis le gars qui a posté un message il y a environ un mois sur la corruption (?) d'un
points façonnés par Saga, ce qui a gravement compromis son utilisation dans MapServer.
Apparemment, la corruption (?) n'affecte pas l'utilisation du fichier dans Saga lui-même,
donc vous ne l'avez probablement pas vu du tout.

Le problème a été généralisé maintenant, comme suit : Lorsqu'une forme est simplement
chargé dans Saga puis réexporté, le fichier DBF est toujours augmenté
ou diminué en taille de quelques pour cent. Le changement n'est pas visible dans le
table des propriétés de forme elle-même, en utilisant Saga ou Excel comme visionneuse de champ. Le
le changement de taille est particulièrement perceptible (environ +10%) pour les formes ponctuelles. Ce
est apparemment le reflet de la corruption (?) qui fait la forme
inutilisable dans Mapserver. Toutes les formes de points créées par les modules Saga que j'ai vérifiées
sont inutilisables dans MapServer, et je pense que cela est lié à l'étrange DBF
comportement.

Est-ce que quelqu'un a une idée de ce que je peux faire pour éviter la corruption (?)
le fichier DBF.


Les appareils partagés n'apparaissent pas dans le réseau

J'ai rencontré un problème un peu étrange sur mon Mac. Récemment, tous les appareils répertoriés dans la section « Partagés » de la barre latérale du Finder ont tous disparu et ont été remplacés par un « Tous. " option.

Étrangement, dans cette option, les serveurs partagés n'y apparaissent même pas. Au lieu de cela, il y a un dossier appelé "Serveurs" et à l'intérieur de celui-ci se trouvent deux raccourcis qui mènent au lecteur racine de mon Mac (qui est nommé "glados" sur le réseau).

Cependant, sur un autre mac de mon réseau, les choses semblent très bien là-bas. Il récupère même le Mac en difficulté (qui apparaît sous le nom de « MacBook Pro de Java » grâce à bonjour) et apparaît à la fois dans la barre latérale et dans le dossier Réseau.

Avant que les coups de feu ne soient tirés, Yosemite n'a rien à voir avec ça. J'ai dépanné pendant des heures et des heures et j'en suis venu à la conclusion que ce n'est pas la cause.

J'ai vérifié que les paramètres réseau sont les mêmes sur les deux Mac (et ils le sont) et j'ai même utilisé un programme appelé "Bonjour Browser" pour rechercher sur le réseau le service de partage AFP sur les deux Mac et les deux peuvent se détecter. (et eux-mêmes) sur le réseau.

Je suis donc à peu près sûr que ce n'est pas un problème de réseau puisque l'iMac peut bien voir le MacBook et que le MacBook peut «techniquement» voir l'iMac.

De plus, si je me connecte manuellement à un lecteur partagé sur l'un des PC ou l'iMac via « Se connecter au serveur », la connexion est correcte et apparaît dans la barre latérale (cependant, son nom est l'adresse IP du lecteur partagé et n'est que temporaire car il disparaît au fur et à mesure que je me déconnecte, ce qui est totalement inutile)

Je suis revenu à Time Machine lorsque le MacBook exécutait Mavericks et le problème existait toujours. Cela me porte donc à croire que quelque chose ne va pas avec une sorte de fichier de préférences peut-être ? J'ai essayé de supprimer com.apple.finder.plst dans le

/Library/ et relancé mais cela n'a pas aidé non plus.

Je suis à court d'idées et d'autres forums existants sur le reste d'Internet n'ont pas semblé résoudre le problème. Si quelqu'un a une idée à distance, toute aide serait appréciée! Merci internet ! :RÉ

PS. Soz pour la surcharge de capture d'écran.

Edit : j'ai oublié de mentionner que je me suis assuré que les 3 options sont cochées dans les préférences du Finder pour la barre latérale partagée (Retour à mon Mac, serveurs connectés et ordinateurs Bonjour)


Consommer le service de carte dans une carte Web

Dans cette section du didacticiel, vous utiliserez Map Viewer pour afficher et interagir avec votre service de carte sur le Web. Map Viewer est hébergé sur ArcGIS.com et peut être déployé directement via le répertoire des services ArcGIS Server. Il ne nécessite aucun travail de configuration ou de programmation pour que Map Viewer soit opérationnel.

Vous pouvez également configurer le répertoire des services ArcGIS Server pour ouvrir la carte dans ArcGIS Enterprise au lieu d'ArcGIS Online . Pour voir les étapes de configuration, consultez la rubrique Connecter le répertoire des services ArcGIS Server à votre portail.

Pour commencer, suivez ces étapes.

En règle générale, il se trouve à l'adresse http://gisserver.domain.com:6080/arcgis/rest/services . Vous pouvez également accéder au répertoire des services en ouvrant le raccourci installé avec ArcGIS Server .

Si vous ne voyez pas votre service de carte, il se trouve peut-être dans l'un des dossiers répertoriés dans le répertoire des services.

Une nouvelle fenêtre (ou onglet) s'ouvre, affichant Map Viewer . L'affichage de Map Viewer est agrandi jusqu'à l'étendue de votre service de carte.

Vous pouvez également changer la couche de fond de carte pour compléter de manière plus appropriée le contexte de votre carte.


Comment installer MS4W¶

Mise à niveau à partir d'une ancienne version de MS4W¶

Si vous avez déjà installé MS4W, procédez comme suit :

  • ouvrez une fenêtre de commande DOS et exécutez le fichier '/ms4w/apache-uninstall.bat' sur la ligne de commande. Ce fichier arrêtera et désinstallera votre service Apache. Vous devriez voir le message suivant clignoter dans la fenêtre de commande :
  • votre ancien service apache a maintenant été supprimé
  • assurez-vous qu'aucun fichier ou autre service ne pointe vers votre dossier ms4w. Si votre navigateur est actuellement ouvert et que vous consultez une page ms4w, vous ne pourrez pas renommer le dossier ms4w. Par conséquent, vous devez fermer tous les documents ms4w, toutes les fenêtres du navigateur ms4w… assurez-vous qu'aucun fichier en cours d'exécution ne pointe vers le dossier ms4w.
  • renommer l'ancien dossier ms4w en quelque chose comme "ms4w-old"
  • extrayez le fichier ms4w_xx.zip à la racine d'un lecteur sur votre machine
  • en cas de succès, vous devriez avoir un nouveau répertoire nommé 'ms4w' à la racine du lecteur que vous avez choisi (par exemple C:/ms4w ou D:/ms4w ).
  • suivez le reste des instructions d'installation dans /ms4w/README_INSTALL.txt pour démarrer Apache…

Extraire MS4W pour la première fois¶

Veuillez lire les instructions suivantes avant de commencer votre installation.

Pour installer le fichier .zip MS4W, utilisez un programme de compression (par exemple 7zip) pour extraire le package à la racine d'un lecteur, par exemple le lecteur C:/. En cas de succès, vous devriez avoir un nouveau répertoire nommé « ms4w » à la racine du lecteur que vous avez choisi (par exemple, C:/ms4w).

Si vous utilisez le programme d'installation setup.exe : Certaines applications peuvent avoir un problème si vous installez MS4W dans un chemin contenant des espaces. Il n'est donc pas recommandé d'installer MS4W dans un chemin contenant des espaces. Il est toujours préférable d'installer MS4W à la racine d'un lecteur, tel que C:/ ou D:/

Assurez-vous de suivre les instructions du fichier local /ms4w/REQUIREMENTS.txt pour installer le redistribuable C++ sur votre système avant de continuer.

Démarrez votre serveur Web Apache MS4W en exécutant /ms4w/apache-install.bat (ouvrez une fenêtre d'invite de commande et exécutez-la sur la ligne de commande - il n'est pas recommandé de simplement double-cliquer sur le fichier). Ce fichier installe Apache en tant que service Windows (appelé « Apache Web Server ») afin qu'il démarre à chaque redémarrage de votre machine. Lorsqu'il est exécuté, le message suivant doit s'afficher dans la fenêtre de commande :

Cela signifie qu'Apache est en cours d'exécution et installé en tant que service.

Remarque pour les utilisateurs de Windows 10, 8, 7 et Vista :

Pour exécuter le fichier apache-install.bat, vous devez procéder comme suit :

  1. Dans l'explorateur Windows, allez à l'emplacement de votre fichier cmd.exe (C:/Windows/System32)
  2. Cliquez avec le bouton droit sur l'exécutable cmd.exe et choisissez Exécuter en tant qu'administrateur
  3. Accédez à votre dossier ms4w dans la fenêtre d'invite de commande et exécutez apache-install.bat

Pour tester qu'Apache fonctionne correctement, ouvrez votre navigateur Web et recherchez votre service Web hôte local en saisissant l'une des URL suivantes :

Vous devriez maintenant voir la page principale MS4W dans votre navigateur Web. Cela vous donne des informations générales sur votre installation ainsi que des informations de configuration. Si c'est la première fois que vous utilisez MS4W, il est très important que vous passiez en revue les « fonctionnalités » répertoriées installées dans MS4W et que vous les testiez en sélectionnant chaque lien trouvé sur cette page.

Techniquement, à ce stade, MS4W est installé ! Cependant, comme vous l'avez peut-être remarqué sur la page principale index.html de MS4W, aucune application n'est en cours d'exécution. Cela signifie qu'aucune application Web comme GeoMoose ou OpenLayers ne se trouve dans le répertoire accessible par le Web de MS4W, /ms4w/apps/. Les applications Web configurées pour MS4W sont disponibles sur https://ms4w.com/release/apps/ sous forme de fichiers zip séparés.

Pour installer ces applications Web dans /ms4w/apps/, il suffit de décompresser le fichier compressé de l'application Web dans le même répertoire racine que MS4W (par exemple, C:/).

Deux choses devraient se produire lors de la décompression de ce fichier. Tout d'abord, le répertoire de l'application Web doit apparaître dans /ms4w/apps/. Deuxièmement, un nouveau fichier httpd_*.conf doit être ajouté à /ms4w/httpd.d/httpd_*.conf. (Le répertoire /httpd.d/ contient des fichiers de configuration Apache qui définissent quels fichiers sur votre ordinateur/serveur sont accessibles via le Web. Pour chaque application Web que vous installez, un nouveau fichier de configuration sera trouvé.)

Les définitions de ces répertoires accessibles sur le Web sont appelées alias Web. Pour activer un alias Web, vous devez redémarrer Apache. Pour tester votre dernière application installée, accédez à la page MS4W principale index.html (c'est-à-dire http://localhost/). Dans la section des applications, vous devriez maintenant trouver un lien vers l'application que vous venez d'installer. Sélectionnez le lien vers l'application récemment installée pour voir si elle est correctement configurée. Une autre option consiste à rechercher l'alias Web de votre application et à l'appeler directement depuis votre navigateur Web. Par exemple, si vous avez installé la dernière version MS4W de GeoMoose, l'alias Web est « geomoose2 ». Pour accéder à la page d'index GeoMoose, entrez simplement http://localhost/geomoose2/.

Remarque : Les applications avec des fichiers de configuration (par exemple, GeoMoose et OpenLayers) ne nécessitent généralement aucune modification de leurs fichiers pour fonctionner. Décompressez simplement à la racine du pilote approprié et redémarrez Apache.

AVERTISSEMENT : il est très possible que vous souhaitiez (mais pas encouragé !) exécuter plusieurs versions du même produit. Par exemple, GeoMoose 2.8.0 vs GeoMoose 2.8.1. Lors de l'installation de ces packages d'applications ms4w GeoMoose, vous remarquerez lors de la décompression de GeoMoose que le fichier httpd_geomoose2_ms4w.conf trouvé sous ./ms4w/httpd.d/ sera écrasé par le GeoMoose que vous installez actuellement. La raison en est que l'alias GeoMoose reste le même d'une version à la nouvelle version de GeoMoose. Ainsi, si vous écrasez le fichier httpd_geomoose2_ms4w.conf lors de la décompression puis redémarrez Apache, vous obtiendrez la dernière version de GeoMoose que vous venez d'installer. Pour exécuter les deux versions de GeoMoose, suivez simplement les instructions de l'étape 7.

Vous pouvez également créer de nouveaux alias Web. Pour configurer vos propres alias Web personnels, suivez les instructions dans /ms4w/httpd.d/README_HTTPD.txt

Plugins MapServer¶

Oracle 10g & 11g & 12c¶

Étapes pour activer la prise en charge d'Oracle 10g ou 11g ou 12c dans MS4W¶

La prise en charge d'Oracle Spatial dans MapServer est gérée par deux méthodes : 1) nativement dans MapServer, ou 2) via la bibliothèque GDAL.

Assurez-vous que le logiciel client Oracle 10g ou 11g ou 12c est installé sur votre machine (la même machine sur laquelle vous exécutez MS4W).

Le package MS4W par défaut étant 32 bits, vous devez installer le client Oracle 32 bits, afin de permettre à MapServer et ses outils de communiquer avec Oracle (même si le serveur Oracle est x64). Si vous avez besoin d'une version MS4W personnalisée x64 complète, veuillez contacter GatewayGeo.

Pour un accès direct à Oracle Spatial, remplacez le fichier libmap.dll existant dans /ms4w/Apache/cgi-bin/ par celui du dossier /ms4w/msplugins/oracle/.

Si cela réussit, exécutez ce qui suit sur la ligne de commande (après avoir défini /ms4w/setenv.bat) « mapserv -v » devrait renvoyer une chaîne contenant « INPUT=ORACLESPATIAL ».

Il est possible que MapServer/Apache ait du mal à localiser votre dll client Oracle (oci.dll). Si vous rencontrez des problèmes de connexion, essayez de copier votre oci.dll (éventuellement à partir d'un chemin tel que /oracle/product/12.1.0/client/BIN) dans le répertoire cgi-bin (/ms4w/Apache/cgi-bin/)

La définition des variables d'environnement Windows ORACLE_HOME et TNS_ADMIN aidera MapServer/GDAL à se connecter à votre instance Oracle.

Pour accéder à Oracle Spatial via la bibliothèque GDAL, déplacez le fichier de plug-in ogr_OCI.dll de /ms4w/gdalplugins/ignored/oracle12/ vers /ms4w/gdalplugins/

Si cela réussit, exécutez ce qui suit sur la ligne de commande (après avoir défini /ms4w/setenv.bat) « ogrinfo –formats » devrait répertorier le pilote OCI.

Redémarrez Apache pour plus de sécurité.

Pour la configuration du fichier map, voir https://mapserver.org/input/vector/oracle.html (notez que la syntaxe LAYER diffère selon que vous utilisez un accès natif ou via GDAL). Voici quelques exemples:

Dans le paramètre CONNECTION, vous pouvez spécifier un H HTE ou un PORT différent avec la syntaxe : "OCI:nom d'utilisateur/mot de passe@host:port/SID"

## Connectez-vous via le type OracleSpatial de MapServer

Microsoft SQL Server 2008¶

Un pilote MapServer natif en lecture seule qui se connecte aux capacités spatiales de Microsoft SQL Server 2008 est disponible dans MS4W à partir de la version 2.3.0.

Étapes pour activer la prise en charge de SQL Server 2008 dans MapServer de MS4W¶

Le plugin existe dans /ms4w/msplugins/mssql/msplugin_mssql2008.dll

Modifiez votre couche SQL Server 2008 dans votre mapfile pour utiliser le paramètre CONNECTIONTYPE PLUGIN et pointez sur le plug-in approprié à l'aide du paramètre PLUGIN. Utilisez le paramètre CONNECTION pour spécifier les paramètres de connexion requis pour accéder à SQL Server et utilisez le paramètre DATA pour spécifier la table qui contient les informations spatiales :

Testez votre couche, éventuellement en utilisant l'utilitaire de ligne de commande shp2img avec le commutateur '-all_debug 5'

Le document RFC associé aux notes originales sur ce support est le RFC 38

Configuration MapScript¶

MS4W >= 1.5.0 inclut des fichiers de support prédéfinis pour CSharp, Java, PHP et Python mapscript. Cependant, pour pouvoir les utiliser, ils doivent être installés et configurés aux emplacements appropriés sur votre système.

CSharp¶

  1. Les fichiers se trouvent dans /ms4w/msplugins/mapscript/csharp
  2. Voir https://mapserver.org/installation/dotnet.html pour les notes d'installation.
  3. En savoir plus sur l'API SWIG MapScript sur https://mapserver.org/mapscript/mapscript.html
  1. Les fichiers se trouvent dans /ms4w/msplugins/mapscript/java
  2. En savoir plus sur l'API SWIG MapScript sur https://mapserver.org/mapscript/mapscript.html

Depuis la version MS4W 4.0.0, PHPMapScript utilise l'API SWIG MapScript.

  1. PHPMapScript dll se trouve dans /ms4w/Apache/php/ext
  2. Le fichier de configuration de PHP « php.ini » se trouve dans /ms4w/Apache/cgi-bin
  3. PHPMapScript est chargé par défaut
  4. Depuis la version MS4W 4.0.0, l'extension PHPMapScript utilise l'API SWIG MapScript (voir la documentation de l'API SWIG MapScript sur https://mapserver.org/mapscript/mapscript.html)
  5. Tous vos scripts PHP doivent désormais toujours inclure d'abord le fichier mapscript.php contenant les constantes MapServer :
  1. Testez cette syntaxe avec le fichier quickmap.php fourni dans /ms4w/Apache/htdocs/quickmap.php (voir les instructions d'utilisation en haut de ce fichier)

Python¶

Utilisation de l'installation Python packagée¶

Depuis MS4W 4.0, Python est distribué dans le cadre de l'installation de base de MS4W. Pour appeler Python, ouvrez une fenêtre d'invite de commande et cd vers /ms4w/, puis exécutez setenv.bat . Vous devriez voir s'afficher un message tel que :

Ensuite, dans la même fenêtre, exécutez python --version . Vous devriez voir une réponse telle que :

Vous pouvez ensuite mettre à niveau pip (outil de système de gestion de packages de Python) en tant que :

Et installez des packages et des versions spécifiques via pip tels que :

Depuis MS4W 4.0, Python MapScript est déjà installé pour vous (vous pouvez voir les fichiers mapscript dans /ms4w/Python/Lib/site-packages ). Vous pouvez passer aux étapes « Test de la configuration » ci-dessous.

Installation des fichiers de support Python Mapscript¶

Avertissement

Les fichiers de support Python mapscript inclus dans cette distribution sont construit pour Python 3.9.x ils ne fonctionneront pas avec les versions Python 2.7. Il est fortement recommandé d'utiliser l'instance Python qui est distribuée dans MS4W (à /ms4w/Python/ ).

Rapide et sale (à utiliser avec ms4w uniquement)¶
  1. Décompressez /ms4w/msplugins/mapscript/python/mapscript*win32.zip dans un endroit sûr
  2. Dans la structure de répertoires résultant de l'étape ci-dessus, accédez à /Python-3.9.x/Lib/site-packages
  3. Vous devriez y trouver 3 fichiers :
    • _mapscript.cp39-win32.pyd
    • mapscript.py
    • mapscript-<version>-py3.9.egg-info
  4. Copiez les 3 fichiers dans le répertoire /ms4w/Apache/cgi-bin.
  5. Placez tous les scripts python cgi que vous souhaitez exécuter sous ms4w dans le répertoire /ms4w/Apache/cgi-bin et ajoutez une ligne "shebang" en haut de chaque script. Voir la section sur la configuration d'Apache pour exécuter des scripts Python ci-dessous pour plus de détails sur la ligne shebang.
Plus robuste (pour un accès à l'ensemble du système)¶
  1. Décompressez /ms4w/msplugins/mapscript/python/mapscript*win32.zip dans un endroit sûr
  2. Dans la structure de répertoires résultant de l'étape ci-dessus, accédez à /Python-3.9.x/Lib/site-packages
  3. Vous devriez y trouver trois fichiers :
    • _mapscript.cp39-win32.pyd
    • mapscript.py
    • mapscript-<version>-py3.9.egg-info
  4. Copiez les trois fichiers dans le répertoire site-packages de votre installation Python 3.9.x (par exemple, C:/ms4w/Python/Lib/site-packages )
  5. Ajoutez <drive_letter>:/ms4w/Apache/cgi-bin à la variable d'environnement PYTHONPATH de votre système.
Configurer Apache pour exécuter des scripts Python¶

Depuis MS4W 4.0, mod_wsgi est installé pour vous. (vous pouvez voir les fichiers mod_wsgi dans /ms4w/Python/Lib/site-packages ). Pour configurer le module, éditez /ms4w/Apache/conf/httpd.conf et recherchez la section "mod_wsgi settings" autour de la ligne # 620

Vous avez quelques options supplémentaires ici :

Via les lignes shebang¶

Cela peut être l'approche préférée si vous avez plusieurs installations Python sur votre machine.

Ajoutez une "ligne shebang" en haut de chaque script python cgi dans /ms4w/apache/cgi-bin . Cette ligne doit être la première ligne du script et doit commencer par # ! suivi du chemin d'accès à l'exécutable python de votre système. Par exemple:

L'option -u indiquée ci-dessus oblige le script à utiliser une sortie sans tampon, ce qui est généralement ce dont vous avez besoin dans les contextes de serveur Web.

Via les directives Apache¶

Cette approche évite d'avoir à modifier chaque script python dans votre répertoire cgi-bin, mais cela peut être problématique si vous avez plusieurs installations Python.

Ajoutez la ligne suivante à la fin de ms4w/Apache/conf/httpd.conf :

Vous pouvez également ajouter ceux-ci :

La première des lignes ci-dessus oblige vos scripts python à utiliser une sortie sans tampon (ce que vous souhaitez probablement), tandis que la seconde transmet la valeur de la variable d'environnement PYTHONPATH de votre système à l'environnement d'Apache (si défini).

Tester la configuration¶

Suivez ces étapes pour tester votre installation Python MapScript :

Déplacez le fichier /ms4w/msplugins/mapscript/python/test-cgi-mapscript.py dans le dossier /ms4w/Apache/cgi-bin/.

Ouvrez le fichier dans un éditeur de texte.

Modifiez la première ligne de ce script pour pointer vers votre chemin Python approprié.

Le script teste que le Python CGI fonctionne et que le module mapscript peut être importé avec succès.

En cas de succès, vous verrez une page HTML répertoriant plusieurs paramètres d'environnement sur votre machine, ainsi qu'une liste des attributs du module Python MapScript en bas de la page.

  • Si vous obtenez une erreur de serveur interne, vérifiez les journaux Apache pour plus d'informations.
  • Assurez-vous que votre script pointe vers un chemin d'installation Python valide.
  • Assurez-vous d'utiliser une version récente de Python (contenant le module cgitb).
Documentation Python MapScript¶

Python MapScript est géré via l'API SWIG pour MapServer : https://mapserver.org/mapscript/mapscript.html

Plugins GDAL¶

Oracle¶

Consultez la section précédente pour configurer GDAL pour les connexions Oracle : Étapes pour activer la prise en charge d'Oracle 10g ou 11g ou 12c dans MS4W

Depuis MS4W 3.2.0, un ancien SDK ECW version 3.3 est utilisé pour lire et afficher les fichiers ECW dans MS4W. Si vous avez besoin de fonctionnalités plus récentes du nouveau SDK v5+, veuillez contacter GatewayGeo pour un devis de construction personnalisé.

Étapes pour activer la prise en charge ECW dans MS4W¶

Pour accéder aux fichiers ECW via la bibliothèque GDAL, déplacez le gdal_ECW_JP2ECW.dll plugin depuis /ms4w/gdalplugins/ecw/ dans /ms4w/gdalplugins/

Si cela réussit, exécutez ce qui suit sur la ligne de commande (après avoir défini /ms4w/setenv.bat) « gdalinfo –formats » devrait répertorier les pilotes « ECW » et « JP2ECW ».

Dans la même fenêtre de commande, utilisez gdalinfo pour vérifier que votre fichier ECW spécifique peut être lu :

devrait retourner quelque chose comme :

Pour l'affichage dans MapServer, après avoir déplacé le plugin, suivez le document Raster Data standard. Voici un exemple de configuration de mapfile :

Fixations GDAL¶

MS4W contient des liaisons GDAL pour CSharp, Java et Python, et se trouvent dans /ms4w/gdalbindings

Utilisation du module Python GDAL¶

Depuis la version MS4W 4.0, Python est inclus dans la base MS4W (après avoir exécuté setenv.bat, vous pouvez appeler Python). Si vous avez plutôt votre propre instance Python : Python 3.9 est requis pour le module Python GDAL dans MS4W, et vous devez avoir C:/python-3.9.x dans votre PATH pour utiliser les utilitaires.

Le module Python GDAL et ses utilitaires sont installés dans /ms4w/gdalbindings/python/gdal/ . Pour exécuter les utilitaires :

  1. Ouvrir une fenêtre d'invite de commandes
  2. cd ms4w
  3. setenv.bat
  4. cd gdalbindings/python/gdal
  5. exécuter l'utilitaire python, tel que :
  • Le commutateur -n (nodata_value) nécessite le module NumPy (l'instance Python intégrée dans MS4W inclut déjà NumPy)
  • raster_copy_with_nodata() nécessite également le module NumPy (l'instance Python intégrée dans MS4W inclut déjà NumPy)

FastCGI¶

Pour utiliser FastCGI, vous devez effectuer les opérations suivantes :

Ouvrez /ms4w/Apache/conf/httpd.conf dans un éditeur de texte

Décommentez la ligne n°178, par exemple :

Au bas du fichier, vous verrez une section commentée "<IfModule fcgid_module>". Si vous souhaitez utiliser les directives FastCGI (listées sur la page mod_fcgid), vous pouvez décommenter la section et ajouter vos directives, telles que :

Si vous vous connectez à une base de données Oracle à l'aide de FastCGI, vous devez également ajouter votre répertoire Oracle Bin (où le fichier 'oci.dll' existe) à la variable PATH ci-dessus, par exemple :

Enregistrez le fichier et redémarrez apache (exécutez /ms4w/apache-restart.bat)

Modifiez votre application CGI pour pointer vers "/fcgi-bin/mapserv.exe" au lieu de l'habituel "/cgi-bin/mapserv.exe"

Ajoutez le paramètre suivant à votre couche pour laquelle vous souhaitez cette connexion FastCGI :

Essayez l'application. En cas de succès, vous devriez voir le processus "mapserv.exe" dans le Gestionnaire des tâches de Windows rester ouvert pendant que l'utilisateur interagit avec votre application.

  • lors des tests, cela a été un succès avec PostgreSQL 9.0.4 / PostGIS 1.5.2 et avec Oracle 10.2.0.1.0.
  • les notes générales de MapServer et FastCGI peuvent être trouvées dans le FastCGI Howto.

Modules Apache¶

Module Apache MapCache¶

Le module MapCache Apache et les utilitaires de ligne de commande mapcache (à partir de MS4W 3.1.0) sont inclus. Pour utiliser le module MapCache Apache, vous devez effectuer les opérations suivantes :

Pour plus d'informations sur le pack de certificats HTTPS inclus dans MS4W et des conseils spécifiques pour MapCache, consultez la section Certificats pour HTTPS plus loin de ce document.

Ouvrez /ms4w/Apache/conf/httpd.conf dans un éditeur de texte

Décommentez la ligne n°184 et remplacez-la par votre chemin correct, par exemple :

Autour de la ligne n°412 de votre fichier httpd.conf, vous verrez une section "<IfModule mapcache_module>". Modifiez le chemin d'accès au fichier de configuration MapCache (XML) inclus, par exemple :

Modifiez le fichier mapcache.xml. Veuillez consulter les documents MapCache associés pour obtenir de l'aide.

Enregistrez votre fichier httpd.conf et redémarrez apache (exécutez /ms4w/apache-restart.bat)

Si le module a été chargé avec succès, votre fichier /ms4w/Apache/logs/error_log.txt devrait contenir un message semblable à :

Testez votre configuration MapCache en suivant les étapes de la documentation de test MapCache associée

L'utilitaire d'amorçage MapCache est également inclus. Pour exécuter le fichier mapcache_seed.exe, assurez-vous d'abord d'exécuter le fichier /ms4w/setenv.bat dans votre fenêtre de commande.

  1. L'utilitaire de détail MapCache est également inclus. Pour exécuter le fichier mapcache_detail.exe, assurez-vous d'abord d'exécuter le fichier /ms4w/setenv.bat dans votre fenêtre de commande.

ce module a été testé avec les types de cache : disk, sqlite, tiff et berkeleyDB. Vous devez suivre les documents MapCache Cache Types pour obtenir de l'aide, ou contacter GatewayGeo pour obtenir de l'aide/des builds/configurations personnalisées.

le module a été testé sur Windows 10 si vous utilisez une ancienne version de Windows et avez besoin de ce module, vous devriez envisager de mettre à niveau, ou contactez GatewayGeo pour obtenir de l'aide/des versions/configurations personnalisées. .

comme ce module est encore en développement, les retours sont plus qu'encouragés, ils sont obligatoires. Veuillez envoyer vos questions MapCache à la liste de diffusion des utilisateurs de MapServer. Nous vous encourageons également à contacter directement GatewayGeo pour des versions personnalisées et pour aider à financer le développement et la maintenance de MS4W.

Module Apache mod_wsgi¶

Le module Apache mod_wsgi est inclus, à partir de la version MS4W 4.0.0. Les étapes suivantes expliquent comment configurer le module Apache mod_wsgi :

Ouvrez /ms4w/Apache/conf/httpd.conf dans un éditeur de texte

Autour de la ligne n°621, assurez-vous que les chemins sont corrects, tels que :

Enregistrez votre fichier httpd.conf et redémarrez apache (exécutez /ms4w/apache-restart.bat)

Si le module a été chargé avec succès, votre fichier /ms4w/Apache/logs/error_log.txt devrait contenir un message semblable à :

Pour tester qu'Apache a chargé le module, à votre invite de commande, cd dans le /ms4w/Apache/bin/ annuaire. Ensuite, exécutez la commande suivante :

Vous devriez voir une liste des modules chargés, et mod_wsgi devrait être répertorié vers la fin, par exemple :

Vous pouvez utiliser votre explorateur de fichiers et voir les fichiers mod_wsgi dans le dossier : /ms4w/Python/Lib/site-packages

Module de diffusion en continu H264 pour Apache¶

Le module de streaming H264 est inclus pour Apache (à partir de MS4W 3.1.0). L'une des fonctionnalités de ce module permet à vos spectateurs de passer immédiatement à n'importe quelle partie de la vidéo, quelle que soit la durée de la vidéo ou si elle a déjà été téléchargée. Pour utiliser le module de streaming H264, vous devez procéder comme suit :

Ouvrez /ms4w/Apache/conf/httpd.conf dans un éditeur de texte

Décommentez la ligne 183, par exemple :

Autour de la ligne n°608 de votre fichier httpd.conf, vous verrez une section "<IfModule h264_streaming_module>". Vous pouvez laisser cette section telle quelle (aucune modification n'est nécessaire) :

Enregistrez votre fichier httpd.conf et redémarrez Apache (exécutez /ms4w/apache-restart.bat)

Pour tester qu'Apache a chargé le module, à votre invite de commande, cd dans le /ms4w/Apache/bin/ annuaire. Ensuite, exécutez la commande suivante :

Vous devriez voir une liste des modules chargés, et le module de streaming H264 devrait être répertorié vers la fin, par exemple :

Pour tester le module sur un fichier vidéo réel :

Copiez le fichier dans le dossier /ms4w/Apache/htdocs/

Ouvrez une fenêtre d'invite de commande et cd dans /ms4w/ et exécuter setenv.bat

Exécutez la commande suivante dans cette même fenêtre :

Vous devriez voir une réponse comme suit (notez la mention du "X-Mod-H264-Streaming" et aussi que la taille de la vidéo est très petite (cliquez sur le fichier enregistré maintenant dans /ms4w/mapserver-6-0- visualization.mp4 et visualisez-le, seules les 5 premières secondes de la vidéo doivent être chargées) :

  • la vidéo diffusée ne doit durer que 5 secondes (si la vidéo entière est affichée, il y a un problème avec la configuration du module)
  • expérimenter avec les paramètres « début » et « fin » de l'URL

Apache mod_rewrite & mod_alias Utilisation¶

Comme décrit précédemment, MS4W est conçu pour que vous puissiez facilement inclure les paramètres Apache de votre application dans le dossier /ms4w/httpd.d/ (voir le README_HTTPD.txt dans ce dossier pour plus d'informations). Les exemples suivants utiliseront l'application MS4W "MapServer CGI Viewer" existante. Les paramètres Apache de la visionneuse CGI sont stockés dans le fichier "httpd_cgi_viewer.conf" dans le dossier /ms4w/httpd.d/. Le contenu du fichier est :

Si vous préférez apporter vos modifications à votre application directement dans le fichier /ms4w/Apache/conf/httpd.conf, vous pouvez, ou également les inclure dans un fichier .htaccess dans le dossier de votre application.

Disons que l'un des noms de fichiers a changé (de "viewer-index.html" à "ttt.html"), mais nous voulons nous assurer que l'ancienne URL fonctionne. MS4W charge le module mod_rewrite par défaut (en savoir plus sur mod_rewrite : https://httpd.apache.org/docs/2.4/rewrite/), nous pouvons donc ajouter quelques lignes dans notre « httpd_cgi_viewer.conf » pour appeler cette réécriture, par exemple comme:

Nous pouvons également utiliser la directive Redirect via le module mod_alias, qui est chargé par MS4W par défaut (en savoir plus sur mod_alias sur https://httpd.apache.org/docs/2.4/mod/mod_alias.html) comme :

Assurez-vous de toujours redémarrer le service Apache après toute modification apportée aux fichiers de configuration (exécutez apache-restart.bat sur la ligne de commande, après avoir exécuté setenv.bat dans la même fenêtre)

TinyOWS¶

TinyOWS et les données de démonstration sont inclus (à partir de MS4W 3.1.0), vous offrant une prise en charge complète de WFS-Transaction (modification des données dans une carte MS4W qui est ensuite enregistrée dans la base de données sous-jacente). Pour utiliser TinyOWS, vous devez effectuer les opérations suivantes :

Assurez-vous que PostgreSQL et PostGIS sont installés localement ou que vous disposez des détails de connexion pour y accéder à distance. Cela a été testé avec PostgreSQL 13.1 et PostGIS 3.0.3

Nous devons d'abord créer une base de données et charger des exemples de données :

Ouvert /ms4w/apps/tinyows/demo/install-demo-data.bat dans un éditeur de texte

Si nécessaire, modifiez le PG-PORT, PG-SUPERUSER-NAME, et PG-SUPERUSER-MOT DE PASSE for your installation (lines

Open a Command prompt window, and cd into /ms4w/ and execute setenv.bat

cd into /ms4w/apps/tinyows/demo/ and execute the following in that same window:

Verify that a new database was created (“tinyows”), and that there is a spatial table (“frida”).

You can use QGIS to view your new “frida” PostGIS layer (through Layer/Add Layer /Add PostGIS Layers )

Next we must configure TinyOWS:

Open /ms4w/apps/tinyows/config.xml in a text editor

If necessary, modify the online_resource et pg connection parameters, for your installation. Refer to the TinyOWS documentation for parameter descriptions. Save your changes.

to test this configuration, in the same Command prompt window, execute the following (change the drive path if necessary):

once that is set, execute the following in the same Command prompt window to see details about your TinyOWS configuration:

the response should be something like:

Note that Apache sets this same environment variable TINYOWS_CONFIG_FILE in the file /ms4w/httpd.d/httpd_tinyows.conf

Next we should configure the demo HTML application:

  • Open /ms4w/apps/tinyows/demo/tinyows.js in a text editor
  • Verify that urls (such as http://127.0.0.1) used there are correct: see lines 65 & 69

Finally we are ready to test a WFS-T transaction to your database:

in a Web browser, goto http://127.0.0.1/tinyows/demo/tinyows.html (or modify that address if need be)

click on the “Draw Feature” icon on the top-right of the map, and click anywhere on the map to generate a polygon (to close the polygon double-click).

now click on the “Save Changes” icon, you should see a message in the right panel of that page as:

Changes to the “frida” layer should be saved to the database.

Pycsw¶

pycsw catalogue server is included in the base MS4W installer, as of the MS4W 4.0 release, giving you a lightweight metadata publisher, that runs through MS4W’s embedded Python instance. Through pycsw you can not only serve your metadata catalogue, but also harvest other remote OGC services (WMS, WFS, WCS, WPS, etc.), as well as remotely edit your metadata repository (through CSW-T transactions). Here are some important notes on this pycsw instance:

pycsw runs through the mod_wsgi Apache Module (see around line#626 of the file /ms4w/Apache/conf/httpd.conf). Please see that section for mod_wsgi configure instructions.

pycsw can alternatively be configured to run through CGI, instead of through mod_wsgi:

comment the mod_wsgi section around line#626 of the file /ms4w/Apache/conf/httpd.conf as:

uncomment the CGI section around line#635 of the file /ms4w/Apache/conf/httpd.conf as:

restart the Apache service (execute /ms4w/apache-restart.bat)

You can configure this sample service, in the file “default.cfg”, and you can find the path to it on line#629 of the file: /ms4w/Apache/conf/httpd.conf (look for the “PYCSW_CONFIG” setting there). For definitions of the parameters see pycsw’s configuration guide.

You must restart the Apache service after each change to that .cfg file. (execute /ms4w/apache-restart.bat)

A sample CSW service is pre-configured for you, and the GetCapabilities request is: http://127.0.0.1/pycsw?service=CSW&version=3.0.0&request=GetCapabilities

You can use the QGIS “MetaSearch” plugin to access your local MS4W catalogue (through the menu Web/MetaSearch/MetaSearch ). Create a new “Service” entry there with the URL: http://127.0.0.1/pycsw

To use the “pycsw-admin.py” utility:

  • open a Command window
  • cd ms4w
  • setenv.bat
  • cd apps/pycsw-xxx
  • python bin/pycsw-admin.py -h

For usage parameters of the admin utility see pycsw’s administration guide.

ZOO-Project¶

ZOO-Project Web Processing Server is included as an add-on package, as of the MS4W 4.0 release, giving you a full WPS server, that runs through MS4W’s Apache instance. Here are some important notes on this ZOO-Project WPS instance and its many compiled services:

  1. Please see your local MS4W homepage (http://127.0.0.1) for a working list of GetCapabilities, DescribeProcess, and Execute requests for the various WPS services.

Important

Since 2020-01-30 a local demo is included, leveraging ZOO-Project’s vector-based spatial analysis, through OGR services. You can find the demo linked on your local MS4W homepage (as “local OGR Services demo”).

The following support has been compiled into the ZOO-Project kernel, as part of MS4W:

  • MapServer support (official docs)
  • PHP support (official docs)
  • Python support (official docs)
  • C# Mono support (official docs) see note below to enable
  • Java support (official docs) see note below to enable
  • GDAL and OGR support (official docs)
  • Status service support (official docs)

If you require a specific WPS service support, or a specific version support, that is not part of the base MS4W, please contact GatewayGeo.

The ZOO kernel configuration file main.cfg can be found in /ms4w/Apache/cgi-bin/ . For definitions of the parameters see the configuration guide.

Individual ZOO service configuration files (.zcfg) can also be found in /ms4w/Apache/cgi-bin/ . For definitions of the parameters see the services configuration guide.

To enable C# Mono support you are required to do the following:

  • move the zoo_loader.cgi plugin file up from /ms4w/Apache/cgi-bin/zooplugins/mono/ into /ms4w/Apache/cgi-bin/

  • add the following to your main.cfg file, pointing to your local installation of Mono:

To enable Java support you are required to do the following:

  • move the zoo_loader.cgi plugin file up from /ms4w/Apache/cgi-bin/zooplugins/java/ into /ms4w/Apache/cgi-bin/

  • add the following to your main.cfg file, pointing to your local installation of JDK:

Certificates for HTTPS¶

As of MapServer 5.4.1, MapServer can connect through HTTPS connections to WMS/WFS servers. MS4W 3.0 (and newer) includes the necessary configuration as follows:

Certificate authority bundle is included in /ms4w/Apache/conf/ca-bundle/cacert.pem

Apache’s httpd.conf points to the ca-bundle:

MS4W’s MapCache module will check for this CURL_CA_BUNDLE value set in Apache’s httpd.conf, and in the instances that it cannot find the value (which occurs on some x64 systems) it will check for the following hardcoded paths, in this order:

MS4W’s setenv.bat points to the ca-bundle:

MS4W’s php.ini points to the ca-bundle:

For more information on SSL certificates, see: http://curl.haxx.se/docs/sslcerts.html

To setup MapServer as a client to access a remote WMS/WFS server through HTTPS see: https://mapserver.org/ogc/wxs_secure.html

To enable HTTPS for your server host (to serve its own certificate, for your domain such as https://mydomain.com), you can use “win-acme” at https://www.win-acme.com/ Here are some important tips specifically related to win-acme:

be sure to set the SavePrivateKeyPem option in win-acme’s settings.config to True

edit your httpd.conf and around line#176 be sure to uncomment the line:

change the ServerName parameter in httpd.conf around line#226 to your domain such as:

add the following to the bottom of your httpd.conf (edit the paths to your generated certificate files):

restart Apache (execute /ms4w/apache-restart.bat)

use a tool to verify your certificate such as https://www.ssllabs.com/ssltest/

Troubleshooting¶

Warning: dl(): Unable to load dynamic library ‘/ms4w/Apache/php/extensions/php_mapscript.dll’

Verify that the dll in question exists in the specified location (/ms4w/Apache/php/extensions/). If this dll is not in that location, you might have to modify the application to point to a different version of the dll (e.g. you might have php_mapscript.dll in the extensions directory, and your application might be configured for php_mapscript_48.dll which is not in the extensions directory).

This php_mapscript dll requires several other dlls, and the problem may be that one is missing on your system. In order to hopefully get more information on what dll is missing, go to a command prompt, and do the following:

A windows error window should open with a message like:

Locate this missing dll and copy it either to /ms4w/Apache/cgi-bin/ or your system32 folder.

If you are still unsure what dll is causing this unable to load dynamic library error, a useful utility to find what associated dlls are missing on your system is Dependency Walker. Download the utility, execute the exe, and open your php_mapscript dll.

The Program can’t start because MSVCRxxx.dll is missing from your computer

Please follow the instructions included locally inside the document /ms4w/REQUIREMENTS.txt to install the C++ Redistributable.

Clicking on apache-install.bat flashes a DOS window and does not install the service

To see the exact error message, open a Command window, and execute the ‘apache-install.bat’ file from a DOS prompt.

Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down

Apache with MS4W is configured to use port 80. Your system might be already using this port (IIS could cause this for example). If you want to change the port that Apache uses modify the following file:

TCPView is an example of shareware that lets you see how the ports on your machine are being used.

The procedure entry point xxxx could not be located in the dynamic link library xxx.dll

Make sure that MapServer (or the utility that you are trying to use) is actually using the ‘xxx.dll’ file that is part of the MS4W package. You could be experiencing ‘dll hell’ (http://en.wikipedia.org/wiki/DLL_hell) where MS4W is actually finding an older dll on your system. Try renaming the other dll(s) of the same name, keeping the one in MS4W as is, and retrying your application/command.

Other Problems…

  1. Search the mailing list archives to see if someone has encountered/solved your same issue.
  1. If your issue has not been brought up on the mailing list and dealt with, submit a question to the MS4W mailing list. Include the steps to reproduce your problem, and state your exact error message. Also specify which version of MS4W you are using.

Modifying MS4W for an Installation not at the Drive Root¶

Do the following steps in a text editor:

  1. Open /ms4w/Apache/conf/httpd.conf and search for “/ms4w/” and replace with your new path from your drive root (such as “/Temp/ms4w/”)
  2. Open /ms4w/Apache/cgi-bin/php.ini and search for “/ms4w/” and replace with your new path from your drive root (such as “/Temp/ms4w/”)
  3. Open all files in /ms4w/httpd.d and search for “/ms4w/” and replace with your new path from your drive root (such as “/Temp/ms4w/”)
  4. Open /ms4w/setenv.bat and search for “/ms4w/” and replace with your new path from your drive root (such as “/Temp/ms4w/”)
  5. Configure your add-on packages, typically installed at /ms4w/apps/

Recommendation: avoid installing MS4W in a path that contains spaces

Installing the MS4W MapServer Binaries in Other Environments¶

The following instructions will help non-MS4W users who want to only use the MapServer binaries included in MS4W:

  1. Download and extract the MS4W base package locally from ms4w.com
  2. Do not install the Apache service (apache-install.bat)
  3. Copy the .dll files from the /ms4w/apache/cgi-bin/ directory into your desired cgi-bin directory:
  4. For PHP/Mapscript, goto /ms4w/Apache/php/ext/ and copy the php_mapscript.dll file into your own PHP extensions directory. CSharp, Java, and Python mapscript files can be found in /ms4w/msplugins/mapscript/
  5. For the commandline utilities that come with MS4W (mapserv, gdal, etc.) copy all of the .exe files from /ms4w/tools/ to a desired location, but be aware that these utilities use dlls that were installed in the cgi-bin directory. Therefore you must add your cgi-bin directory into your Windows PATH environment variable before running the utilities.
  6. Microsoft IIS users should refer to the IIS Howto for MapServer.

Using Custom EPSG Projections¶

Custom EPSG projections can be added to the bottom of your epsg file at /ms4w/proj/nad/epsg/ .

As of MS4W 3.0-beta11, previously included custom projections for Canada have been removed. Here is some of the history:

  • GatewayGeo officially applied to have the custom Canadian projection EPSG:42304 (common in Ontario and in the Atlas of Canada) included in the EPSG geodetic registry in 2009
  • the projection was accepted as EPSG:3978 in the EPSG geodetic registry on 2009-06-02
  • this new EPSG code is included in PROJ 4.7.0 release (2009-09)

For reference, here are the old custom Canadian EPSG codes:


Making the Site Your Own¶

Now that you have a working MapServer demo, you can use the demo to display your own data. Add new LAYER s to your Map file that refer to your own geographic data layers (you will probably want to delete the existing layers or set their status to OFF ).

Unless you are adding layers that fall within the same geographic area as the demo, modify MAP EXTENT to match the extent of your data. To determine the extent of your data, you can use ogrinfo. If you have access to a GIS, you could use that as well. The MAP EXTENT needs to be in the units of your output projection.

If you add geographic data layers with different geographical reference systems, you will need to modify your Map File to add a PROJECTION block to the MAP (defines the output projection / geographical reference system) and each of the LAYER s (defines the geographical reference system of the layer dataset).

Adding Data to Your Site¶

MapServer supports several data input formats ‘natively’, and many more if it is compiled with the Open Source libraries GDAL and OGR .

Vector Data¶

Vector data includes features made up of points, lines, and polygons. MapServer support the ESRI Shape format by default, but it can be compiled to support spatially enabled databases such as PostgreSQL-PostGIS, and file formats such as Geography Markup Language (GML), MapInfo, delimited text files, and more formats with OGR Vector Layers Through MapServer .

See the Vector Data reference for examples on how to add different geographic data sources to your MapServer project.

Raster Data¶

Raster data is image or grid data. Through GDAL, MapServer supports most raster formats - see the GDAL format list. More specific information can be found in the Raster Data reference .

Since version 6.2 MapServer relies on GDAL for all raster access.

Projections¶

Because the earth is round and your monitor (or paper map) is flat, distortions will occur when you display geographic data in a two-dimensional image. Projections allow you to represent geographic data on a flat surface. In doing so, some of the original properties (e.g. area, direction, distance, scale or conformity) of the data will be distorted. Different projections excel at accurately portraying different properties.

With MapServer, if you keep all of your spatial data sets in the same projection (or unprojected Latitude and Longitude), you do not need to include any projection info in your Map File. In building your first MapServer application, this simplification is recommended.

On-the-fly projection can be accomplished when MapServer is compiled with PROJ support. Instructions on how to enable PROJ support on Windows can be found on the Wiki.


2 réponses 2

Ok, maybe you are not understanding what happens here. When you use the "Put Online" and "Put Offline" wampserver is actually running a little php script called wampscriptsonlineOffline.php that edits the httpd.conf file. In order for the script to work it has to find a match to some text it is expecting in httpd.conf i.e. the section starting with this line # onlineoffline tag - don't remove

Personally I dont use the Put Online and Put Offline menus, I edit httpd.conf manually to achieve what I want, as it is so easy to confuse that little script.

So can I suggest that you use the menu to Put Offline and then.

Stop Apache, using `wampmanage->Apache->Service->Stop service

Then manually edit httpd.conf using `wampmanage->Apache->httpd.conf

Then make these 2 changes using the Apache 2.4 syntax and not the Apache 2.2 syntax

There was a clue on the line above

Also please change this section as with it set like you have you are giving access to the universe to your whole C: drive.

The normal approach with Apache is to use this section to initially tell it it has access to NOTHING on the drive it is installed in. You then give it rights to use just the parts of the disk it should have access to, as above.

Now start Apache again `wampmanager->Apache->Service->Start/Resume Service


ArcGIS GeoEvent Extension for Server

ArcGIS GeoEvent Extension for Server allows you to connect with virtually any type of streaming data feed and transform your GIS applications into frontline, real-time, decision applications.

  • Process and filter real-time data so you can detect and focus on the most important events, locations, and thresholds for your operations without interruption. GeoEvent accommodates multiple streams of data flowing continuously through filters and processing steps that you define.
  • Track dynamic assets that are constantly changing location (such as vehicles, aircraft, or vessels), or stationary assets, such as weather and environmental monitoring stations.
  • Automatically and simultaneously send alerts to key personnel, update the map, append the database, and interact with other enterprise systems when locations change or specified criteria are met.

DNS Prefetching

DNS Prefetching is a technique Firefox uses to speed up loading new websites. To disable DNS Prefetching:

  1. Taper about:config in the address bar and press Enter Return .
    A warning page may appear. Click I accept the risk! Accept the Risk and Continue to go to the about:config page.
  2. Right-click Hold down the control key while you click in the list of preferences, select New , and then select Boolean .
  3. Dans le Enter the preference name field, enter network.dns.disablePrefetch and click OK .
  4. Select true when prompted to set the value and click OK .
  1. Taper about:config in the address bar and press Enter Return .
    A warning page may appear. Click I accept the risk! Accept the Risk and Continue to go to the about:config page.
  2. Dans le Search field at the top of the page, enter network.dns.disablePrefetch .
  3. If the preference does not already exist, select Boolean and click the Addbutton to create the preference.
  4. Change the preference value from false to vrai by pressing the Togglebouton.

Firefox supports IPv6 by default, which may cause connection problems on certain systems. To disable IPv6 in Firefox:

  1. Taper about:config in the address bar and press Enter Return .
    A warning page may appear. Click I accept the risk! Accept the Risk and Continue to go to the about:config page.
  2. Dans le Search field, enter network.dns.disableIPv6
  3. In the list of preferences, double-click click the Togglebutton next to network.dns.disableIPv6 to change its value from false to vrai .

Web GIS allows the sharing of GIS data, maps, and spatial processing across private and public computer networks. Understanding web GIS requires learning the roles of client and server machines and the standards and protocols around how they communicate to accomplish tasks. Cloud computing models have allowed web-based GIS operations to be scaled out to handle large jobs, while also enabling the marketing of services on a per-transaction basis.

A variety of toolkits allow the development of GIS-related websites and mobile apps. Some web GIS implementations bring together map layers and GIS services from multiple locations. In web environments, performance and security are two concerns that require heightened attention. App users expect speed, achievable through caching, indexing, and other techniques. Security precautions are necessary to ensure sensitive data is only revealed to authorized viewers.

Many organizations have embraced the web as a way to openly share spatial data at a relatively low cost. Also, the web-enabled expansion of spatial data production by nonexperts (sometimes known as “neogeography”) offers a rich field for alternative mappings and critical study of GIS and society.

Quinn, S. (2018). Web GIS. The Geographic Information Science & Technology Body of Knowledge (1st Quarter 2018 Edition), John P. Wilson (ed). DOI: 10.22224/gistbok/2018.1.11

This entry was first published on March 19, 2018. No earlier editions exist.

AJAX: Asynchronous JavaScript and XML. A technique that allows a web page to fetch information from the server without doing a complete refresh. Used in web maps for smooth navigation.

API: Application programming interface. An organized set of programming components that can be used to develop apps using a particular language.

client: A computer or other device that requests information or processing from a server.

cloud: A networked group of computers that can be used to supplement one’s own computational infrastructure. Access to clouds is often sold or rented for a metered fee.

HTTP(S): Hypertext Transfer Protocol (Secure). A mutually understood set of commands and parameters often used by clients and servers to communicate over the Internet.

server: A powerful computer that offers specialized tasks or data, which it sends to other computers or devices (clients) upon request.

SSL: Secure Sockets Layer. A web security strategy wherein communication is encrypted and restricted to sites whose identity is proven. Used with the HTTPS protocol.

tiles: Tessellated bundles or packets of geographic data, usually square in shape, that are generated by the server at multiple scales and kept in a cache to improve map delivery speed. Can store vector coordinates or rasterized map images.

VGI: Volunteered geographic information. Geographic data offered by non-experts and collected through everyday activities and common devices, such as smartphone GPS receivers.

web service: Code that runs on the server and can perform a specialized task in response to a client request.

A web GIS is a computer software and hardware configuration that allows the sharing of maps, spatial data, and geographic processing operations throughout one’s own network and beyond using common web communications protocols such as HTTP (Dragićević, 2004) and WebSockets. In a web GIS, resources are often sent from a centralized machine (or “server”) upon request. Organizations may choose to implement web GIS to share computing capabilities and resources across departments on a local intranet, while others may use web GIS as a vehicle for disseminating information to a worldwide audience (Plewe, 1997). In some situations the public might even be invited to contribute or update data in an online environment.

Web GIS reduces the need for end users to install sophisticated software to work with geographic information, as most operations can be performed in web browsers or lightweight mobile apps. Thus, the web offers the potential to lower the GIS learning curve and increase the accessibility and exposure of GIS to the public. Implementing web GIS on one’s own servers requires a substantial investment in hardware, software, and connective infrastructure, as well as the skills to link and configure those components. As a result, new business models are emerging where GIS is sold as a package of services running on cloud architectures.

A web GIS centers around one or more machines called servers that respond to requests from other machines, called clients. Servers are usually configured with more computing power than clients, and run specialized operations in response to client requests. They may also send data to clients for processing. GIS-focused servers can perform cartography and spatial processing operations such as drawing maps and running geocomputational algorithms, respectively (Peng, 1999). The client must know how to work with the server’s response, whether that is an image of a map, some geographic coordinates, a list of attributes, some data that the client itself must process, etc.

Servers must allow inbound and outbound network traffic, necessitating configuration of firewall rules by system administrators. GIS servers must often connect to other types of servers on the network to fully accomplish their tasks for example, an organization’s existing web server needs to be configured to screen and forward incoming requests to the GIS server. Organizations may also maintain a separate data server that must be allowed to communicate with the GIS server. Figure 1 shows one common way that servers and clients are connected in a web GIS architecture.

Figure 1. Elements of a common web GIS architecture.

A variety of commercial and open source software options are available for setting up GIS servers. Examples include GeoServer, MapServer, and Esri ArcGIS Enterprise. Their core common feature is the ability to create web services for GIS and mapping. A web service is a piece of code that runs on the server and can perform some action in response to a client request. For example, a web service might receive some bounding coordinates and an image format from a client, draw a map image, and then send the image back to the client. Another type of web service might receive some vector feature coordinates, calculate an intersection of those features, and send back to the client the coordinates of the intersecting feature set.

In order for a client and server to interact successfully, both must understand the format and protocol for issuing the request and receiving the response. Most web GIS transactions are executed over hypertext transfer protocol (HTTP) or its encrypted counterpart HTTPS. Furthermore, the client and server must understand a common syntax for the parameters of the request and the format of the data to be returned. To facilitate this, the Open Geospatial Consortium (OGC) has defined open specifications for GIS web services. These include the web map service (WMS) and web map tile service (WMTS) for requesting maps, the web feature service (WFS) for requesting vector feature geometries and attributes, the web coverage service (WCS) for raster data requests, and the web processing service (WPS) for spatial data processing operations. In the realm of proprietary software, the Esri GeoServices specification outlines very similar types of services for map delivery, vector feature transfer, “geoprocessing”, 3D scene viewing, and other GIS-related operations.

Clients of a web GIS can include locally installed desktop apps, browser-based apps, and native mobile apps. Open source and proprietary application programming interfaces (APIs) abound for creating custom web and mobile applications that consume GIS web services. These include Open Layers, Leaflet, and the ArcGIS APIs. In order to provide an intuitive user experience, these client apps and APIs often hide the details of all the web service requests occurring in the background. For example, a user of a client app may pan and zoom a map without needing to know all the required parameters for the back-end web service to redraw the map with a new scale and bounding coordinates.

Many maps displayed in client apps originate from multiple web services that are each treated as layers in the final displayed map. For example, a common workflow is to request a base map image from one web service and a thematic map overlay from another web service. The thematic layer can be requested either as an image or as vector data to be drawn by the client. The client app combines the layers and may allow the end user to toggle their visibility or order. Decoupling the base map from the thematic layers allows clients to re-use base maps in many applications, or employ base maps from well-known third parties, such as Google Maps. The term “mashup” is often used to describe a map created from two or more web services in this way.

The server can deliver vector data to client apps either as a standalone file or a streaming set of features. Popular file formats for this kind of data include GeoJSON, Esri GeoServices JSON, and KML. The OGC has also defined a specification for vector features called Geography Markup Language (GML), although the verbosity of this format has led to performance concerns (Yang, Wong, Yang, Kafatos, & Li, 2005). The approach of drawing graphics on the client promotes interactivity and generally improves speed, although it can also slow down apps when the files contain many features.

Some client apps may allow the editing of vector features transacted back and forth between a GIS database. Web GIS administrators must decide whether to expose the production copy of their database for editing, or restrict editors to modifying an intermediate copy that is quality-checked by an analyst. Policies must also be established for conflict resolution when multiple editors are working on the same database at the same time, especially if these editors commonly upload bulk changes after offline edit sessions. A simple solution is a “last in wins” policy where the most recently uploaded edit takes precedence. More complex use cases may require data versioning or conflict review on a feature-by-feature basis.

GIS users are increasingly deploying mobile devices such as smartphones and tablets as clients of GIS servers. Because these devices are easily portable, they can send location information to the server in real time as the device is carried from place to place however, mobile clients are also useful in circumstances where connections to the server are intermittent or unavailable. To support these offline or partially-connected scenarios, the server sometimes allows a data extract or download functionality so that some data may be placed locally on the device in preparation for field work. The server might also allow a data upload or synchronization action wherein edits made in the field can be sent back to the server and reconciled with the server’s copy of the data.

Users of the web expect a fast response from their apps, which can be challenging with the massive amounts of data and processing required by GIS. Administrators can improve speed by reducing the number of transactions between clients and servers, as well as the amount of information in each transaction. Only the minimum necessary map layers and attribute data should be included in server requests and responses. Simplification of map symbols, vector coordinate geometries, and decimal numbers (through rounding) can reduce the size, or payload, of web transactions, with the awareness that such measures will trade away some precision.

Strategies for speeding web map performance include the use of tree indexing, multithreading, and cluster computing (Yang et al., 2005). Another tactic is to precalculate the results of common requests. For example, if web users will frequently need to view the area measurements of polygons, these areas can be precalculated using desktop software and written into an attribute field. The server can return this value faster than it could perform the area calculation.

Another common example of precalculation is the division of data into a multi-scale pyramid of tessellated regions, or “tiles”, that the server caches and passes out to clients without having to extract or draw data in real time. The integration of pre-drawn rasterized map tiles with asynchronous JavaScript and XML (AJAX) fetching techniques creates a map navigation experience so fast that it can appear “seamless”. Pioneered by Google Maps to great popular acclaim in the mid-2000s, this approach is now common in web maps.

More recently, the tile motif has been expanded to vector data packets which are drawn by the client, allowing a more flexible restyling of cartography than is possible with rasterized tiles. WebGL (Web Graphics Library) technology is often used for drawing vector tiles or thematic features on the client side in a way that is faster than the traditional SVG (scalable vector graphics) approach.

Web GIS administrators must ensure that sensitive data is not revealed to a larger audience than intended. Security rules can be applied at various tiers, and may restrict access to end user applications, GIS web services, map layers, geographic features, or feature attributes (Bertino, Thuraisingham, Gertz, & Damiani, 2008). When vector data is proprietary or copyright-protected, it may be desirable to show only a rasterized image of map data rather than allow the download of each vertex coordinate. Limits should be placed on the scope of web service requests to avoid web scraping, mass downloads, or enormous data processing jobs that overburden the server (whether intentionally or unintentionally).

Web GIS administrators must work closely with their organization’s existing IT management staff to ensure that web services are secure. For greater administrative control and end-user convenience, web GIS systems and apps should be integrated with the organization’s existing login infrastructure when feasible. Standard web safety practices can boost the security of a GIS, such as granting users only the minimum privileges necessary to do their jobs, restricting physical access to server machines, requiring strong passwords that are changed on a regular basis, and so forth. All passwords and any sensitive spatial or tabular data should be transferred in encrypted form via secure sockets layer (SSL) connections. Any user input allowed into the web GIS should be screened by client and server code for malicious intentions, such as structured query language (SQL) injection attacks.

GIS and mapping web services can run on onsite servers or cloud-based hardware. Cloud computing also enables the commoditization of GIS through a software as a service (SaaS) model, wherein companies offer GIS web services in exchange for a usage fee. Examples include Esri ArcGIS Online, CARTO, and Mapbox. Fee-based services offered on the cloud might include data storage, online map viewing, geocoding, routing, and the use of spatial processing algorithms. A benefit of these offerings is that there is no need to acquire and administer onsite GIS servers however, users still need to pay attention to Internet connectivity speed and bandwidth, as well as the size and security of data transfers.

Another advantage of GIS in the cloud is elasticity, or the ability to expand back-end computing resources to meet the scope of large jobs. Organizations with large cyberinfrastructure could integrate GIS services into their own clouds to reap the benefits of elasticity.

Users of cloud GIS services must pay attention to economics to understand whether the fees associated with the cloud services are lower than the costs of deploying a server onsite. These calculations should include the cost of the hardware, software, infrastructure (such as physical building and utilities), and human resources needed to operate a server.

Makers of maps and GIS data often rely on the web as a simple way to deliver content to the public. This includes the sharing of downloadable vector and raster data files through searchable websites sometimes called geoportals. Where governments are mandated to share data, doing so online can be more economical than using traditional hard media formats (Plewe 1997). The web also augments the potential of public participation GIS (PPGIS) for example, inviting national park visitors to point and click on a web map to identify areas of high intrinsic value and places lacking maintenance (Brown & Weber, 2011).

The increasing interactivity of browser-based and mobile apps, along with the relative inexpense of satellite navigation receivers, has allowed mass public creation of spatial data through the web. This is notable because such activities were traditionally the prerogative of trained experts. The changing tides are evident in the many user-generated layers shared in Google Earth, the emergence of volunteered geographic information (VGI) projects such as OpenStreetMap, or the simple attachment of geographic coordinates to social media posts. Furthermore, ready-made web application templates and embeddable frames have made it easier for non-experts to introduce maps and GIS into client applications. To what degree these forms of “neogeography” have actually democratized mapping and spatial data creation is a point of active discussion (Turner, 2006 Goodchild, 2007 Haklay, 2013), although the web has certainly enabled alternative cartographies and counter mappings to reach a wider audience than would otherwise be possible.

Bertino, E., Thuraisingham, B., Gertz, M., & Damiani, M. L. (2008). Security and Privacy for Geospatial Data: Concepts and Research Directions. In Proceedings of the SIGSPATIAL ACM GIS 2008 International Workshop on Security and Privacy in GIS and LBS (pp. 6-19). New York, NY, USA: ACM. DOI: 10.1145/1503402.1503406

Brown, G., & Weber, D. (2011). Public Participation GIS: A new method for national park planning. Landscape and Urban Planning, 102(1), 1-15. DOI: 10.1016/j.landurbplan.2011.03.003

Dragićević, S. (2004). The potential of Web-based GIS. Journal of Geographical Systems, 6(2), 79-81. DOI: 10.1007/s10109-004-0133-4

Goodchild, M. F. (2007). Citizens as sensors: the world of volunteered geography. GéoJournal, 69(4), 211-221.

Haklay, M. (2013). Neogeography and the delusion of democratisation. Environment and Planning A, 45(1), 55-69. DOI: 10.1068/a45184

Peng, Z.-R. (1999). An Assessment Framework for the Development of Internet GIS. Environment and Planning B: Planning and Design, 26(1), 117-132. DOI: 10.1068/b260117

Plewe, B. (1997). GIS Online: Information Retrieval, Mapping, and the Internet (1 edition). Santa Fe, NM: OnWord Press.

Turner, A. (2006). Introduction to neogeography. O’Reilly Media, Inc.

Yang, C., Wong, D. W., Yang, R., Kafatos, M., & Li, Q. (2005). Performance‐improving techniques in web‐based GIS. International Journal of Geographical Information Science, 19(3), 319-342. DOI: 10.1080/13658810412331280202


Voir la vidéo: Reitittimet ja Mesh - Miten kodin WiFi-verkko optimoidaan? Gigantti kertoo