#1 Tue 09 March 2010 13:32
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
[Mapserver/Postgis]
Bonjour à tous,
j'essaie d'afficher un mapfile avec phpmapscript. Ma requête tourne nickel sous postgis.
je n'arrive pas à saisir d'où vient mon erreur.
voici le message
Code:
Warning: [MapServer Error]: msDrawMap(): Failed to draw layer named 'Boucheries charcuteries traiteurs3'. in C:\ms4w\Apache\htdocs\test.php on line 5 Warning: [MapServer Error]: msPostGISLayerGetItems(): Error (ERREUR: erreur de syntaxe sur ou près de « where » LINE 34: ) where false limit 0 ^ ) executing SQL: select * from cce,equip_point WHERE ( id_cce in ( SELECT id_cce from geo where id_secteur=52 ) ) AND id_cce in ( SELECT id_cce from siret where ( date_fin is null AND ( id_t2=3 ) ) ) AND ( ( distance(cce.the_geom,equip_point.the_geom)<300 AND ( id_point in ( SELECT id_geom from equip where id_teq=2 ) ) ) ) where false limit 0 in C:\ms4w\Apache\htdocs\test.php on line 5 Fatal error: Call to a member function saveWebImage() on a non-object in C:\ms4w\Apache\htdocs\test.php on line 7
mon mapfile
Code:
MAP
NAME "Cartographie des commerces"
STATUS ON
EXTENT 435697.659999996 196835.210000001 444937.859999999 206913.719999999
SIZE 800 800
FONTSET "c:/ms4w/Apache/htdocs/fonts.list"
UNITS METERS
IMAGECOLOR 207 218 235
IMAGETYPE png
OUTPUTFORMAT
NAME png
DRIVER "agg/PNG"
MIMETYPE "image/png"
IMAGEMODE RGBA
EXTENSION "png"
END
WEB
#le chemin IMAGEPATH doit être saisi en dur...
IMAGEPATH "c:/ms4w/Apache/htdocs/tmp/"
IMAGEURL "/tmp/"
MINSCALE 250
END
LEGEND
STATUS ON
IMAGECOLOR 255 243 211
KEYSIZE 15 15
KEYSPACING 5 5
LABEL
TYPE TRUETYPE
FONT "arial"
SIZE 8
COLOR 0 0 0
PARTIALS TRUE
END
END
SCALEBAR
STATUS EMBED
COLOR 0 0 0
TRANSPARENT OFF
UNITS KILOMETERS
INTERVALS 2
SIZE 120 2
STYLE 1
POSITION LL
LABEL
TYPE BITMAP
SIZE SMALL
OFFSET 0 0
COLOR 0 0 0
PARTIALS FALSE
END
END
LAYER
NAME "Boucheries charcuteries traiteurs3"
STATUS ON
CONNECTIONTYPE POSTGIS
CONNECTION "user=postgres password=eclipse dbname=ccih host=127.0.0.1"
DATA "SELECT cce.the_geom from cce,equip_point
WHERE
(
id_cce in
(
SELECT id_cce from geo where id_secteur=52
)
)
AND
id_cce in
(
SELECT id_cce from siret where
(
date_fin is null AND ( id_t2=3 )
)
)
AND
(
(
distance(cce.the_geom,equip_point.the_geom)<300
AND
(
id_point in
(
SELECT id_geom from equip where
id_teq=2
)
)
)
) using unique gid"
PROJECTION
"init=epsg:27561"
END # Projection
DUMP TRUE
LABELITEM "affichage"
TYPE POINT
CLASSGROUP "Boucheries charcuteries traiteurs3"
CLASS
NAME "Boucheries charcuteries traiteurs3"
GROUP "Boucheries charcuteries traiteurs3"
LABEL
TYPE TRUETYPE
FONT arial
SIZE 9
BUFFER 5
FORCE FALSE
PARTIALS TRUE
POSITION AUTO
BACKGROUNDCOLOR 225 225 225
END
MINSCALE 50000
MAXSCALE 1000000
STYLE
SYMBOL 'c:/ms4w/Apache/htdocs/symbols/3_10px.png'
END
END
CLASSGROUP "Boucheries charcuteries traiteurs3"
CLASS
NAME "Boucheries charcuteries traiteurs3"
GROUP "Boucheries charcuteries traiteurs3"
LABEL
TYPE TRUETYPE
FONT arial
SIZE 9
BUFFER 5
FORCE FALSE
PARTIALS TRUE
POSITION AUTO
BACKGROUNDCOLOR 225 225 225
END
MINSCALE 4000
MAXSCALE 15000
STYLE
SYMBOL 'c:/ms4w/Apache/htdocs/symbols/3_30px.png'
END
END
CLASSGROUP "Boucheries charcuteries traiteurs3"
CLASS
NAME "Boucheries charcuteries traiteurs3"
GROUP "Boucheries charcuteries traiteurs3"
LABEL
TYPE TRUETYPE
FONT arial
SIZE 9
BUFFER 5
FORCE FALSE
PARTIALS TRUE
POSITION AUTO
BACKGROUNDCOLOR 225 225 225
END
MINSCALE 15000
MAXSCALE 50000
STYLE
SYMBOL 'c:/ms4w/Apache/htdocs/symbols/3_20px.png'
END
END
CLASSGROUP "Boucheries charcuteries traiteurs3"
CLASS
NAME "Boucheries charcuteries traiteurs3"
GROUP "Boucheries charcuteries traiteurs3"
LABEL
TYPE TRUETYPE
FONT arial
SIZE 9
BUFFER 5
FORCE FALSE
PARTIALS TRUE
POSITION AUTO
BACKGROUNDCOLOR 225 225 225
END
MINSCALE 500
MAXSCALE 4000
STYLE
SYMBOL 'c:/ms4w/Apache/htdocs/symbols/3_64px.png'
END
END
END
ENDsi quelqu'un à une idée je suis preneur !
Merci d'avance
Hors ligne
#2 Sun 14 March 2010 21:24
Re: [Mapserver/Postgis]
Bonsoir,
Regarde la doc de MapServer pour le paramètr DATA :
Code:
DATA "the_geom FROM (SELECT cce.the_geom from cce,equip_point
WHERE
(
id_cce in
(
SELECT id_cce from geo where id_secteur=52
)
)
AND
id_cce in
(
SELECT id_cce from siret where
(
date_fin is null AND ( id_t2=3 )
)
)
AND
(
(
distance(cce.the_geom,equip_point.the_geom)<300
AND
(
id_point in
(
SELECT id_geom from equip where
id_teq=2
)
)
)
)
) as foo using unique gid"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 Thu 18 March 2010 16:44
- nicolas.leclerc
- Participant actif
- Date d'inscription: 8 Apr 2009
- Messages: 78
Re: [Mapserver/Postgis]
Bonjour,
mon erreur venait bien de là.
c'est résolu
Merci beaucoup, encore une fois...
Hors ligne


