#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 END
si 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