//package org.jgrasstools.hortonmachine.models.hm; // //import java.io.File; //import java.net.URL; //import java.util.HashMap; //import java.util.List; //import java.util.Map.Entry; //import java.util.Set; // //import org.geotools.data.simple.SimpleFeatureCollection; //import org.jgrasstools.gears.io.eicalculator.EIAltimetry; //import org.jgrasstools.gears.io.eicalculator.OmsEIAltimetryReader; //import org.jgrasstools.gears.io.eicalculator.EIAreas; //import org.jgrasstools.gears.io.eicalculator.OmsEIAreasReader; //import org.jgrasstools.gears.io.generic.OmsId2ValueArrayWriter; //import org.jgrasstools.gears.io.shapefile.OmsShapefileFeatureReader; //import org.jgrasstools.gears.io.timedependent.OmsTimeSeriesIteratorReader; //import org.jgrasstools.gears.io.timedependent.OmsTimeSeriesIteratorWriter; //import org.jgrasstools.gears.libs.modules.JGTConstants; //import org.jgrasstools.gears.libs.monitor.PrintStreamProgressMonitor; //import org.jgrasstools.hortonmachine.modules.statistics.jami.OmsJami; //import org.jgrasstools.hortonmachine.utils.HMTestCase; //import org.joda.time.DateTime; //import org.joda.time.format.DateTimeFormatter; ///** // * Test jami. // * // * @author Andrea Antonello (www.hydrologis.com) // */ //public class TestJami extends HMTestCase { // // public void testJami() throws Exception { // PrintStreamProgressMonitor pm = new PrintStreamProgressMonitor(System.out, System.out); // // URL altimUrl = this.getClass().getClassLoader().getResource("eicalculator_out_altimetry.csv"); // File altimetryFile = new File(altimUrl.toURI()); // // URL areasUrl = this.getClass().getClassLoader().getResource("eicalculator_out_areas.csv"); // File areasFile = new File(areasUrl.toURI()); // // File outputFileForEtp = new File(altimetryFile.getParentFile(), "etp_in_temp.csv"); // outputFileForEtp = classesTestFile2srcTestResourcesFile(outputFileForEtp); // // File outputFile = new File(altimetryFile.getParentFile(), "jami_out_temp.csv"); // outputFile = classesTestFile2srcTestResourcesFile(outputFile); // // URL stationsUrl = this.getClass().getClassLoader().getResource("jami_in_stations.shp"); // URL stationdataUrl = this.getClass().getClassLoader().getResource("jami_new_temp.csv"); // File stationDataFile = new File(stationdataUrl.toURI()); // URL basinsUrl = this.getClass().getClassLoader().getResource("jami_in_basins.shp"); // // OmsEIAltimetryReader altim = new OmsEIAltimetryReader(); // altim.file = altimetryFile.getAbsolutePath(); // altim.pSeparator = "\\s+"; // altim.pm = pm; // altim.read(); // List<EIAltimetry> altimList = altim.outAltimetry; // altim.close(); // // OmsEIAreasReader areas = new OmsEIAreasReader(); // areas.file = areasFile.getAbsolutePath(); // areas.pSeparator = "\\s+"; // areas.pm = pm; // areas.read(); // List<EIAreas> areasList = areas.outAreas; // areas.close(); // // OmsShapefileFeatureReader stationsReader = new OmsShapefileFeatureReader(); // stationsReader.file = new File(stationsUrl.toURI()).getAbsolutePath(); // stationsReader.readFeatureCollection(); // SimpleFeatureCollection stationsFC = stationsReader.geodata; // // OmsShapefileFeatureReader basinsReader = new OmsShapefileFeatureReader(); // basinsReader.file = new File(basinsUrl.toURI()).getAbsolutePath(); // basinsReader.readFeatureCollection(); // SimpleFeatureCollection basinsFC = basinsReader.geodata; // // OmsTimeSeriesIteratorReader dataReader = new OmsTimeSeriesIteratorReader(); // dataReader.file = stationDataFile.getAbsolutePath(); // dataReader.fileNovalue = "-9999"; // dataReader.idfield = "ID"; // dataReader.tStart = "2005-05-01 00:00"; // dataReader.tTimestep = 60; // dataReader.tEnd = "2005-05-01 03:00"; // // dataReader.initProcess(); // // OmsJami jami = new OmsJami(); // jami.pm = pm; // jami.inAltimetry = altimList; // jami.inAreas = areasList; // jami.fStationid = "id_punti_m"; // jami.fStationelev = "quota"; // jami.fBasinid = "netnum"; // jami.pNum = 2; // jami.pBins = 4; // jami.pType = JGTConstants.DTDAY; // jami.inStations = stationsFC; // jami.inInterpolate = basinsFC; // // OmsId2ValueArrayWriter writer = new OmsId2ValueArrayWriter(); // writer.file = outputFile.getAbsolutePath(); // writer.pSeparator = " "; // writer.fileNovalue = "-9999.0"; // // OmsTimeSeriesIteratorWriter tsWriter = new OmsTimeSeriesIteratorWriter(); // tsWriter.file = outputFileForEtp.getAbsolutePath(); // tsWriter.tStart = dataReader.tStart; // tsWriter.tTimestep = dataReader.tTimestep; // // DateTimeFormatter dF = JGTConstants.utcDateFormatterYYYYMMDDHHMM; // // 1 5 2005 - 1 6 2005 // // 30 min // while( dataReader.doProcess ) { // dataReader.nextRecord(); // DateTime runningDate = dF.parseDateTime(dataReader.tCurrent); // HashMap<Integer, double[]> id2ValueMap = dataReader.outFolder; // jami.inMeteo = id2ValueMap; // jami.tCurrent = runningDate.toString(dF); // // jami.process(); // // HashMap<Integer, double[]> interpolationPointId2MeteoDataMapBands = jami.outInterpolatedBand; // HashMap<Integer, double[]> interpolationPointId2MeteoDataMap = jami.outInterpolated; // // // Set<Entry<Integer, double[]>> entrySet = // // interpolationPointId2MeteoDataMapBands.entrySet(); // // for( Entry<Integer, double[]> entry : entrySet ) { // // Integer basinId = entry.getKey(); // // double[] valuePerBand = entry.getValue(); // // double value = interpolationPointId2MeteoDataMap.get(basinId)[0]; // // System.out.println("basin: " + basinId); // // System.out.print("per band: "); // // for( double bandValue : valuePerBand ) { // // System.out.print(" " + bandValue); // // } // // System.out.println("per band: "); // // System.out.println("interpolated on basin: " + value); // // System.out.println("****************************"); // // } // // writer.data = interpolationPointId2MeteoDataMapBands; // writer.writeNextLine(); // // tsWriter.inData = interpolationPointId2MeteoDataMap; // tsWriter.writeNextLine(); // // runningDate = runningDate.plusMinutes(30); // } // // dataReader.close(); // writer.close(); // tsWriter.close(); // // // for now there is no writer... waiting for the apposite module // // // double[] result1221 = new double[]{9.925938910342381, 8.1, 7.561630032493953, // // 5.86663426553045, 3.4220912542795046}; // // // // for( int i = 0; i < result1221.length; i++ ) { // // assertEquals(result1221[i], values1221[i], 0.0001); // // } // if (!outputFileForEtp.delete()) { // outputFileForEtp.deleteOnExit(); // } // } //}