[mapserver-users] How to serve data that changes with time

Antonis Christofides anthony at itia.ntua.gr
Tue Sep 9 06:55:06 PDT 2014


Hi,

I am quite new to GIS and mapserver.

I have written software, let's call it "bitia", that outputs a map of
temperature in a GeoTIFF; each hour it produces a new one. I need to
serve this map with mapserver, so that other software can get it and do
more work with it.

I am generally at a loss on how to manage times.

Initially I thought I'd put the timestamp in the filenames:

    temperature-2014-09-09-16-00.tif
    temperature-2014-09-09-17-00.tif
    temperature-2014-09-09-18-00.tif
    ...

Then I thought that this might be suboptimal so I changed it to this:

    temperature-0000.tif  <- Latest
    temperature-0001.tif  <- Last but one
    temperature-0002.tif  <- ...

The system renames the files one position down each time it produces a
new one, and stores the times inside the file, in a GDAL metadata item
named TIMESTAMP.

Now, after reading about tile indexes [1], WMS Time [2], and WCS
spatio/temporal indexes [3], I conclude that my original idea was
probably better. So I'm thinking I will have the system work thus:

  1. Have bitia produce GeoTIFF files with the timestamp in the file
     name.
  2. Use gdaltindex to create a tile index of these files.
  3. Write a script to add the timestamp of the files to the dbf of the
     tile index.
  4. Have mapserver serve these files with WCS/WMS.

Could you please tell me if I'm on the right track? I've been
experimenting with the above but I haven't found a way for the WMS/WCS
client to ask "tell me for which times you have data", and I will
probably have more questions once I start implementing it.

Thanks!


[1] http://mapserver.org/optimization/tileindex.html
[2] http://mapserver.org/ogc/wms_time.html
[3] http://mapserver.org/ogc/wcs_server.html#spatio-temporal-indexes


More information about the mapserver-users mailing list