GetLatLonCokey.java [tools/GetLatLonCokey/src/getlatloncokey] Revision: 69ab6eb5379799363ea8548530ac0cb331f66446 Date: Fri Jan 10 11:03:01 MST 2020
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package getlatloncokey;
import csip.ServiceException;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Arrays;
import org.codehaus.jettison.json.JSONException;
import soils.Component;
import soils.MapUnit;
import soils.db.tables.TableComponent;
import soils.db.tables.TableMapUnit;
/**
*
* @author <a href="mailto:shaun.case@colostate.edu">Shaun Case</a>
*/
public class GetLatLonCokey {
private static final String SIM_OUT_FILE = "sim_totals.csv";
private static final String SIM_ANNUAL_OUT_FILE = "sim_annual_totals.csv";
private static final String SIM_MONTHLY_OUT_FILE = "sim_monthly_totals.csv";
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
ArrayList<String> fields = new ArrayList<>();
MapUnit.setDefaultUsedColumns(new ArrayList<>(Arrays.asList(TableMapUnit.MUKEY, TableMapUnit.MUACRES)));
Component.setDefaultUsedColumns(new ArrayList<>(Arrays.asList(TableComponent.COKEY, TableComponent.COMPPCT_R_NAME)));
FileOutputStream outFile = new FileOutputStream(SIM_OUT_FILE);
BufferedWriter simWriter = new BufferedWriter(new OutputStreamWriter(outFile));
FileOutputStream annualOutFile = new FileOutputStream(SIM_ANNUAL_OUT_FILE);
BufferedWriter annualWriter = new BufferedWriter(new OutputStreamWriter(annualOutFile));
FileOutputStream monthlyOutFile = new FileOutputStream(SIM_MONTHLY_OUT_FILE);
BufferedWriter monthlyWriter = new BufferedWriter(new OutputStreamWriter(monthlyOutFile));
// Write header
if (args.length >= 1) {
String tFields = args[0].trim();
String[] fieldList = tFields.split(",");
for (String field : fieldList) {
fields.add(field.trim().toLowerCase());
}
} else {
fields.add("latitude");
fields.add("longitude");
fields.add("cokey");
}
File folder = new File(new java.io.File(".").getCanonicalPath());
File[] listOfFiles = folder.listFiles();
boolean wroteHeader = false;
for (File file : listOfFiles) {
if (file.isFile()) {
if (file.getName().contains(".zip")) {
System.out.println(file.getName());
CliWindSoilFile cwsFile;
try {
cwsFile = new CliWindSoilFile(file, fields, wroteHeader);
cwsFile.writeCSV(simWriter, annualWriter, monthlyWriter);
wroteHeader = true;
} catch (JSONException | ServiceException ex) {
System.err.println(ex);
}
}
}
}
simWriter.close();
}
}