Thank you Daniele, for your help!! The test example you provided was
very helpful to get me started.
This entry in timeregex.properties works:
regex=([0-9]{8})(?:/rtma2p5.)(t[0-9]{2}z),format=yyyyMMdd't'HH'z',fullPath=true
Mosaic granules are in subdirectories as follows:
rtma2p5.20190731/rtma2p5.t00z.2dvaranl_ndfd.grb2_wexp
where time varies from 00 to 23 (for every hour)
It took a while to write a regex pattern. It took some time studying
regex rules.
I also tested the pattern on https://www.compilejava.net with this test:
===================
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class TestPatternExtraction
{
public static void main(String[] args)
{
String expr="([0-9]{8})(?:/rtma2p5.)(t[0-9]{2}z)";
//String expr="(.*[0-9]{8}.*t[0-9]{2}z.*)";
String name=
"/wfas/data/rtma/rhm/rtma2p5.20190731/rtma2p5.t03z.2dvaranl_ndfd.grb2_wexp";
Pattern regex = Pattern.compile(expr);
Matcher regexMatcher = regex.matcher(name);
while (regexMatcher.find()) {
try{
for (int i = 1; i <= regexMatcher.groupCount(); i++) {
System.out.println("matched text: " + regexMatcher.group(i));
System.out.println("match start: " + regexMatcher.start(i));
System.out.println("match end: " + regexMatcher.end(i));
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}//end try
}//end while
}//end main
}
=======================
This list conversation was also helpful:
https://sourceforge.net/p/geoserver/mailman/message/36061535/
As well as firing up Eclipse and tracing through the code.
Kind regards,
Alex
On 8/14/19, Daniele Romagnoli <[email protected]> wrote:
> Hi Alexander,
> you may combine custom *format *and *fullPath* parameter.
> There is an example in the GeoTools TimestampFileNameExtractorTest:
> https://github.com/geotools/geotools/blob/21.2/modules/plugin/imagemosaic/src/test/java/org/geotools/gce/imagemosaic/properties/time/TimestampFileNameExtractorTest.java#L110
>
>
> I'm not very familiar with regex so I cannot help you too much with that
> part. I always have to check the rules, each time I need a complex regex,
> which doesn't occur very often.
> Once you have identified your regex, you can use the propertiesCollector
> with this String for your file
> *rtma2p5.20190731/rtma2p5.t00z.2dvaranl_ndfd.grb2_wexp*:
>
> "regex=yourmatchingregex,format=yyyyMMdd't'HH'z',fullPath=true"
>
> Please, let us know.
> Regards,
> Daniele
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users