#1 Mon 06 March 2017 11:02
- Fanny12
- Participant occasionnel
- Date d'inscription: 11 Jun 2014
- Messages: 16
MapServer : FONTSET non pris en compte dans le Mapfile
Bonjour à tous,
je suis en train de migrer une vieille application qui était sur un serveur Windows avec PHP 5.2.6 et Mapserver 5.2 vers un nouveau serveur ubuntu avec PHP 5.5.12 et Mapserver 6.4.1.
je me trouve confrontée à un problème tout bête que je n'arrive pas à résoudre. On dirait que le mapfile n'en a rien à faire du paramètre FONTSET.
Mon fichier map se trouve dans un répertoire, dans celui-ci se trouve un sous-répertoire font dans lequel se trouvent tous les fichiers ttf et le fichier fonts.list (même arborescence que sous Windows). or que je fasse appel ou non au fichier fonts.list, j'ai toujours le même message d'erreur dans les logs mapserver
[Mon Mar 6 10:16:19 2017].753332 loadStyle(): Unknown identifier. Parsing error near (FONT):(line 281)
La ligne 281 fait référence à mon premier appel au paramètre FONT.
Voilà le début de mon fichier map
Code:
MAP
NAME "appli"
STATUS ON
SIZE 720 540
IMAGECOLOR 255 255 255
EXTENT 550000 1850000 700000 1999000
#UNITS DD
RESOLUTION 72
FONTSET /var/www/appli/font/fonts.list
OUTPUTFORMAT
NAME "png"
MIMETYPE "image/png"
DRIVER "GD/PNG"
EXTENSION "png"
IMAGEMODE PC256
TRANSPARENT FALSE
END
CONFIG "MS_ERRORFILE" "/tmp/ms_error.txt"
# Needed for MapServer v4. Please comment the following line if you are using MapServer v3.6 or earlier
#TEMPLATEPATTERN "printable.html|loader.html"
SHAPEPATH "SHP"
# SYMBOLSET "symbols/symbol.sym"
WEB
TEMPLATE "printable.html"
#EMPTY "../mapsurfer/info.html" # path relative to cgi-bin
EMPTY "testImage.html" # path relative to cgi-bin
MINSCALE 100
MAXSCALE 900000
IMAGEPATH "/var/www/appli/TMP/" # full path to image tmp dir, so cgi can find it
IMAGEURL "/appli/tmp/" # url location of image tmp dir, so web browser can find it
END # Web Interface Options
LEGEND
STATUS ON
IMAGECOLOR 255 255 255
POSITION UL
KEYSIZE 28 22 #key boxes
KEYSPACING 5 15
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 0
END
END # Legend
REFERENCE
IMAGE refmap.png
EXTENT 550000 1850000 700000 1999000
SIZE 200 200
STATUS ON
COLOR -1 -1 -1
OUTLINECOLOR 255 0 0
END
QUERYMAP
STATUS OFF
STYLE SELECTED
COLOR 255 255 0
END
SCALEBAR
STATUS ON
LABEL
SIZE tiny
COLOR 0 0 0
OUTLINECOLOR 255 255 255
END
# STYLE 0
INTERVALS 3
SIZE 200 6
COLOR 0 0 0
BACKGROUNDCOLOR 255 255 255
IMAGECOLOR 255 255 255
OUTLINECOLOR 0 0 0
UNITS KILOMETERS
POSITION LL
# TRANSPARENT ON
END # Scalebarj'ai essayé également en entourant avec des guillemets
Code:
FONTSET "/var/www/appli/font/fonts.list"
en mettant le chemin relatif
Code:
FONTSET "font/fonts.list"
Mais j'ai toujours la même erreur.
D'ailleurs j'ai le problème aussi avec SYMBOLSET.
Si quelqu'un peut m'aider ? Merci
Hors ligne
#2 Mon 06 March 2017 14:58
- Blaise Picinbono
- Participant actif
- Date d'inscription: 8 Jan 2015
- Messages: 72
- Site web
Re: MapServer : FONTSET non pris en compte dans le Mapfile
Bonjour Fanny;
Sans en être certrain, je penche pour un problème de chemin.
Quelle version d'Ubuntu ? Dans les versions récentes de Debian, le répertoire web se trouve dans /var/www/html/ et non plus dans /var/www/ (chemin dans les anciennes versions de Debian). Ubuntu étant dérivé de Debian, je suppose que l'évolution de l'arborescence a suivi.
Dans les exemples de Mapserver, les polices de caractères sont placées en général dans le sous répertoire "fonts" et non "font" ("fonts" avec un "s" à la fin).
Dans un mapfile d'une application tournant avec Mapserver 7.0 sous Debian, j'utilise la déclaration suivante du FONTSET:
Code:
FONTSET "fonts/fonts.list"
Je pense donc que ça peut très bien fonctionner avec un chemin relatif.
Si en essayant de contrôler et au besoin d'adapter les chemins pour qu'ils correspondent bien à l'arborescence ça ne fonctionne toujours pas, ce serait sans doute utile d'utiliser Firebug, notamment l'onglet "Réseau", pour essayer de comprendre ce qui cloche.
La déclaration de SYMBOLSET est commentée dans le mapfile, elle n'est donc pas prise en compte...
Dernière modification par Blaise Picinbono (Mon 06 March 2017 15:03)
Hors ligne
#3 Mon 20 March 2017 15:26
- Fanny12
- Participant occasionnel
- Date d'inscription: 11 Jun 2014
- Messages: 16
Re: MapServer : FONTSET non pris en compte dans le Mapfile
Bonjour Blaise,
Désolée pour la réponse tardive, mais je n'ai pas eu de mail m'indiquant ta réponse (je vais vérifier mes paramètres).
Merci beaucoup en tout cas de m'avoir répondu.
C'est Ubuntu 14.
Mon chemin vers le fichier fonts.list est bien correct. En fait mon problème était dans la définition de la couche. Il y avait le mot clé STYLE tout seul, sans le END. Le message d'erreur Mapserver n'est pas tout explicite.
En tout cas Mapserver 6.4.1 est beaucoup moins permissif que la version 5.2 ! L'erreur était également présente, mais cela ne le gênait pas.
Concernant le problème du SYMBOLSET, le problème venait du fichier symbol.sym qui ne se clôturait pas par un END. Encore une fois cela fonctionnait avec Mapserver 5.2
Hors ligne


