Oracle Spatial Filter problem

Fernando Simon fsimon at UNIVALI.BR
Mon Jun 26 10:12:39 EDT 2006


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/E110 at PMCGIS2.WORLD <mailto:E110/E110 at PMCGIS2.WORLD>"
> 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/E110 at PMCGIS2.WORLD <mailto:E110/E110 at PMCGIS2.WORLD>"
> 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
>  
>  
>  
>  
>  



More information about the mapserver-users mailing list