Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 21 November 2011 18:33

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

[MAPSERVER] Afficher date (now) dans l'image générée par mapfile

Bonjour

je souhaiterais afficher la date de création d'une image, dans l'image elle-même,
à chaque fois que cette image est générée

l'image est créée à l'aide du layer suivant :

Code:

layer
  name "points"
  group "points"
  type point
  status on
  connectiontype postgis
  connection "host=%HOST% dbname=%DBNAME% ...."
  projection
    "init=epsg:4326"
  end
...
end

y-a-t'-il moyen d'y insérer une date dans un format donné (exp : DD/MM/YYY hh:mm:ss)

ou faut-il créer un autre layer pour générer cette date ?

merci d'avance

Jean-Marie

Hors ligne

 

#2 Tue 22 November 2011 10:31

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

Bonjour,

En tant que label oui, sinon il faut utiliser une autre couche :

LAYER
    NAME 'copyright'
    TYPE POINT
    TRANSFORM LL
    FEATURE
      POINTS 10 -10 END
      TEXT 'Copyright YJA 2006'
    END
    CLASS
      NAME "class"
      STYLE
        COLOR 50 50 255
        OUTLINECOLOR 255 50 50
      END
      LABEL
        TYPE TRUETYPE
        FONT "Vera"
        SIZE 10
        COLOR 0 0 0
        POSITION ur
        BACKGROUNDCOLOR 245 235 235
        BACKGROUNDSHADOWCOLOR 55 55 55
        BACKGROUNDSHADOWSIZE 1 1
      END
    END
  END


Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Wed 23 November 2011 11:45

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

Jean-Marie64 a écrit:

Bonjour

je souhaiterais afficher la date de création d'une image, dans l'image elle-même,
à chaque fois que cette image est générée

l'image est créée à l'aide du layer suivant :

Code:

layer
  name "points"
  group "points"
  type point
  status on
  connectiontype postgis
  connection "host=%HOST% dbname=%DBNAME% ...."
  projection
    "init=epsg:4326"
  end
...
end

y-a-t'-il moyen d'y insérer une date dans un format donné (exp : DD/MM/YYY hh:mm:ss)

ou faut-il créer un autre layer pour générer cette date ?

merci d'avance

Jean-Marie


Sans passer par du mapscript ou des commandes CGI je ne pense pas que ce soit possible. Dans ce cas Il faut utiliser le template de layer donné par yves, et avec mapscript ou cgi remplacer FEATURE->TEXT par la date courante.   (http://server/...&map.layer[date].feature[0]=text+"2011/10/03 20:00")


J'avais initialement pensé que ca pouvait se faire avec une couche postgis dédiée, mais ca ne marchera pas tout le temps car le point crée sera filtré par la bbox de la requete en cours. Pour info ca aurait donné ca:

Code:

layer
  type point
  connectiontype postgis
  ....
  transform ll
  labelitem "datenow"
  data "the_geom from ( select st_makepoint(10,10) as the_geom, 0 as id,  to_char(now(),'HH12:MI:SS') as datenow ) as foo using unique id using srid=-1"
  class
    style
    end
    label
      ...
    end
  end
end

Hors ligne

 

#4 Thu 24 November 2011 17:34

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

Bonjour

merci pour ces pistes ;

en essayant :

Code:

map.layer[date].feature[0]=text+"2011/10/03 20:00:00"

mapserver génère l'erreur de syntaxe suivante :

Code:

loadLayer(): Unknown identifier. Parsing error near (text):(line 1)

j'ai essayé :

Code:

map.layer[date].feature[0]=text+'2011/10/03 20:00:00'

ainsi que d'autres formes syntaxiques, sans succès

mon mapfile contient la définition suivante :

Code:

LAYER
  NAME "DATE"
  group "DATE"
  STATUS ON
  TYPE annotation
  TRANSFORM ll #set the image origin to be lower left
  FEATURE
    POINTS
      500 -100 #set the offset from lower left position in pixels
    END
    TEXT "xx" #this is your displaying text
  END
...]

pour le test je tape ma requête directement depuis le navigateur;
cette requête a l’allure suivante :

Code:

http://..&MAP.LAYER[IMPACTS].CLASS[3].STYLE[0]=color 255 200 0&MAP.LAYER[DATE].FEATURE[1]=text '2011/10/03 20:00'&SRS=EPSG%3A900913&BBOX=-21369703.538375,-3531582.034,22853703.538375,15253582.034&WIDTH=1130&HEIGHT=480

si vous avez une piste merci d'avance

Jean-Marie

Hors ligne

 

#5 Fri 25 November 2011 12:51

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

Jean-Marie64 a écrit:

Bonjour

merci pour ces pistes ;

en essayant :

Code:

map.layer[date].feature[0]=text+"2011/10/03 20:00:00"

mapserver génère l'erreur de syntaxe suivante :

Code:

loadLayer(): Unknown identifier. Parsing error near (text):(line 1)

j'ai essayé :

Code:

map.layer[date].feature[0]=text+'2011/10/03 20:00:00'

ainsi que d'autres formes syntaxiques, sans succès

mon mapfile contient la définition suivante :

Code:

LAYER
  NAME "DATE"
  group "DATE"
  STATUS ON
  TYPE annotation
  TRANSFORM ll #set the image origin to be lower left
  FEATURE
    POINTS
      500 -100 #set the offset from lower left position in pixels
    END
    TEXT "xx" #this is your displaying text
  END
...]

pour le test je tape ma requête directement depuis le navigateur;
cette requête a l’allure suivante :

Code:

http://..&MAP.LAYER[IMPACTS].CLASS[3].STYLE[0]=color 255 200 0&MAP.LAYER[DATE].FEATURE[1]=text '2011/10/03 20:00'&SRS=EPSG%3A900913&BBOX=-21369703.538375,-3531582.034,22853703.538375,15253582.034&WIDTH=1130&HEIGHT=480

si vous avez une piste merci d'avance

Jean-Marie


essaye avec:

Code:

map.layer[date]=feature+text+"2011/10/03 20:00:00"+points+10+10+end+end

Hors ligne

 

#6 Fri 25 November 2011 14:23

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

j'avais pu vérifié cette syntaxe qui crée un nouveau bloc et qui fonctionne effectivement ;
je tenais à faire simplement une modification dans le bloc,
çà doit se jouer à peu de chose au niveau de la syntaxe passée dans l'url

Jean-Marie

Hors ligne

 

#7 Fri 25 November 2011 15:17

tbonfort
Participant actif
Date d'inscription: 11 Oct 2007
Messages: 87

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

Jean-Marie64 a écrit:

j'avais pu vérifié cette syntaxe qui crée un nouveau bloc et qui fonctionne effectivement ;
je tenais à faire simplement une modification dans le bloc,
çà doit se jouer à peu de chose au niveau de la syntaxe passée dans l'url

Jean-Marie


ce n'est pas possible avec le code mapserver actuel.

Hors ligne

 

#8 Fri 25 November 2011 15:19

Jean-Marie64
Participant actif
Lieu: Pau
Date d'inscription: 6 Nov 2007
Messages: 131

Re: [MAPSERVER] Afficher date (now) dans l'image générée par mapfile

merci beaucoup pour le support

Jean-Marie

Hors ligne

 

Pied de page des forums

Powered by FluxBB