Examples of DimensionBean


Examples of org.geoserver.wcs2_0.response.DimensionBean

        // TODO: We need to support more CRS

        // Loop over dimensions
        Dimension boundDimension = null;
        for (NetCDFDimensionManager manager : dimensionMapping.values()) {
            final DimensionBean dim = manager.getCoverageDimension();
            final boolean isRange = dim.isRange();
            String dimensionName = manager.getName();
            final int dimensionLength = getDimensionSize(dimensionName);
            if (dimensionName.equalsIgnoreCase("TIME") || dimensionName.equalsIgnoreCase("ELEVATION")) {
                // Special management for TIME and ELEVATION dimensions
                // we will put these dimension lowercase for NetCDF names
                dimensionName = dimensionName.toLowerCase();
            }
            if (isRange) {
                if (boundDimension == null) {
                    boundDimension = writer.addDimension(null, NCUtilities.BOUNDARY_DIMENSION, 2);
                }
            }
            final Dimension netcdfDimension = writer.addDimension(null, dimensionName, dimensionLength);
            manager.setNetCDFDimension(netcdfDimension);

            // Assign variable to dimensions having coordinates
            Variable var = writer.addVariable(null, dimensionName,
                    NCUtilities.getNetCDFDataType(dim.getDatatype()), dimensionName);
            writer.addVariableAttribute(var, new Attribute(NCUtilities.LONGNAME, dimensionName));
            writer.addVariableAttribute(var, new Attribute(NCUtilities.DESCRIPTION, dimensionName));
            // TODO: introduce some lookup table to get a description if needed

            if (NCUtilities.isATime(dim.getDatatype())) {
                // Special management for times. We use the NetCDF convention of defining times starting from
                // an origin. Right now we use the Linux EPOCH
                writer.addVariableAttribute(var, new Attribute(NCUtilities.UNITS, NCUtilities.TIME_ORIGIN));
            } else {
                writer.addVariableAttribute(var, new Attribute(NCUtilities.UNITS, dim.getSymbol()));
            }

            // Add bounds variable for ranges
            if (isRange) {
                final List<Dimension> boundsDimensions = new ArrayList<Dimension>();
                boundsDimensions.add(netcdfDimension);
                boundsDimensions.add(boundDimension);
                final String boundName = dimensionName + NCUtilities.BOUNDS_SUFFIX;
                writer.addVariableAttribute(var, new Attribute(NCUtilities.BOUNDS, boundName));
                writer.addVariable(null, boundName, NCUtilities.getNetCDFDataType(dim.getDatatype()), boundsDimensions);
            }
        }

        setupCoordinates();
    }
View Full Code Here

Examples of org.geoserver.wcs2_0.response.DimensionBean

            }
            // Writing coordinate variable values
            writer.write(var, manager.getDimensionData(false));

            // handle ranges
            DimensionBean coverageDimension = manager.getCoverageDimension();
            if (coverageDimension != null) { // lat and lon may be null
                boolean isRange = coverageDimension.isRange();
                if (isRange) {
                    var = writer.findVariable(dimensionName + NCUtilities.BOUNDS_SUFFIX);
                    writer.write(var, manager.getDimensionData(true));
                }
            }
View Full Code Here

Examples of org.geoserver.wcs2_0.response.DimensionBean

        int i = 0;
        int dimElement = 0;
        final Map properties = currentCoverage.getProperties();
        for (NetCDFDimensionManager manager : dimensionMapping.values()) {
            // Loop over dimensions
            final DimensionBean coverageDimension = manager.getCoverageDimension();
            if (coverageDimension != null) { // Lat and lon doesn't have a Coverage dimension
                final String dimensionName = manager.getName();

                // Get the current value for that dimension for this coverage
                final Object val = properties.get(dimensionName);
View Full Code Here

Examples of org.geoserver.wcs2_0.response.DimensionBean

        } else if (dimensionName.equalsIgnoreCase(NCUtilities.LON)) {
            return (Array) getDimensionValues().getValues();
        } else {

            // Get Dimension information
            DimensionBean bean = getCoverageDimension();
            DimensionType type = bean.getDimensionType();
            final String dataType = bean.getDatatype();
            boolean isTime = false;
            if (type == DimensionType.TIME || NCUtilities.isATime(dataType)) {
                isTime = true;
            }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.