Unsupported operand types
Matthew Roberson
matt at MSILEADS.COM
Mon Jun 20 07:28:16 PDT 2005
I really need some help. I posted this late friday
afternoon, however I am going to repost it in case
anyone who might be able to help me missed it.
I am trying to use the queryByAttributes method of
the LayerObj class of PHP/Mapscript and I am doing
something wrong, because I get the following error:
Fatal error: Unsupported operand types in
C:\ms4w\apps\test\htdocs\LA.phtml on line 12
I am running in Windows XP professional with:
ms4w 1.1
I also get the same error in MacOS X with a custom
compiled version of MapSever.
The Map File is contains:
MAP
NAME LA
IMAGETYPE PNG
SIZE 600 600
IMAGECOLOR 240 240 240
SHAPEPATH "../data"
FONTSET ../etc/fonts.txt
EXTENT -94.043147 28.925011 -88.817017 33.019457
UNITS METERS
WEB
IMAGEPATH "/ms4w/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LEGEND
STATUS EMBED
POSITION UR
END
SCALEBAR
TRANSPARENT ON
BACKGROUNDCOLOR 0 0 0
STATUS EMBED
POSITION LR
STYLE 1
END
LAYER
NAME "LA zip code boundaries"
TYPE POLYGON
STATUS DEFAULT
DATA "zt22_d00"
LABELITEM "ZCTA"
CLASS
COLOR 254 0 0
LABEL
COLOR 60 60 60
SHADOWCOLOR 218 218 218
SHADOWSIZE 1 1
TYPE TRUETYPE
FONT fritqat
SIZE 8
ANTIALIAS TRUE
POSITION CL
PARTIALS FALSE
MINDISTANCE 5
BUFFER 4
END
OUTLINECOLOR 60 60 60
SYMBOL 0
END
TEMPLATE "x"
END
LAYER
NAME "credits"
STATUS DEFAULT
TRANSFORM FALSE
TYPE ANNOTATION
FEATURE
POINTS
10 680
END
TEXT 'Made with Mapserver.'
END
CLASS
LABEL
TYPE BITMAP
POSITION CR
COLOR 0 0 0
END
END
END
END
My .phtml file contains:
<?php
if (!extension_loaded("MapScript"))
{
dl("php_mapscript_44.dll");
}
if (!extension_loaded("dbase"))
{
dl("php_dbase.dll");
}
$map_file="./LA.map";
$map = ms_newMapObj($map_file);
//$image=$map->draw();
//$image_url=$image->saveWebImage();
$oZipLayer = $map->getLayerByName("LA zip code
boundaries");
//Do query
$sZip = '12603';
$sAttrName = 'ZCTA';
$qresult =
@$oZipLayer->queryByAttributes($sAttrName,$sZip,MS_MULTIPLE);
$image = $map->drawQuery();
$image_url = $image->saveWebImage();
$error = ms_GetErrorObj();
while($error && $error->code != MS_NOERR)
{
printf("Error in %s: %s \n", $error-routine,
$error->messaage);
$error = $error->next();
}
?>
<HTML>
<HEAD>
<TITLE>LA Zip Codes</TITLE>
</HEAD>
<BODY>
<img SRC="<?php echo $image_url?>">
<p>This is an unprojected map of the 5 digit zip code
boundries for the state of Louisianna,
from the <a
href="http://www.census.gov/geo/www/cob/z32000.html">
US Census Bureau</a>.</p>
<p>To find the categories for the legend, I used the
<code>ogrinfo</code> utility twice.
<code>ogrinfo -a -summary zt22_d00.shp</code> let me
see what fields were available, and
<code>ogrinfo -a zt22_d00.shp|grep SYMBOL|sort
-u</code> told me what all of the unique values were
so that
I could build my <code>CLASS</code> definitions in
<code>LA.map</code>.
</p>
</BODY>
</html>
<?php
print_r($oZipLayer);
print_r($qresult);
if ($oZipLayer->getNumResults() > 0)
echo $oZipLayer->getNumResults()." zips found.";
else
echo "No zips found."
?>
I would appreciate any help or suggestions anyone has
to offer.
Thanks,
Matt
More information about the MapServer-users
mailing list