[mapserver-users] Mapserver WMS time support with Oracle

Stefan Schantz sschantz at bfs.de
Wed Jan 22 08:25:13 PST 2014


Hi,
we did it and it worked, but oracle couldn't use the index of the date column.
You would have to create an index of the "to_char(date column)"-column.
Stefan


> "Rahkonen Jukka  (Tike)" <jukka.rahkonen at mmmtike.fi> hat am 21. Januar 2014 um
> 15:25 geschrieben:
> 
> 
>  Hi,
> 
> 
> 
>  Perhaps you can select the time into a format that Mapserver likes in your
> DATA by using
> to_char?<http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm>
> 
> 
> 
>  -Jukka Rahkonen-
> 
> 
> 
> 
> 
>  D. Nappo wrote
> 
> 
> 
>  ...but unfortunately MapServer wms time support doesn't include that format:
> 
>   <http://mapserver.org/it/ogc/wms_time.html>
> 
> 
> 
>  2014/1/21 D. Nappo <domenico.nappo at gmail.com
> <mailto:domenico.nappo at gmail.com> >
> 
>  Many thanks!
> 
>  It helped: the default date format in our system is DD-Mon-RR and I found it
> out with SELECT * FROM nls_database_parameters WHERE parameter LIKE '%DATE%'
> 
> 
> 
> 
> 
>  2014/1/20 Umberto Nicoletti <umberto.nicoletti at gmail.com
> <mailto:umberto.nicoletti at gmail.com> >
> 
>  On Mon, Jan 20, 2014 at 2:44 PM, D. Nappo <domenico.nappo at gmail.com
> <mailto:domenico.nappo at gmail.com> > wrote:
> 
>  Hi there,
> 
> 
> 
>  I couldn't figure out how to solve this. I have a layer so configured:
> 
> 
> 
>  LAYER
> 
>        NAME "layer"
> 
>        TYPE point
> 
>        CONNECTION "conn_string...."
> 
>        CONNECTIONTYPE ORACLESPATIAL
> 
>        TEMPLATE     "templates/hotspot_template.html"
> 
>        DATA "SHAPE FROM (SELECT POINT as SHAPE, ACQ_DATE, ACQ_TIME, SATELLITE,
> CONFIDENCE, VERSION, BRIGHT_T31, FRP FROM gwsprd.HOT_SPOTS_MODIS) using unique
> OGR_FID"
> 
>        METADATA
> 
>              "wms_title"             "WMS test"
> 
>              "wms_srs"               "EPSG:4326"
> 
>              "wms_extent"            "-180 -90 180 90"
> 
>              "wms_timeextent" "2000-01-01/2020-12-31"
> 
>              "wms_timeitem" "acq_date"
> 
>              "wms_timedefault" "2014-01-01"
> 
>              "wms_timeformat" "YYYY-MM-DD"
> 
> 
> 
> 
> 
>  Try with this:
> 
> 
> 
>  "wms_timeformat" "DD-MM-YY"
> 
> 
> 
>  it is the default format Oracle expects when converting a string to a date
> and no format has been explicitly provided.
> 
> 
> 
>  Hth,
> 
>  Umberto
> 
> 
> 
> 
> 
>   > > 
> >               "wms_enable_request" "*"
> > 
> >           END
> > 
> >   CLASS
> > 
> >               SYMBOL 'circle'
> > 
> >               SIZE 2
> > 
> >               COLOR        255 0 0
> > 
> >           END
> > 
> >       END
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >   Now, the date column in the oracle table is the acq_date field.
> > 
> > 
> > 
> > 
> > 
> >   The problem is that Mapserver translates that with a wrong oracle query
> > (which it works in postgreslq, I guess):
> > 
> > 
> > 
> >   SELECT OGR_FID,rownum, SHAPE FROM
> > 
> >   (SELECT OGR_FID, POINT as SHAPE,  ACQ_DATE, ACQ_TIME, SATELLITE,
> > CONFIDENCE, VERSION, BRIGHT_T31, FRP FROM gwsprd.HOT_SPOTS_MODIS)
> > 
> >   WHERE  acq_date = '2014-01-16'
> > 
> > 
> > 
> > 
> > 
> >   The query above uses a wrong filter and it gives the error:
> > 
> > 
> > 
> >   ORA-01861: literal does not match format string
> > 
> > 
> > 
> > 
> > 
> >   How can I tell to Mapserver to use a correct query??? Or do I missing
> > anyhting???
> > 
> >   Something like:
> > 
> > 
> > 
> >   WHERE acq_date = to_date('2014-01-16','YYYY-MM-DD')
> > 
> > 
> > 
> >   _______________________________________________
> >   mapserver-users mailing list
> >   mapserver-users at lists.osgeo.org <mailto:mapserver-users at lists.osgeo.org>
> >   <http://lists.osgeo.org/mailman/listinfo/mapserver-users>
> > 
> >  > 
> 
> 
> 
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20140122/bb08826d/attachment.html>


More information about the mapserver-users mailing list