geosolutions-it / geobatch

Open Source GeoSpatial Processing Simplified
GNU General Public License v3.0
22 stars 19 forks source link

Add support for ranged dimensions #222

Closed etj closed 11 years ago

etj commented 11 years ago

ImageMosaicAction should be able to support ranged dimension for time, elevation and custom attribs.

Here's a sample indexer file:

TimeAttribute=time;endtime
ElevationAttribute=lowz;highz
AdditionalDomainAttributes=date,wavelength(loww;highw)
Schema= the_geom:Polygon,location:String,time:java.util.Date,endtime:java.util.Date,date:String,lowz:Integer,highz:Integer,loww:Integer,highw:Integer
PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](time),TimestampFileNameExtractorSPI[timeregexend](endtime),StringFileNameExtractorSPI[dateregex](date),IntegerFileNameExtractorSPI[elevationregex](lowz),IntegerFileNameExtractorSPI[elevationregexhigh](highz),StringFileNameExtractorSPI[wavelengthregex](loww),StringFileNameExtractorSPI[wavelengthregexhigh](highw)
etj commented 11 years ago

The configuration:

<ImageMosaicActionConfiguration>
...
 <DomainAttribute>
    <dimensionName>time</dimensionName>
    <regEx>.*</regEx>
  </DomainAttribute>
  <DomainAttribute>
    <dimensionName>elevation</dimensionName>
    <attribName>minz</attribName>
    <regEx>.*</regEx>
    <endRangeAttribName>maxz</endRangeAttribName>
    <endRangeRegEx>.*</endRangeRegEx>
    <type>DOUBLE</type>
  </DomainAttribute>
  <DomainAttribute>
    <dimensionName>date</dimensionName>
    <regEx>regexDATE</regEx>
    <type>STRING</type>
  </DomainAttribute>
  <DomainAttribute>
    <dimensionName>wavelenght</dimensionName>
    <attribName>loww</attribName>
    <regEx>...regexLO...</regEx>
    <endRangeAttribName>highw</endRangeAttribName>
    <endRangeRegEx>...regexHI...</endRangeRegEx>
    <type>DOUBLE</type>
  </DomainAttribute>
</ImageMosaicActionConfiguration>

will generate this indexer file:

TimeAttribute=time
ElevationAttribute=minz;maxz
AdditionalDomainAttributes=date,wavelenght(loww;highw)
Schema=*the_geom:Polygon,location:String,time:java.util.Date,minz:Double,maxz:Double,date:String,loww:Double,highw:Double
PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](time);DoubleFileNameExtractorSPI[minzregex](minz)DoubleFileNameExtractorSPI[maxzregex](maxz);StringFileNameExtractorSPI[dateregex](date);DoubleFileNameExtractorSPI[lowwregex](loww)DoubleFileNameExtractorSPI[highwregex](highw)

and the related regex property files.

etj commented 11 years ago

Old configuration will be read, parsed and translated. The log will show a warning asking to update the configuration files.

etj commented 11 years ago

Ranges dimensions in mosaic are supported in GT10 and GS24x