public static NetcdfDataset acquireFeatureCollection(String path) throws IOException { Formatter formatter = new Formatter(System.err); FeatureCollectionConfigBuilder builder = new FeatureCollectionConfigBuilder(formatter); FeatureCollectionConfig config = builder.readConfigFromFile( path.toString()); // this is the path to the feature collection XML Fmrc fmrc = Fmrc.open(config, formatter); NetcdfDataset dataset = new NetcdfDataset(); fmrc.getDataset2D(dataset); dataset.setLocation(path); return dataset; }
public static void main(String[] args) throws Exception { String progName = GribCdmIndex.class.getName(); try { CommandLine cmdLine = new CommandLine(progName, args); if (cmdLine.help) { cmdLine.printUsage(); return; } Formatter errlog = new Formatter(); try { FeatureCollectionConfigBuilder reader = new FeatureCollectionConfigBuilder(errlog); String location = cmdLine.inputFile.getAbsolutePath(); FeatureCollectionConfig config = reader.readConfigFromFile(location); boolean changed = GribCdmIndex.updateGribCollection(config, cmdLine.updateType, classLogger); System.out.printf("changed = %s%n", changed); } catch (Exception e) { System.out.printf("%s = %s %n", e.getClass().getName(), e.getMessage()); String err = errlog.toString(); if (err.length() > 0) System.out.printf(" errlog=%s%n", err); // e.printStackTrace(); } } catch (ParameterException e) { System.err.println(e.getMessage()); System.err.printf("Try \"%s --help\" for more information.%n", progName); } }
public static NetcdfDataset acquireFeatureCollection(String path) throws IOException { Formatter formatter = new Formatter(System.err); FeatureCollectionConfigBuilder builder = new FeatureCollectionConfigBuilder(formatter); FeatureCollectionConfig config = builder.readConfigFromFile( path.toString()); // this is the path to the feature collection XML Fmrc fmrc = Fmrc.open(config, formatter); NetcdfDataset dataset = new NetcdfDataset(); fmrc.getDataset2D(dataset); dataset.setLocation(path); return dataset; }
private DatasetBuilder readFeatureCollection(DatasetBuilder parent, Element fcElem) { thredds.featurecollection.FeatureCollectionConfigBuilder configBuilder = new thredds.featurecollection.FeatureCollectionConfigBuilder(errlog); FeatureCollectionConfig config = configBuilder.readConfig(fcElem); if (configBuilder.fatalError) { // this.fatalError = true; return null; } else { FeatureCollectionRefBuilder dataset = new FeatureCollectionRefBuilder(parent, config); readDatasetInfo(dataset, fcElem); for (Element elem : fcElem.getChildren("netcdf", Catalog.ncmlNS)) { // ?? dataset.put(Dataset.Ncml, elem.detach()); } return dataset; } }
@Test @Category(NeedsCdmUnitTest.class) public void testFeatureCollectionReader() throws IOException, JDOMException { File configFile = new File(TestDir.cdmUnitTestDir+"tds/config/fnmoc.xml"); org.jdom2.Document doc; SAXBuilder builder = new SAXBuilder(); doc = builder.build(configFile); XMLOutputter xmlOut = new XMLOutputter(); System.out.println(xmlOut.outputString(doc)); Formatter errlog = new Formatter(); FeatureCollectionConfigBuilder fcb = new FeatureCollectionConfigBuilder(errlog); FeatureCollectionConfig config = fcb.readConfig(doc.getRootElement()); DateExtractor extractor = config.getDateExtractor(); String path = "[DATA_DIR]/native/grid/FNMOC/COAMPS/FNMOC_COAMPS_Equatorial_America_20141207_1200.grib1.ncx3"; MFile mfile = new MFileOS7(Paths.get(path), null); CalendarDate cd = extractor.getCalendarDate(mfile); assert cd != null : "date extractor failed"; System.out.printf("%s -> %s%n", path, cd); assert(cd.toString().equals("2014-12-07T12:00:00Z")); }