On Wed, 20 Dec 2006, Norman Barker wrote: hi norman-
I have done this a lot :-), what type of datasets are you trying to use? Python with GDAL, OGR makes this very easy. For an example I have pasted a python script that creates U+V shape indexes for MapServer WCS. It prints the times out at the end which you can copy in the mapfile as per the shape file. Let me know if you need any help. Norman
<snip> python script which i'm reading now </snip> we will be serving dmsp (http://www.ngdc.noaa.gov/dmsp/) global mosaics imagery of both visible and thermal bands (http://www.ngdc.noaa.gov/eog/nrt/html/mosaic/ut_night/loop/). we'll be serving one mosaic per band (5x) per satellite (2-3) per utday. we aim to have 30-90 days on disk and that leads to something like a max of 1000 layers. our mapserver is compiled with MS_MAXLAYERS=200 and we could simply boost - but that's getting to be a BIG mapfile! i looked at using dynamic layters but, afaikt, adding layers dynamically via mapscript results in fubar DescribeCoverage calls (see recent un-answered thread started by me on the subject). therefore, what i'm trying to do is to uses mapserver's tiling support with the TIME= filter to store one utday's mosaic per tile and then, obviously, to require TIME=utday in the query. ultimately i plan to have band and satellite specifc tiles as well to use with BAND= and PARAMETER= query components. note that none of our tiles are acutal spatial diviions. we'd like to use spatial tiles but research so far shows consistent projection errors when spatially tiled imagery is served. so, in summary, step one is reduce the number of layers i have by creating custom shapefiles (i fear this is the only way) which will support/require a TIME= component in each request. the time component with by at the utday granularity. an example tile name is F1520061212.nt.d.OIS.vis.mos.tif ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ utday my specific (newbie) questions are 1) how to create custom shapefiles which would included a time index. i think i'll be able to manage this with your example python script and by examining the output of gdaltindex. i'm using ruby btw ;-) ! 2) how to configure a mapfile to reflect this change in structure. a vis layer is now specified in auto-generated mapfiles this way: LAYER NAME "F1620061220.nt.d.OIS.vis.mos.tif" PROCESSING "SCALE_1=0,63" METADATA wcs_description "F1620061220.nt.d.OIS.vis.mos.tif" wcs_name "F1620061220.nt.d.OIS.vis.mos.tif" wcs_label "F1620061220.nt.d.OIS.vis.mos.tif" ows_srs "EPSG:4326" ows_extent "-180 -75 180 75" wcs_resolution "0.00833333 -0.00833333" wcs_bandcount "1" wcs_formats "GEOTIFF" wcs_nativeformat "8-bit GeoTIF" wcs_rangeset_name "F1620061220.nt.d.OIS.vis.mos.tif" wcs_rangeset_label "vis" wcs_rangeset_axes "bands" wcs_bands_name "bands" wcs_bands_semantic "http://www.ngdc.noaa.gov/dmsp/" wcs_bands_refSys "European Petroleum Survey Group (EPSG)" wcs_bands_label "F1620061220.nt.d.OIS.vis.mos.tif" wcs_bands_values "VIS" END STATUS off DUMP true DATA "F1620061220.nt.d.OIS.vis.mos.tif" TYPE raster PROJECTION "init=epsg:4326" END END i realize i'll have to add an index layer and to refer to it somehow in another layer definition, but am not quite clear how to go about this. 3) how much further i can abuse tile support to reduce the number of layers in my mapfile. i'm fairly certain band specfic tiles can be made to work using BAND= query component, but am uncertain of PARAMETER= could be used to support arbitrary, in this case by satellite, tiling. 4) assuming the issues with data projection can be solved, if spatial tiling could also be layered on top of the above later. 5) ... just kidding - i suppose that's enough questions for now! thanks for the input! kind regards. -a -- if you find yourself slandering anybody, first imagine that your mouth is filled with excrement. it will break you of the habit quickly enough. - the dalai lama
