Cartographie

Comme fonctionne Mapserver

La dernière fois que nous avons parlé pourquoi certains critères MapServer et les bases de l'installation. Voyons maintenant une partie de son fonctionnement dans un exercice avec les cartes des amis du Chiapas.

 MapServer geoserver Lorsqu'il monte

Une fois Apache installé, le répertoire de publication MapServer par défaut est le dossier OSGeo4W directement sur C: /

À l'intérieur, il y a différents dossiers avec des applications en fonction de ce qui est installé, mais le dossier de publication doit aller dans apache. Dans ce cas, le dossier appelé gis.

  • Ensuite, dans le dossier contient des couches de données, orthophotographie, etc.
  • Dans le dossier etc, il y a les polices True Type utilisées pour les étiquettes, avec une extension .ttf. Voici également un fichier txt qui les élève et un autre qui définit les symboles.
  • Et enfin dans le dossier httdocs monteras pages web de service.
  • MapServer geoserver

Le site

Dans l'exemple, j'utiliserai le cas présenté la dernière fois. Il contient essentiellement un fichier d'index qui redirige vers une extension phtml, ce qui à son tour soulève les fonctions construites au-dessus d'un php et des cartes. Un dossier contient les images liées à la page.

MapServer geoserver

Si nous le regardons, le phtml est juste le shell construit à partir de tables, et appelle les fonctions mapscript / php. Vous devriez vous lever en utilisant:

http://localhost/gis/gispalenque.phtml

Voici le résultat:

  • Au centre, la fonction GMapDrawMap (),
  • À droite, l'appel à Carte graphique GMapDrawKeyMap ()
  • La barre d'échelle ci-dessous GMapDrawScaleBar (),
  • et si les fonctions de déploiement, une condition en ce qui concerne la zone de liste if (! IsHtmlMode ()) echo "  les décisions: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Déjà en cours d'exécution, l'affichage ressemble à ceci:

MapServer geoserver

Les fichiers .map

La combinaison de la publication Mapserver est dans ce qu'Apache soulève, qui envoie PHP à travers mapscript et cela sort ensuite à travers cette coquille. Mais l'essentiel de la science se trouve dans les fichiers .map, à ne pas confondre avec ceux générés par Mapinfo, Manifold ou Mobile Mapper Office avec la même extension.

Ces .map sont des fichiers texte, qui contiennent la carte sous forme de script. Ceux-ci peuvent être créés avec des programmes de bureau comme Quantum GIS, si vous regardez, il y en a un pour la carte principale, un pour le Keymap et deux pour les services OGC wms et wfs. Voyons comment fonctionne Mapscript:

CARTE

NOM PALENQUE_DEMO
ON STATUT
TAILLE 600 450
SYMBOLSET ../etc/symbols.txt
604299 1933386 610503 1939300 étendue de tous #VISTA carte de Palenque
#EXTENT 605786 1935102 608000 1938800 01 #SOLO LE SECTEUR
MÈTRES UNITÉS
SHAPEPATH "../data"
ON TRANSPARENT
IMAGECOLOR 255 255 255
fontset ../etc/fonts.txt

  • MAP indique que le script initie
  • STATUS indique si la carte par défaut est ou non
  • SIZE est la taille du déploiement
  • SYMBOLSET montre le chemin des symboles
  • EXTENT sont les coordonnées d'affichage. Le symbole # est utilisé pour faire des annotations
  • Parts pour la part
  • SHAPEPATH, le chemin d'accès où les couches sont
  • Tout à la fin se terminera avec la commande END

A l'intérieur, le code commence par une ligne de commande, et se termine par END, par exemple minimum et niveau maximum; répertoire temporaire d'images:

WEB
  MINSCALE 2000000
  MAXSCALE 50000000

ImagePath "C: \ OSGeo4W / tmp / ms_tmp /"
  IMAGEURL "/ ms_tmp /"
FIN

MapServer geoserverBarre d'échelle:

Scalebar
  IMAGECOLOR 255 255 255
  LABEL
    COULEUR 0 0 0
    PETITE TAILLE
  FIN
  TAILLE 300 5
  COULEUR 255 255 255
  BACKGROUNDCOLOR 0 0 0
  OUTLINECOLOR 0 0 0
  UNITS kilomètres
  INTERVALLES 3
  ON STATUT
FIN

MapServer geoserverUn calque raster: qui va en arrière-plan, avec une description dans la liste comme "Orthophoto", à partir d'un tiff situé dans le dossier de données:

 

 

