我想为我想为其创建THREDDS目录的NetCDF文件有一些复杂的目录结构。
/data/buoy/A0121/realtime/A0121.met.realtime.nc
/A0121.waves.realtime.nc
etc.
/data/buoy/A0122/realtime/A0122.met.realtime.nc
/A0122.sbe37.realtime.nc
etc.
/data/buoy/B0122/realtime/B0122.met.realtime.nc
/B0122.sbe37.realtime.nc
etc.
但我发现datasetScan和aggregation / scan元素中的regExp属性似乎无法使用regExp处理子目录。例如,此商品有效。
<datasetScan name="All TEST REALTIME" ID="all_test_realtime" path="/All/Realtime"
location="/data/buoy/B0122" >
<metadata inherited="true">
<serviceName>all</serviceName>
</metadata>
<filter>
<include regExp="realtime" atomic="false" collection="true" />
<include wildcard="*.nc" />
<!-- exclude directory -->
<exclude wildcard="old" atomic="false" collection="true" />
</filter>
</datasetScan>
但以下情况并非如此。没有找到数据集。
<datasetScan name="All TEST REALTIME" ID="all_test_realtime" path="/All/Realtime"
location="/data/buoy" >
<metadata inherited="true">
<serviceName>all</serviceName>
</metadata>
<filter>
<include regExp="B0122/realtime" atomic="false" collection="true" />
<include wildcard="*.nc" />
<!-- exclude directory -->
<exclude wildcard="old" atomic="false" collection="true" />
</filter>
</datasetScan>
这是一个非常简化的示例,仅用于确认regExp与此ncML页面底部隐含的子目录不匹配。 http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/ncml/v2.2/AnnotatedSchema4.html
我的真正目标是通过&lt; scan regExp =“”&gt;
使用ncML聚合我应该使用FeatureCollections吗?这些是非常简单的时间序列浮标观察文件。
答案 0 :(得分:3)
如果您正在扫描<aggregation>
的文件并且想要包含子目录,则可以在subdirs="true"
元素中添加<scan>
,例如:
<?xml version="1.0" encoding="UTF-8"?>
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
<aggregation dimName="ocean_time" type="joinExisting">
<scan location="." regExp=".*vs_his_[0-9]{4}\.nc$" subdirs="true"/>
</aggregation>
</netcdf>
对于datasetScan
数据集,正则表达式过滤器将自动应用于所有子目录,因此如果您想将这些过滤器应用于所有子目录,您可以这样做:
<datasetScan name="All TEST REALTIME" ID="all_test_realtime" path="/All/Realtime"
location="/data/buoy" >
<metadata inherited="true">
<serviceName>all</serviceName>
</metadata>
<filter>
<include regExp="realtime" atomic="false" collection="true" />
<include wildcard="*.nc" />
<!-- exclude directory -->
<exclude wildcard="old" atomic="false" collection="true" />
</filter>
</datasetScan>
答案 1 :(得分:3)
<filter>
<include regExp="[A-Z]{1}[0-9]{4}" atomic="false" collection="true" />
<include wildcard="realtime" atomic="false" collection="true" />
<include wildcard="post-recovery" atomic="false" collection="true" />
<include wildcard="*.nc" />
<!-- exclude directory -->
<exclude wildcard="old" atomic="false" collection="true" />
</filter>