#1 Thu 07 July 2011 18:31
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
[MapServer] paramètre WMS time très lent
Bonjour
à l'aide de MapServer j'interroge une base de données en faisant des requêtes à la fois temporelle et spatiale ;
le temps d'exécution s'avère très long sur une grande superficie même si la profondeur temporelle est petite ;
en analysant la requête générée par MapServer je constate qu'elle contient la fonction date-trunc qui est à l'origine
du ralentissement ; apparemment il s'agit d'un bug :
http://trac.osgeo.org/mapserver/ticket/3374
je voudrais savoir si ce bug est corrigé dans la version 6 de mapserver
(il ne me semble pas d'après http://trac.osgeo.org/mapserver/milestone/6.0 release)
si ce n'est pas corrigé est-il possible de ne pas générer cette fonction puisque nous n'en avons pas besoin
merci bien
Jean-marie
ci-dessous une partie de mon mapfile où le champ date est au format timestamp dans la base Postgresql :
Code:
layer name "donnees" group "donnees" type point status on connectiontype postgis connection "host=%HOST% dbname=%DBNAME%" data "coord from table using unique num" metadata "wms_title" "donnees" "wms_timeitem" "date" "wms_timeextent" "2000-01-01/2033-12-31" end ...
Hors ligne
#2 Sat 09 July 2011 10:30
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [MapServer] paramètre WMS time très lent
Bonjour
à l'aide de MapServer j'interroge une base de données en faisant des requêtes à la fois temporelle et spatiale ;
le temps d'exécution s'avère très long sur une grande superficie même si la profondeur temporelle est petite ;
en analysant la requête générée par MapServer je constate qu'elle contient la fonction date-trunc qui est à l'origine
du ralentissement ; apparemment il s'agit d'un bug :
http://trac.osgeo.org/mapserver/ticket/3374
je voudrais savoir si ce bug est corrigé dans la version 6 de mapserver
(il ne me semble pas d'après http://trac.osgeo.org/mapserver/milestone/6.0 release)
si ce n'est pas corrigé est-il possible de ne pas générer cette fonction puisque nous n'en avons pas besoin
merci bien
Jean-marie
ci-dessous une partie de mon mapfile où le champ date est au format timestamp dans la base Postgresql :Code:
layer name "donnees" group "donnees" type point status on connectiontype postgis connection "host=%HOST% dbname=%DBNAME%" data "coord from table using unique num" metadata "wms_title" "donnees" "wms_timeitem" "date" "wms_timeextent" "2000-01-01/2033-12-31" end ...
Bonjour,
Il n'est pas corrigé dans la 6.0, mais le sera certainement dans une version a venir, le projet ayant recu du financement par un utilisateur pour regler le probleme.
--
thomas
Hors ligne
#3 Mon 11 July 2011 10:30
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
Re: [MapServer] paramètre WMS time très lent
bonjour
merci pour l'info
en attendant j'ai trouvé un moyen de contourner WMS time
en utilisant la clause FILTER appliqué à la date
Jean-Marie
Hors ligne
#4 Mon 11 July 2011 10:36
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [MapServer] paramètre WMS time très lent
bonjour
merci pour l'info
en attendant j'ai trouvé un moyen de contourner WMS time
en utilisant la clause FILTER appliqué à la date
Jean-Marie
Si ta colonne time est un imestamp sans timezone, tu peux aussi faire:
Code:
create index matabletimeidx on matable (date_trunc('day', coltime))
en remplacant 'day' par la resolution des requetes time que tu utilises.
Hors ligne
#5 Fri 29 July 2011 15:56
Re: [MapServer] paramètre WMS time très lent
Bonjour Jean-Marie,
Je dévie un peu du sujet initial...
bonjour
en attendant j'ai trouvé un moyen de contourner WMS time en utilisant la clause FILTER appliqué à la date
Jean-Marie
je suis à la recherche d'un moyen d'afficher dans l'image produite par mon mapserver un sous-échantillon des lignes de mon fichier shp.
J'aimerai utiliser pour cela la clause FILTER appliquée à mon code_espece mais il me semblait que cela n'était pas possible avec un WMS.
Pourrais tu poster l'extrait de ton mapfile et l'url utilisée pour appliquer le filtre.
Merci d'avance,
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#6 Fri 29 July 2011 16:01
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [MapServer] paramètre WMS time très lent
Bonjour Jean-Marie,
Je dévie un peu du sujet initial...Jean-Marie64 a écrit:bonjour
en attendant j'ai trouvé un moyen de contourner WMS time en utilisant la clause FILTER appliqué à la date
Jean-Marie
je suis à la recherche d'un moyen d'afficher dans l'image produite par mon mapserver un sous-échantillon des lignes de mon fichier shp.
J'aimerai utiliser pour cela la clause FILTER appliquée à mon code_espece mais il me semblait que cela n'était pas possible avec un WMS.
Pourrais tu poster l'extrait de ton mapfile et l'url utilisée pour appliquer le filtre.
Merci d'avance,
Ce n'est pas dans la spec WMS, mais mapserver accepte des parametres additionels dans les requetes WMS. Tout est documenté ici: http://mapserver.org/cgi/runsub.html
--
thomas
Hors ligne
#8 Fri 29 July 2011 17:40
Re: [MapServer] paramètre WMS time très lent
Je n'ai pas résisté.
"Ça marche nickel!"
Au niveau de mon layer j'ai ajouté :
Code:
FILTERITEM CD_REF # cd_ref est l'attribut sur lequel je veux filtrer FILTER '%cd_ref%' # mapserver attend un paramètre cd_ref dans l'url
http://ws.carmencarto.fr/WMS/45/atlasop?VERSION=1.3.0&REQUEST=GetMap&SRS=EPSG:2154&WIDTH=700&HEIGHT=700&BBOX=574130,6150673,846784,6437212&BGCOLOR=0x0&STYLES=default&FORMAT=image/png&LAYERS=atlasop&cd_ref=65254
Merci et bon week-end!
Dernière modification par Mathieu BOSSAERT (Fri 29 July 2011 17:41)
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#9 Wed 21 September 2011 17:51
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [MapServer] paramètre WMS time très lent
Jean-Marie64 a écrit:Bonjour
à l'aide de MapServer j'interroge une base de données en faisant des requêtes à la fois temporelle et spatiale ;
le temps d'exécution s'avère très long sur une grande superficie même si la profondeur temporelle est petite ;
en analysant la requête générée par MapServer je constate qu'elle contient la fonction date-trunc qui est à l'origine
du ralentissement ; apparemment il s'agit d'un bug :
http://trac.osgeo.org/mapserver/ticket/3374
je voudrais savoir si ce bug est corrigé dans la version 6 de mapserver
(il ne me semble pas d'après http://trac.osgeo.org/mapserver/milestone/6.0 release)
si ce n'est pas corrigé est-il possible de ne pas générer cette fonction puisque nous n'en avons pas besoin
merci bien
Jean-marie
ci-dessous une partie de mon mapfile où le champ date est au format timestamp dans la base Postgresql :Code:
layer name "donnees" group "donnees" type point status on connectiontype postgis connection "host=%HOST% dbname=%DBNAME%" data "coord from table using unique num" metadata "wms_title" "donnees" "wms_timeitem" "date" "wms_timeextent" "2000-01-01/2033-12-31" end ...
Bonjour,
Il n'est pas corrigé dans la 6.0, mais le sera certainement dans une version a venir, le projet ayant recu du financement par un utilisateur pour regler le probleme.
--
thomas
pour info, le bug en question vient d'etre fermé dans le trunk: http://trac.osgeo.org/mapserver/changeset/12568
Hors ligne