[Mapserver-users] Re: querybyattributes with Postgres/Postgis Layer

Nicol Hermann mapserver at geochem.de
Mon Dec 1 11:44:18 PST 2003


Hi Colin,

thank you very much for your answer.
I'am not sure if i understood your tip correct.

I modified my code to:

$layer = $Map ->getLayerbyname("Regionen");
$layer -> set("status", MS_ON );
$cobj = $layer -> getclass(0);
$cobj -> set ("template", "postgis_query_attribut.php");
$status = $layer->querybyattributes("plzort01", "Mutterstadt",
MS_MULTIPLE);

The url/filename of my template is the name of the script itself. Is
this right?

When i execute my script with the 'getclass(0)' request the Message: 
"Warning: [MapServer Error]: prep_DB(): Error executing POSTGIS DECLARE
..." disappeared and i get back a blank page. If i comment out the line
with this request the message appears again. 

I both cases i futher on get the Message:
ERROR:  Attribute "mutterstadt" not found
on my shell whenever i reload my script.

According to the documentation "mutterstadt" is the 'qstring' of the
method an not the 'qitem' (->
int queryByAttributes(string qitem, string qstring, int mode) )

Futher hints would be greatly appreciated.
Many thanks
Nicol


Am Mo, 2003-12-01 um 15.25 schrieb cgowens at softhome.net:
> Try using the TEMPLATE option under CLASS for the LAYER.  Set the the url to 
> your query.php file that runs the SQL statement. 
> 
> Colin 
> 
> 
> mapserver-users-request at lists.gis.umn.edu writes: 
> 
> > Send Mapserver-users mailing list submissions to
> > 	mapserver-users at lists.gis.umn.edu 
> > 
> > To subscribe or unsubscribe via the World Wide Web, visit
> > 	http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> > or, via email, send a message with subject or body 'help' to
> > 	mapserver-users-request at lists.gis.umn.edu 
> > 
> > You can reach the person managing the list at
> > 	mapserver-users-admin at lists.gis.umn.edu 
> > 
> > When replying, please edit your Subject line so it is more specific
> > than "Re: Contents of Mapserver-users digest..." 
> > 
> > 
> > Today's Topics: 
> > 
> >    1. Problems with tab files in MapLab (Stephen Wallace)
> >    2. Re: [ms4w-users] Problems with tab files in MapLab (Daniel Morissette)
> >    3. MapServer passes 82/83 tests of the OGC WMS testsuite (Daniel Morissette)
> >    4. Re: MapServer passes 82/83 tests of the OGC WMS testsuite (Daniel Morissette)
> >    5. Re: Re: MapServer passes 82/83 tests of the OGC
> >        WMS testsuite (Doug Cates)
> >    6. RE: MapServer passes 82/83 tests of the OGC WMS
> >        testsuite (Kralidis,Tom [Burlington])
> >    7. Re: Re: MapServer passes 82/83 tests of the OGC
> >        WMS testsuite (Gerry Creager N5JXS)
> >    8. Re: MapServer passes 82/83 tests of the OGC WMS testsuite (Bart van den Eijnden)
> >    9. Re: querybyattributes with Postgres/Postgis Layer (Damian Schroder)
> >   10. Segmentation Fault -- reference image -- PHP (Ed Martin) 
> > 
> > --__--__--
> 
> > 
> > Message: 9
> > Date: Sat, 29 Nov 2003 08:41:48 -0800 (PST)
> > From: Damian Schroder <map_surfer at yahoo.com>
> > Subject: Re: [Mapserver-users] querybyattributes with Postgres/Postgis Layer
> > To: mapserver-users at lists.gis.umn.edu 
> > 
> > --0-1435250590-1070124108=:89418
> > Content-Type: text/plain; charset=us-ascii 
> > 
> > try using a filter instead of querybyattributes. 
> > 
> > Nicol Hermann <mapserver at geochem.de> wrote:Dear List, 
> > 
> > i trying to do a querybyattributes Query with a Postgres/Postgis layer
> > and get the following error: 
> > 
> > Warning: [MapServer Error]: prep_DB(): Error executing POSTGIS DECLARE
> > (the actual query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT
> > plzort01::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from plz_gebiete WHERE (Mutterstadt) and (the_geom && setSRID( 'BOX3D(5.865627 46.57242768,15.039879 55.75900832)'::BOX3D,find_srid('','plz_gebiete','the_geom') ))' 
> > 
> > here is the relevant part of my code: 
> > 
> > $layer = $Map ->getLayerbyname("Regionen");
> > $layer -> set("status", MS_ON );
> > $status = $layer->querybyattributes("plzort01", "Mutterstadt",
> > MS_MULTIPLE); 
> > 
> > It seems that the 'qitem' (plzort01) won't be evaluated because it is
> > not present in the SQL statement.
> > I also tried the qitem with upper case. The same error appears. 
> > 
> > The debugging message on my shell says: 
> > ERROR: Attribute "mutterstadt" not found 
> > 
> > My Postgis Version is: Mappostgis.c - version of June 12/2003. 
> > and i`am using Mapserver 4.0.1 on a Linux box. 
> > 
> > Does anybody know how I can solve this problem?
> > Many thanks
> > Nicol 
> > 
> > 
> > -- 
> > Nicol Hermann  
> > 
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> > 
> > 
> > ---------------------------------
> > Do you Yahoo!?
> > Free Pop-Up Blocker - Get it now
> > --0-1435250590-1070124108=:89418
> > Content-Type: text/html; charset=us-ascii 
> > 
> > <DIV>try using a filter instead of querybyattributes.<BR><BR><B><I>Nicol Hermann <mapserver at geochem.de></I></B> wrote:
> > <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Dear List,<BR><BR>i trying to do a querybyattributes Query with a Postgres/Postgis layer<BR>and get the following error:<BR><BR>Warning: [MapServer Error]: prep_DB(): Error executing POSTGIS DECLARE<BR>(the actual query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT<BR>plzort01::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from plz_gebiete WHERE (Mutterstadt) and (the_geom && setSRID( 'BOX3D(5.865627 46.57242768,15.039879 55.75900832)'::BOX3D,find_srid('','plz_gebiete','the_geom') ))'<BR><BR>here is the relevant part of my code:<BR><BR>$layer = $Map ->getLayerbyname("Regionen");<BR>$layer -> set("status", MS_ON );<BR>$status = $layer->querybyattributes("plzort01", "Mutterstadt",<BR>MS_MULTIPLE);<BR><BR>It seems that the 'qitem' (plzort01) won't be evaluated because it is<BR>not present in the SQL statement.<BR>I also tried the!
>   q!
> >  item with
> >  upper case. The same error appears.<BR><BR>The debugging message on my shell says: <BR>ERROR: Attribute "mutterstadt" not found<BR><BR>My Postgis Version is: Mappostgis.c - version of June 12/2003. <BR>and i`am using Mapserver 4.0.1 on a Linux box.<BR><BR>Does anybody know how I can solve this problem?<BR>Many thanks<BR>Nicol<BR><BR><BR>-- <BR>Nicol Hermann <MAPSERVER at GEOCHEM.DE><BR><BR>_______________________________________________<BR>Mapserver-users mailing list<BR>Mapserver-users at lists.gis.umn.edu<BR>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users</BLOCKQUOTE></DIV><p><hr SIZE=1>
> > Do you Yahoo!?<br>
> > <a href="http://us.rd.yahoo.com/slv/mailtag/*http://companion.yahoo.com/">Free Pop-Up Blocker - Get it now</a>
> > --0-1435250590-1070124108=:89418-- 
> > 
> > --__--__-- 
> > 
> > Message: 10
> > Date: Sat, 29 Nov 2003 11:59:53 -0500
> > From: Ed Martin <edman007x at mac.com>
> > To: mapserver-users at lists.gis.umn.edu
> > Subject: [Mapserver-users] Segmentation Fault -- reference image -- PHP 
> > 
> > i am using the map file and map stuff from the cvs mapserver (did not 
> > compile from cvs, i used the stable version 4.0.1) and when i try to 
> > get the reference image using a very simple script i get the jpeg 
> > header an then a segmentation fault when run in the command line and a 
> > blank page when in a browser, turning off the jpeg header still gives 
> > me a blank page 
> > 
> > here is the php file i am using 
> > 
> > <?
> > require_once('../inc/conf.inc.php');//get config
> > //load mapscript
> > dl("php_mapscript.so");
> > header("Content-type: image/jpeg");
> > // start map
> > $map=ms_newMapObj("tests/test.map");
> > $img=$map->drawReferenceMap();
> > $img->saveImage('');
> > ?> 
> > 
> > and here is the reference part of the map file 
> > 
> > #refence map
> >    REFERENCE
> >      IMAGE ./reference.jpeg
> >      EXTENT -0.5 50.977222 0.5 51.977222
> >      SIZE 120 120
> >      STATUS ON
> >      COLOR 255 255 0
> >      OUTLINECOLOR 255 100 0
> >      STATUS ON
> >      MARKER "line"
> >      MARKERSIZE 5
> >      MINBOXSIZE 50
> >      MINBOXSIZE 100
> >    END 
> > 
> > i have output set to jpeg and changing the reference image to jpg or 
> > png doesn't help and i tried gif and that gave an error saying that it 
> > couldn't load it (probably because gifs aren't supported by gd, but 
> > this page ( 
> > http://mapserver.gis.umn.edu/doc40/mapfile-reference.html#referencemap
> > ) says it has to be a gif) 
> > 
> > could it be the way i made the reference image, i just took the main 
> > image, cropped out the boarder, shrunk it to 120x120 and saved it in 
> > various formats 
> > 
> > i see nothing in my apache logs, but i know it is logging to them 
> > because a parse error will show up, i have error reporting set to the 
> > highest (E_ALL), i'm using mapserver 4.0.1, php 4.3.4 as CGI, apache 
> > 2.0.48, slackware linux 9.0 
> > 
> > so does anyone have any clue as to what is causing this, my map file, 
> > do i have to put more stuff in the php file, is it the way i made the 
> > image, or is it a bug 
> > 
> >  
> > 
> > --__--__-- 
> > 
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> > 
> > 
> > End of Mapserver-users Digest
>  
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
-- 
Nicol Hermann <mapserver at geochem.de>




More information about the MapServer-users mailing list