R: [UMN_MAPSERVER-USERS] Oracle10g and queryByAttributes

Antonio Iandolo aiandolo at GRUPPOAS.IT
Wed Jul 5 06:42:39 PDT 2006


I've changed my idcolumn to NUMBER(16) but it still doesn't work...and I
already have defined a UNIQUE INDEX on that column...

Moreover the same script works fine both with ESRI shapefiles and with
MapInfo tables...

Now some further questions:
1) I query (queryByAttributes) on a POINT layer and there is another
POINT layer for the same oracle table (in order to handle different
symbols for different zoom levels); each of these layers has 2 classes
(one for the selected point and one for all the other "unselected"
points): do you think this could be a problem for the queryByAttributes
method?

Of course only one layer is queried, depending on the zoom level....

Other suggestions to solve this problem?

Thanks again,
Antonio



> > I've tried all the following settings, getting always the 
> same result 
> > (shapeindex < 0):
> >
> > DATA "GEOM FROM mytable USING UNIQUE idcolumn SRID 8307 
> FILTER" DATA 
> > "GEOM FROM mytable USING UNIQUE SRID 8307 FILTER" DATA "GEOM FROM 
> > mytable USING UNIQUE SRID 8307 VERSION 10g FILTER"
> >
> > The query returns 1 shape (i.e. $layer->getNumResults() = 1), but 
> > after these statements
> >
> > $layer->open();
> > $result=$layer->getResult(0);
> >
> > I do a simple var_dump($result) and I get:
> >
> > result=object(stdClass)(3) { ["shapeindex"]=>  int(-2028233538) 
> > ["tileindex"]=>  int(-1) ["classindex"]=>  int(0) }
> >
> > That is $result->shapeindex < 0!! So the following $shape 
> is "False": 
> > $shape=$layer->getShape(-1,$result->shapeindex);
> >
> > ...I don't think that $result->shapeindex should be negative...
> >
> > My software environment is:
> > - Windows XP Professional SP1
> > - Apache 2.0.55
> > - MapServer 4.8.3
> > - php 4.4.3-dev (MS4W 1.5.3)
> > - php_mapscript_48.dll (232Kb - 09/05/2006 17.22)
> > - Oracle10g (XE) 
> >
> > I have both Oracle8i and Oracle10g installed (server and 
> client), but 
> > I've renamed the Oracle8i's home directory.
> >
> > May I know your MapServer version, Php version and php_mapscript's 
> > version (maybe also php_mapscript.dll's size and date)? Maybe the 
> > problem is the php's "dev" version...(I'll "downgrade" to a stable 
> > version)
> >
> > Any further hint?
> >
> > Thanks in advance,
> > Antonio
> >
> >
> >
> >   
> >> Hi Antonio,
> >>     How did you defined your DATA parameter for you layer?
> >> The extents for your query are right?
> >>     Here I use this code as example:
> >>         // Performing the query and returning only a single record
> >>         @$qlayer->queryByAttributes($nm_field_query, $regex, 
> >> MS_SINGLE);
> >>         $numresults = $qlayer->getNumResults();
> >>         if ($numresults > 0)
> >>         {
> >>                 for($f = 0; $f < $numresults ; $f++)
> >>                 {
> >>                         // Opening the layer to return data
> >>                         $qlayer->open();
> >>                         // Getting the object that store 
> the results
> >>                         $indexResult = $qlayer->getResult($i);
> >>                         $qresult = 
> >> $qlayer->getShape(-1,$indexResult->shapeindex);
> >>
> >>                         // Getting the data from object
> >>                         // The "values" contains the data
> >>                         // for all columns that are in layer
> >> data definition
> >>                         // You can get all columns that are 
> >> in data definition
> >>                         $dataResult = 
> array($qresult->values[STATE]);
> >>
> >>                         // Cleaning and closing objects
> >>                         $qresult->free();
> >>                         $qlayer->close();
> >>                 }
> >>                 return $dataResult[0];
> >>         }
> >>
> >>       And my DATA definition:
> >>         data "geo_column from (SELECT geo_id, state, totpop,
> >> geo_column FROM tb_states) USING UNIQUE geo_id FILTER"
> >>
> >>     
> >
> >   
> 



More information about the MapServer-users mailing list