COUCHE
  NOM orthophoto
  METADATA
    "DESCRIPTION" "OrtoFoto"
  FIN
  TYPE RASTER
  STATUS OFF
  DONNÉES "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
  #OFFSITE 0 0 0
FIN

Une couche shp polygone tematizada en fonction de critères, collecte des données sur un modèle HTML avec une police de sans étiquette, la taille 6, bords en noir et blanc tampon 5 ...

MapServer geoserver

COUCHE
  NAME secteur02Zone
  TYPE POLYGONE
  STATUS OFF
  TRANSPARENCE 50
  ÉTENDUE 607852 1935706 610804 1938807 METADATA
    "DESCRIPTION" "Thème par secteur de valeur 02"
    "RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred Prop Zone Périmètre VALEUR"
  FIN
  DONNÉES PALENQUE_SECTOR01
  TEMPLATE "ttt_query.html"
  TOLÉRANCE 5
  #TOLERANCEUNITS PIXELS
  LABELITEM "VALOR"
  CLASSITEM "VALOR"
  LABELCACHE ON
  CLASSE
    SYMBOL 1
    COULEUR 128 128 128
    OUTLINECOLOR 0 0 0
    NOM "ZonaNULL"
    EXPRESSION ([VALEUR] = 0)
    LABEL
         ANGLE AUTO
         COULEUR 0 0 0
         FONT sans
         TYPE TRUETYPE
         POSITION cc
        
FAUX PARTIALS
         BUFFER 5
         TAILLE 6
         OUTLINECOLOR 200 200 200
    FIN
  END #class Valeur 0
  CLASSE
    SYMBOL 3
    COULEUR 255 128 128
    #COLOR -1 -1 -1 #SIN REMPLISSAGE

.... et si près de

FIN
  END #Class Value
FIN # couche

En conclusion

Par conséquent, travailler avec mapserver, bien que cela soit assez simple, devient complexe et très limité pour les gros travaux car tout est dans le .map. Le plus gros inconvénient est que tout se fait à pied, comme définir chaque couleur dans un thème, et c'est pourquoi des outils tels que CartoWeb apparaissent, qui fonctionnent sur Mapserver mais apportent des plugins intégrés et des exemples avec des caractéristiques qui font ressembler cette version primitive la readme premier:

  • Travailler des images séparées avec AJAX afin de les rafraîchir séparément
  • Analysez le code, à condition qu'un script réécrit le .map en fonction des critères paramétriques
  • Défilement arrière dynamique sans nécessiter de rafraîchissement, comme s'il s'agissait d'une couche flash
  • Édition de vecteur en ligne, écriture de cache immédiate
  • Télécharger la couche sous forme de vecteur
  • Exporter vers Google Earth
  • Générer du fichier PDF à partir du déploiement

Dans un prochain, nous allons jeter un oeil à CartoWeb, je laisse ici le lien vers les exemples principaux.

Golgi Álvarez

Écrivain, chercheur, spécialiste des modèles de gestion des terres. Il a participé à la conceptualisation et à la mise en œuvre de modèles tels que : Système national d'administration de la propriété SINAP au Honduras, Modèle de gestion des municipalités conjointes au Honduras, Modèle intégré de gestion du cadastre - Registre au Nicaragua, Système d'administration du territoire SAT en Colombie . Éditeur du blog de connaissances Geofumadas depuis 2007 et créateur de l'AulaGEO Academy qui comprend plus de 100 cours sur les sujets SIG - CAD - BIM - Digital Twins.

Articles Relatifs

3 Commentaires

  1. Salut,

    J'essaie d'appeler une couche de la .map comme suit:

    COUCHE
    NOM casas_prueba
    POINT DE TYPE
    CONNECTIONTYPE OGR
    CONNEXION #"virtuel.ovf"
    »

    xxxxx
    EXÉCUTIF …….
    eess_id
    wkbPoint
    WGS84

    »

    Mon problème est que le service DSN pose des problèmes: lors de la demande d'un GetCapabilities, il renvoie le mot de passe de la base de données ... puis-je appeler un fichier pour éviter de "donner" le mot de passe ou s'agit-il d'une erreur DSN ???? Merci!

  2. MapServer est un projet Open Source populaire dont le but est d'afficher des cartes spatiales dynamiques sur Internet. Un lecteur monté est un lecteur mappé à un dossier vide sur un volume qui utilise le système de fichiers NTFS. Les lecteurs montés fonctionnent comme tous les autres lecteurs, mais ils reçoivent des chemins de lecteur au lieu de lettres de lecteur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

Retour à bouton en haut