Hi Simon,
problem is solved,
the Filter must be formatted somehow like:
DATA "GEOLOC FROM E112_CELLS_GEO USING SRID 8307 FILTER"
FILTER "cell='BAMK5D'"
FILTER "cell='BAMK5D'"
the SRID seems to be a must for the filter.
thanks again for your help.
zhonghai
On 6/26/06, Zhonghai Wang <[EMAIL PROTECTED]> wrote:
Hi Simon,how is everything? thanks for your hints.as you said, I set the Filter again like this:DATA "GEOLOC FROM E112_CELLS_GEO USING FILTER"FILTER "cell='BAMK5D'"with the cell='BAMK5D' condition in the SQLPlus 12 elements will be selected, but with mapserverit returns still some error messages:msOracleSpatialLayerWhichShapes(): OracleSpatial error. Error: ORA-29902: error in executing ODCIIndexStart() routine
ORA-13208: internal error while evaluating [window SRID does not match layer SRID] operator
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 259
ORA-06512: at line 1
. Query statement: SELECT rownum, GEOLOC FROM E112_CELLS_GEO WHERE cell='BAMK5D' AND SDO_FILTER( GEOLOC, MDSYS.SDO_GEOMETRY(2003, NULL, NULL, MDSYS.SDO_ELEM_INF
O_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(5.95587,45.11214,10.49203,48.51426) )
,'querytype=window') = 'TRUE' .Check your data statement.It seems that I should specify certain SRID code, but in this case the SRID code is not necessary.BTW: the SRID is 8307thankszhonghai
On 6/26/06, Fernando Simon <[EMAIL PROTECTED] > wrote:Hi,
Just remove the "WHERE" from FILTER parameter. Like: FILTER
"MI_PRINX =100"
Best regards.
Fernando Simon
Zhonghai Wang wrote:
> Hi there,
>
> I am trying to render the map with oracle spatial database, and facing
> problems with the FILTER _expression_.
>
> at first I define the oracle spatial connection like:
>
> CONNECTIONTYPE ORACLESPATIAL
> CONNECTION " E110/[EMAIL PROTECTED] <mailto: E110/[EMAIL PROTECTED]>"
> DATA "GEOLOC FROM E112_CELLS_GEO USING UNIQUE MI_PRINX SRID 8307"
>
> and this one works fine, therefore I am sure that the mapfile
> definition is ok, and then I change the data connection to :
>
> CONNECTIONTYPE ORACLESPATIAL
> CONNECTION " E110/[EMAIL PROTECTED] <mailto:E110/[EMAIL PROTECTED]>"
> DATA "GEOLOC FROM E112_CELLS_GEO USING FILTER"
> FILTER "WHERE MI_PRINX =100"
>
> to use the FILTER function for a specific selection, but this
> definition gives aan error instead of the map image:
>
> ERROR:
> msOracleSpatialLayerWhichShapes(): OracleSpatial error. Error:
> ORA-00936: missing _expression_ .
> Query statement: SELECT rownum, GEOLOC FROM E112_CELLS_GEO WHERE WHERE
> MI_PRI
> NX=100 AND SDO_FILTER( GEOLOC, MDSYS.SDO_GEOMETRY(2003, NULL,
> NULL,MDSYS.SDO_ELE
> M_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(5.95587
> ,45.11214,10.49203,48.514
> 26) ),'querytype=window') = 'TRUE' .
> Check your data statement.
>
> I can not figure out where the problem is. the MI_PRINX is the unique
> id of the table, if I make this query in the SQLPlus, the data will be
> returned, which means the where condition in the SQL is no problem.
>
> any ideas for this?
>
> kind regards
>
> zhonghai
>
>
>
>
>
