private BoundingBox makeBBox(String srsName, List<DirectPositionType> directPositionList) { DirectPositionType dpt0 = directPositionList.get(0); DirectPositionType dpt1 = directPositionList.get(1); double[] lowerLeft = new double[dpt0.getValue().size()]; for (int i = 0; i < dpt0.getValue().size(); i++) { lowerLeft[i] = dpt0.getValue().get(i); } double[] upperRight = new double[dpt1.getValue().size()]; for (int i = 0; i < dpt1.getValue().size(); i++) { upperRight[i] = dpt1.getValue().get(i); } BoundingBox bBox = new BoundingBox(srsName, lowerLeft, upperRight); return bBox; }
/** * Supports WCS 1.0.0 * * <p>uses the WCSCapabilitiesType returned by the GetCapabilities-Operation to produce a * Content-object. * * @param wc * @return * @throws OXFException */ public Contents mapContents(WCSCapabilitiesType wc) { List<CoverageOfferingBriefType> covOffList = wc.getContentMetadata().getCoverageOfferingBrief(); ArrayList<Dataset> dataIdentificationList = new ArrayList<Dataset>(); for (CoverageOfferingBriefType covOff : covOffList) { // --- create identifier: List<JAXBElement> nameList = covOff.getName(); String identifier = nameList.get(0).getValue().toString(); // --- create title: String title = covOff.getLabel(); // --- create boundingBox: LonLatEnvelopeType lle = covOff.getLonLatEnvelope(); // directPositionList enth�lt 2 Double-Listen die die Koordinatenwerte f�r die 2 definierenden // Punkte der BBox enthalten List<DirectPositionType> directPositionList = lle.getPos(); DirectPositionType dpt0 = directPositionList.get(0); DirectPositionType dpt1 = directPositionList.get(1); double[] lowerLeft = new double[dpt0.getValue().size()]; for (int i = 0; i < dpt0.getValue().size(); i++) { lowerLeft[i] = dpt0.getValue().get(i); } double[] upperRight = new double[dpt1.getValue().size()]; for (int i = 0; i < dpt1.getValue().size(); i++) { upperRight[i] = dpt1.getValue().get(i); } String srsName = covOff.getLonLatEnvelope().getSrsName(); BoundingBox bBox = new BoundingBox(srsName, lowerLeft, upperRight); // --- create srs: String[] srsArray = new String[] {lle.getSrsName()}; // --- create temporalDomain: List<TimePositionType> timePosList = lle.getTimePosition(); List<ITime> timeList = new ArrayList<ITime>(); if (timePosList != null) { for (TimePositionType timePosition : timePosList) { ITime time = TimeFactory.createTime(timePosition.getValue().toString()); timeList.add(time); } } // add Dataset to list: Dataset dataID = new Dataset( title, identifier, new BoundingBox[] {bBox}, null, srsArray, null, null, null, (timeList.isEmpty() ? null : new TemporalValueDomain(timeList)), null, null); dataIdentificationList.add(dataID); } Contents c = new Contents(dataIdentificationList); return c; }