Pages: 1
- Sujet précédent - [MAPSERVER] afficher des points obtenus avec une requête select - Sujet suivant
#1 Tue 12 November 2013 11:42
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
[MAPSERVER] afficher des points obtenus avec une requête select
Bonjour
je souhaiterais afficher des points dont j'obtiens les coordonnées en faisant une requête à une base de données postgresql
la requête (simplifiée) utilisée est la suivante :
select sid, longitude, latitude from table
les champs longitude et latitude sont de type réel
j'ai essayé d'utiliser connectiontype postgresql mais sans succès (voir le mapfile ci-dessous)
peux-t'on y parvenir avec ce type de connexion ?
merci bien
Jean-Marie
Code:
layer name "LAYER_POINTS" group "LAYER_POINTS" type point status on connectiontype postgresql connection "host=...." data "longitude,latitude from (select sid, longitude, latitude from sensor_config) as new_table using unique sid" projection "init=epsg:4326" end class style symbol "Point" size 6 color 220 0 0 end end end
Hors ligne
#2 Tue 12 November 2013 12:10
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: [MAPSERVER] afficher des points obtenus avec une requête select
Bonjour.
Dans mes mapfiles je renvoie directement une géométrie (wkb_geometry, the_geom, ou autre) qui est présente dans ma base postgres/postGIS.
=> wkb_geometry from (select * from programmation where XXXXX and XXXX) as foo USING UNIQUE ogc_fid
Je suppose que si vous renvoyez des coordonnées, il faut utiliser une fonction qui va générer un élément de type point à partir de ces coordonnées.
L'idéal n'est-il pas de passer par PostGIS pour créer une couche ou une vue avec la géométrie (fonction ST_MakePoint à utiliser avec ST_SetSRID)?
Cordialement
JPL
Hors ligne
#3 Tue 12 November 2013 14:07
- tbonfort
- Participant actif
- Date d'inscription: 11 Oct 2007
- Messages: 87
Re: [MAPSERVER] afficher des points obtenus avec une requête select
comme pointé par jp llorens, tu dois renvoyer une geometrie à mapserver. la bonne nouvelle c'est que tu peux le faire a la volée:
Code:
DATA "the_geom from select(st_setsrid(st_makepoint(lon, lat), 4326) as the_geom, sid from sensor) as foo using unique sid using srid=4326"
Hors ligne
#4 Tue 12 November 2013 16:21
- Jean-Marie64
- Participant actif
- Lieu: Pau
- Date d'inscription: 6 Nov 2007
- Messages: 131
Re: [MAPSERVER] afficher des points obtenus avec une requête select
Bonjour
un grand merci pour vos explications !
j'ai effectivement opté pour le calcul à la volé car il y a peu de points
Jean-Marie
Hors ligne
Pages: 1
- Sujet précédent - [MAPSERVER] afficher des points obtenus avec une requête select - Sujet suivant