/** * _more_ * * @param desc _more_ * @param dqc _more_ * @param selService _more_ * @param service _more_ * @param selStation _more_ * @param selRegion _more_ * @param selTime _more_ */ private DqcRadarDatasetCollection( String desc, QueryCapability dqc, SelectService selService, SelectService.ServiceChoice service, SelectStation selStation, SelectGeoRegion selRegion, SelectList selTime) { super(); // this.ds = ds; this.desc = desc; this.dqc = dqc; this.selService = selService; this.selStation = selStation; this.selRegion = selRegion; this.selTime = selTime; this.service = service; ArrayList stationList = selStation.getStations(); stations = new HashMap(stationList.size()); for (int i = 0; i < stationList.size(); i++) { thredds.catalog.query.Station station = (thredds.catalog.query.Station) stationList.get(i); // DqcRadarStation dd = new DqcRadarStation(station); stations.put(station.getValue(), station); } ArrayList timeList = selTime.getChoices(); relTimesList = new HashMap(timeList.size()); for (int i = 0; i < timeList.size(); i++) { thredds.catalog.query.Choice tt = (thredds.catalog.query.Choice) timeList.get(i); relTimesList.put(tt.getValue(), tt); } String ql = dqc.getQuery().getUriResolved().toString(); startDate = new Date(); endDate = new Date(); try { timeUnit = new DateUnit("hours since 1991-01-01T00:00"); } catch (Exception e) { e.printStackTrace(); } }
/** * get all radar station within box. * * @param boundingBox _more_ * @param cancel _more_ * @return List of type DqcRadarStation objects * @throws IOException java io exception */ public List getStations( ucar.unidata.geoloc.LatLonRect boundingBox, ucar.nc2.util.CancelTask cancel) throws IOException { List sl = selStation.getStations(); ArrayList dsl = new ArrayList(); for (Iterator it = sl.iterator(); it.hasNext(); ) { Station s = (Station) it.next(); LatLonPointImpl latlonPt = new LatLonPointImpl(); latlonPt.set(s.getLocation().getLatitude(), s.getLocation().getLongitude()); if (boundingBox.contains(latlonPt)) { dsl.add(s); } if ((cancel != null) && cancel.isCancel()) { return null; } } return dsl; }
/** * _more_ * * @param args _more_ * @throws IOException _more_ */ public static void main(String args[]) throws IOException { StringBuffer errlog = new StringBuffer(); String dqc_location = "http://thredds.ucar.edu/thredds/idd/radarLevel2"; DqcRadarDatasetCollection ds = factory("test", dqc_location, errlog); System.out.println(" errs= " + errlog); List stns = ds.getStations(); System.out.println(" nstns= " + stns.size()); Station stn = (Station) (stns.get(2)); // List ulist = stn.getRadarStationURIs(); // assert null != ulist; Date ts1 = DateUnit.getStandardOrISO("2007-06-9T12:12:00"); Date ts2 = DateUnit.getStandardOrISO("2007-06-9T23:12:00"); List tlist = ds.getRadarStationTimes(stn.getValue(), ts1, ts2); int sz = tlist.size(); Date ts0 = DateUnit.getStandardOrISO((String) tlist.get(1)); RadialDatasetSweep rds = ds.getRadarDataset(stn.getValue(), ts0); URI stURL = ds.getRadarDatasetURI(stn.getValue(), ts0); assert null != stURL; assert 0 != sz; DateSelection dateS = new DateSelection(ts1, ts2); dateS.setInterval((double) 3600 * 1000); dateS.setRoundTo((double) 3600 * 1000); dateS.setPreRange((double) 500 * 1000); dateS.setPostRange((double) 500 * 1000); for (int i = 0; i < stns.size(); i++) { stn = (Station) stns.get(i); List times = ds.getRadarStationTimes( stn.getValue(), new Date(System.currentTimeMillis() - 3600 * 1000 * 24 * 100), new Date(System.currentTimeMillis())); if (times.size() > 0) { System.err.println( stn + " times:" + times.size() + " " + times.get(0) + " - " + times.get(times.size() - 1)); } else { System.err.println(stn + " no times"); } } System.exit(0); List jList = ds.getDataURIs("KABX", dateS); assert null != jList; List mList = ds.getData("KABX", dateS, null); assert null != mList; // Date ts0 = // DateFromString.getDateUsingCompleteDateFormat((String)tlist.get(1),"yyyy-MM-dd'T'HH:mm:ss"); Date ts = DateUnit.getStandardOrISO((String) tlist.get(1)); java.text.SimpleDateFormat isoDateTimeFormat; isoDateTimeFormat = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); isoDateTimeFormat.setTimeZone(java.util.TimeZone.getTimeZone("GMT")); String st = isoDateTimeFormat.format(ts); }