• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Range类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中ucar.ma2.Range的典型用法代码示例。如果您正苦于以下问题:Java Range类的具体用法?Java Range怎么用?Java Range使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Range类属于ucar.ma2包,在下文中一共展示了Range类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getMinMaxLonNormal

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Get min/max the longitude from two ranges.
 *
 * @param r1 first Longitude range
 * @param r2 second Longitude range
 * @param r1Values first Longitude range values
 * @param r2Values second Longitude range values
 * @return Normalized Min/Max of the Longitude ranges values
 */
public static MinMax getMinMaxLonNormal(Range r1, Range r2, double[] r1Values, double[] r2Values) {
    double min = Double.MAX_VALUE;
    double max = Double.MIN_VALUE;

    if (r1.first() > r2.first()) {
        min = r1Values[0];
        max = r2Values[1];
        // double center = ((r1Values[0] != 0.) ? r1Values[0] : r1Values[1]);
        double center = r1Values[0] + 180;
        max = LatLonPointImpl.lonNormal(r2Values[1], center);

    } else {
        min = r2Values[0];
        max = r1Values[1];
    }

    return new MAMath.MinMax(min, max);

}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:29,代码来源:RequestProductParameters.java


示例2: compare

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Compare.
 *
 * @param r1 the r1
 * @param r2 the r2
 * @return the int {@inheritDoc}
 */
@SuppressWarnings("unchecked")
@Override
public int compare(Range r1, Range r2) {
    if (r1.first() > r2.first()) {
        if (ascending) {
            return 1;
        } else {
            return -1;
        }
    }
    if (r1.first() < r2.first()) {
        if (ascending) {
            return -1;
        } else {
            return 1;
        }
    }
    return 0;
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:27,代码来源:RequestProductParameters.java


示例3: hasEmptyYXRanges

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Returns a true if all of Y/X empty ranges of a list are empty ranges or if list is empty.
 * 
 * @param listRanges list of Y/X list ranges to be tested
 * @return true if all of Y/X empty ranges of a list are empty ranges or if list is empty.
 * @throws MotuException
 */
public static boolean hasEmptyYXRanges(List<List<Range>> listRanges) throws MotuException {

    if (listRanges.size() <= 0) {
        return true;
    }

    int countEmptyRanges = 0;
    for (List<Range> ranges : listRanges) {
        if (!(ExtractCriteriaLatLon.hasRange(ranges))) {
            countEmptyRanges++;
        }
    }

    return (countEmptyRanges == listRanges.size());
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:23,代码来源:ExtractCriteriaLatLon.java


示例4: toRange

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Return range corresponding to criteria.
 * 
 * @param array values from which range is computed
 * @return range corresponding to criteria in the array, or null if no range found
 * @param rangeValue values coresponding to the range, or Double.MAX_VALUE if undefined values
 * @throws MotuException
 * @throws MotuInvalidDepthRangeException
 */
public Range toRange(double[] array, double[] rangeValue) throws MotuException, MotuInvalidDepthRangeException {

    Range range = toRange(array);
    if (rangeValue != null) {
        assert rangeValue.length == 2;
        rangeValue[0] = Double.MAX_VALUE;
        rangeValue[1] = Double.MAX_VALUE;
        if (range != null) {
            rangeValue[0] = array[range.first()];
            rangeValue[1] = array[range.last()];
        }
    }

    return range;
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:25,代码来源:ExtractCriteriaDepth.java


示例5: getZRange

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Gets Z range and ranges values to be extracted.
 * 
 * @throws MotuInvalidDepthRangeException
 * @throws MotuException
 * @throws NetCdfVariableException
 * 
 */
public Range getZRange() throws MotuException, MotuInvalidDepthRangeException, NetCdfVariableException {
    if (zRangeValue != null) {
        zRangeValue[0] = Double.MAX_VALUE;
        zRangeValue[1] = Double.MAX_VALUE;
    }

    zRange = null;
    if (getRequestDownloadStatus().getRequestProduct().getProduct().getProductMetaData().hasZAxis()) {
        Array zAxisData = getRequestDownloadStatus().getRequestProduct().getProduct().getZAxisData();
        ExtractCriteriaDepth extractCriteriaDepth = getRequestDownloadStatus().getRequestProduct().getRequestProductParameters().findCriteriaDepth();
        if (extractCriteriaDepth != null) {
            zRange = extractCriteriaDepth.toRange(zAxisData, zRangeValue);
        }
    }

    return zRange;
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:26,代码来源:DatasetGridManager.java


示例6: getMinMaxLonNormal

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Get min/max the longitude from the grid.
 *
 * @return Normalized Min/Max of the Longitude ranges values
 * @throws MotuException the motu exception
 * @throws MotuNotImplementedException the motu not implemented exception
 */
public MAMath.MinMax getMinMaxLonNormal() throws MotuException, MotuNotImplementedException {

    // Assumes size of lists are consistency.
    if (listYXRanges.size() == 2) {
        List<Range> yxRanges1 = listYXRanges.get(0);
        List<Range> yxRanges2 = listYXRanges.get(1);
        return RequestProductParameters.getMinMaxLonNormal(yxRanges1.get(1), yxRanges2.get(1), rangesLonValue.get(0), rangesLonValue.get(1));
    } else if (rangesLonValue.size() == 1) {
        double[] rangeLonVal = rangesLonValue.get(0);
        return new MAMath.MinMax(rangeLonVal[0], rangeLonVal[1]);
    } else if (rangesLonValue.size() == 0) {
        // no range
        return new MAMath.MinMax(Double.MAX_VALUE, Double.MAX_VALUE);
    } else {
        throw new MotuNotImplementedException(
                String.format("Longitude ranges list more than 2 elements is not implemented (%s)", this.getClass().getName()));

    }
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:27,代码来源:DatasetGridManager.java


示例7: getOriginalRangeListGeoAxis

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Gets the original range list geo axis.
 * 
 * @param axis the axis
 * @param y_range the y_range
 * @param x_range the x_range
 * @return the original range list geo axis
 */
public Section getOriginalRangeListGeoAxis(CoordinateAxis axis, Range y_range, Range x_range) {

    // get the ranges list
    int rank = axis.getRank();
    Range[] ranges = new Range[rank];
    int indexX = getGeoXDimVarIndex(axis);
    if (indexX >= 0) {
        ranges[indexX] = x_range;
    }
    int indexY = getGeoYDimVarIndex(axis);
    if (indexY >= 0) {
        ranges[indexY] = y_range;
    }
    List<Range> rangesList = Arrays.asList(ranges);

    return new Section(rangesList);
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:26,代码来源:DatasetGridManager.java


示例8: readXY_1

import ucar.ma2.Range; //导入依赖的package包/类
private void readXY_1(Range yRange, Range xRange, IndexIterator ii) throws IOException {
    byte[] imageBytes = getIamgeData();

    //Get grid data
    int i, j;
    int xNum = (int) _width;
    int yNum = (int) _height;

    float[] data = new float[yNum * xNum];
    for (i = 0; i < yNum; i++) {
        for (j = 0; j < xNum; j++) {
            data[(yNum - i - 1) * xNum + j] = DataConvert.byte2Int(imageBytes[i * xNum + j]);
        }
    }

    for (int y = yRange.first(); y <= yRange.last();
            y += yRange.stride()) {
        for (int x = xRange.first(); x <= xRange.last();
                x += xRange.stride()) {
            int index = y * xNum + x;
            ii.setFloatNext(data[index]);
        }
    }
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:25,代码来源:AWXDataInfo.java


示例9: read

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Read array data of the variable
 *
 * @param varName Variable name
 * @param origin The origin array
 * @param size The size array
 * @param stride The stride array
 * @return Array data
 */
@Override
public Array read(String varName, int[] origin, int[] size, int[] stride) {
    try {
        Section section = new Section(origin, size, stride);
        Array dataArray = Array.factory(DataType.FLOAT, section.getShape());
        int rangeIdx = 2;
        Range yRange = section.getRange(rangeIdx++);
        Range xRange = section.getRange(rangeIdx);
        IndexIterator ii = dataArray.getIndexIterator();
        readXY(yRange, xRange, ii);

        return dataArray;
    } catch (InvalidRangeException ex) {
        Logger.getLogger(MICAPS4DataInfo.class.getName()).log(Level.SEVERE, null, ex);
        return null;
    }
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:27,代码来源:MICAPS4DataInfo.java


示例10: read

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Read array data of the variable
 *
 * @param varName Variable name
 * @param origin The origin array
 * @param size The size array
 * @param stride The stride array
 * @return Array data
 */
@Override
public Array read(String varName, int[] origin, int[] size, int[] stride) {
    try {
        Section section = new Section(origin, size, stride);
        Array dataArray = Array.factory(DataType.FLOAT, section.getShape());
        int rangeIdx = 2;
        Range yRange = section.getRange(rangeIdx++);
        Range xRange = section.getRange(rangeIdx);
        IndexIterator ii = dataArray.getIndexIterator();
        readXY(varName, yRange, xRange, ii);

        return dataArray;
    } catch (InvalidRangeException ex) {
        Logger.getLogger(MICAPS4DataInfo.class.getName()).log(Level.SEVERE, null, ex);
        return null;
    }
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:27,代码来源:MICAPS11DataInfo.java


示例11: read

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Read array data of the variable
 *
 * @param varName Variable name
 * @param origin The origin array
 * @param size The size array
 * @param stride The stride array
 * @return Array data
 */
@Override
public Array read(String varName, int[] origin, int[] size, int[] stride) {
    try {
        Section section = new Section(origin, size, stride);
        Array dataArray = Array.factory(this.dataType, section.getShape());
        int rangeIdx = 0;
        Range yRange = section.getRange(rangeIdx++);
        Range xRange = section.getRange(rangeIdx);
        //IndexIterator ii = dataArray.getIndexIterator();
        readXY(yRange, xRange, dataArray);

        return dataArray;
    } catch (InvalidRangeException ex) {
        Logger.getLogger(ASCIIGridDataInfo.class.getName()).log(Level.SEVERE, null, ex);
        return null;
    }
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:27,代码来源:ASCIIGridDataInfo.java


示例12: read

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Read array data of the variable
 *
 * @param varName Variable name
 * @param origin The origin array
 * @param size The size array
 * @param stride The stride array
 * @return Array data
 */
@Override
public Array read(String varName, int[] origin, int[] size, int[] stride) {
    try {
        Section section = new Section(origin, size, stride);
        Array dataArray = Array.factory(DataType.FLOAT, section.getShape());
        int rangeIdx = 0;
        Range yRange = section.getRange(rangeIdx++);
        Range xRange = section.getRange(rangeIdx);
        IndexIterator ii = dataArray.getIndexIterator();
        readXY(yRange, xRange, ii);

        return dataArray;
    } catch (InvalidRangeException ex) {
        Logger.getLogger(SurferGridDataInfo.class.getName()).log(Level.SEVERE, null, ex);
        return null;
    }
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:27,代码来源:SurferGridDataInfo.java


示例13: trapz

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Integrate vector array using the composite trapezoidal rule.
 *
 * @param y Vecotr array
 * @param dx Spacing between all y elements
 * @param ranges
 * @return Definite integral as approximated by trapezoidal rule
 * @throws ucar.ma2.InvalidRangeException
 */
public static double trapz(Array y, double dx, List<Range> ranges) throws InvalidRangeException {
    int n = 1;
    for (Range range : ranges) {
        n = n * range.length();
    }
    n -= 1;
    double a = 1;
    double b = n * dx + a;
    double r = 0;
    double v;
    IndexIterator ii = y.getRangeIterator(ranges);
    int i = 0;
    while (ii.hasNext()) {
        v = ii.getDoubleNext();
        r += v;
        if (i > 0 && i < n) {
            r += v;
        }
        i += 1;
    }
    r = r * ((b - a) / (2 * n));
    return r;
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:33,代码来源:ArrayMath.java


示例14: setSection

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Set section
 *
 * @param a Array a
 * @param ranges Ranges
 * @param v Array value
 * @return Result array
 * @throws InvalidRangeException
 */
public static Array setSection(Array a, List<Range> ranges, Array v) throws InvalidRangeException {
    Array r = a.section(ranges);
    IndexIterator iter = r.getIndexIterator();
    //int[] current;
    Index index = v.getIndex();
    while (iter.hasNext()) {
        iter.next();
        //current = iter.getCurrentCounter();
        //index.set(current);
        iter.setObjectCurrent(v.getObject(index));
        index.incr();
    }
    r = Array.factory(a.getDataType(), a.getShape(), r.getStorage());
    return r;
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:25,代码来源:ArrayMath.java


示例15: sum

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Compute sum value of an array
 *
 * @param a Array a
 * @param ranges Range list
 * @return Sum value
 * @throws ucar.ma2.InvalidRangeException
 */
public static double sum(Array a, List<Range> ranges) throws InvalidRangeException {
    double s = 0.0, v;
    int n = 0;
    IndexIterator ii = a.getRangeIterator(ranges);
    while (ii.hasNext()) {
        v = ii.getDoubleNext();
        if (!Double.isNaN(v)) {
            s += v;
            n += 1;
        }
    }
    if (n == 0) {            
        s = Double.NaN;
    }
    return s;
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:25,代码来源:ArrayMath.java


示例16: mean

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Compute mean value of an array
 *
 * @param a Array a
 * @param ranges Range list
 * @return Mean value
 * @throws ucar.ma2.InvalidRangeException
 */
public static double mean(Array a, List<Range> ranges) throws InvalidRangeException {
    double mean = 0.0, v;
    int n = 0;
    IndexIterator ii = a.getRangeIterator(ranges);
    while (ii.hasNext()) {
        v = ii.getDoubleNext();
        if (!Double.isNaN(v)) {
            mean += v;
            n += 1;
        }
    }
    if (n > 0) {
        mean = mean / n;
    } else {
        mean = Double.NaN;
    }
    return mean;
}
 
开发者ID:meteoinfo,项目名称:MeteoInfoLib,代码行数:27,代码来源:ArrayMath.java


示例17: RangesList

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Instantiate a new {@link RangesList} with defined dimension indices
 * 
 * @param xIndex
 *            The index of the x-dimension
 * @param yIndex
 *            The index of the y-dimension
 * @param zIndex
 *            The index of the z-dimension
 * @param tIndex
 *            The index of the t-dimension
 */
public RangesList(int xIndex, int yIndex, int zIndex, int tIndex) {
    int rank = 0;
    if (xIndex >= 0) {
        xAxisIndex = xIndex;
        rank++;
    }
    if (yIndex >= 0) {
        yAxisIndex = yIndex;
        rank++;
    }
    if (zIndex >= 0) {
        zAxisIndex = zIndex;
        rank++;
    }
    if (tIndex >= 0) {
        tAxisIndex = tIndex;
        rank++;
    }
    ranges = new ArrayList<Range>(rank);
    for (int i = 0; i < rank; i++) {
        ranges.add(ZERO_RANGE);
    }
}
 
开发者ID:Reading-eScience-Centre,项目名称:edal-java,代码行数:36,代码来源:RangesList.java


示例18: test

import ucar.ma2.Range; //导入依赖的package包/类
/** 
 * Test {@link RangeList} get?AxisIndex and getRanges methods.
 */
@Test
public void test() {
    List<GridDatatype> gridVarLists = gridDataset.getGrids();
    /*
     * The order of 4D test data is first, T axis, second, Z axis, followed
     * by y and x axis.
     */
    for (GridDatatype gdt : gridVarLists) {
        RangesList gdtRange = new RangesList(gdt);
        assertEquals(0, gdtRange.getTAxisIndex());
        assertEquals(1, gdtRange.getZAxisIndex());
        assertEquals(2, gdtRange.getYAxisIndex());
        assertEquals(3, gdtRange.getXAxisIndex());
        List<Range> ranges = gdtRange.getRanges();
        for (Range r : ranges) {
            assertEquals(ZERO_RANGE, r);
        }
    }
}
 
开发者ID:Reading-eScience-Centre,项目名称:edal-java,代码行数:23,代码来源:RangeListTest.java


示例19: toRange

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Return range corresponding to criteria, and range values (optional).
 * 
 * @param array values from which range is computed
 * @param udUnits units of the values
 * @param rangeValue values corresponding to the range, or Double.MAX_VALUE if undefined values
 * @return range corresponding to criteria in the array, or null if no range found
 * @throws MotuException
 * @throws MotuInvalidDateRangeException
 */
public Range toRange(double[] array, String udUnits, double[] rangeValue) throws MotuException, MotuInvalidDateRangeException {
    Range range = toRange(array, udUnits);
    if (rangeValue != null) {
        assert rangeValue.length == 2;
        rangeValue[0] = Double.MAX_VALUE;
        rangeValue[1] = Double.MAX_VALUE;
        if (range != null) {
            rangeValue[0] = array[range.first()];
            rangeValue[1] = array[range.last()];
        }
    }

    return range;
}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:25,代码来源:ExtractCriteriaDatetime.java


示例20: getRangeValues

import ucar.ma2.Range; //导入依赖的package包/类
/**
 * Gets range values corresponding to range index.
 * 
 * @param gcs grid coordinate system from which range is computed
 * @param rangeLat latitude range
 * @param rangeLon longitude range
 * @param rangeValueLat latitude values corresponding to the range
 * @param rangeValueLon longitude values corresponding to the range
 */
private void getRangeValues(GridCoordSys gcs, Range rangeLat, Range rangeLon, double[] rangeValueLat, double[] rangeValueLon)
        throws MotuNotImplementedException {
    // this is the case where no point are included
    boolean hasLatRange = ExtractCriteriaLatLon.hasRange(rangeLat);
    boolean hasLonRange = ExtractCriteriaLatLon.hasRange(rangeLon);

    CoordinateAxis xaxis = gcs.getXHorizAxis();
    CoordinateAxis yaxis = gcs.getYHorizAxis();
    if ((xaxis instanceof CoordinateAxis1D) && (yaxis instanceof CoordinateAxis1D)) {
        CoordinateAxis1D xaxis1 = (CoordinateAxis1D) xaxis;
        CoordinateAxis1D yaxis1 = (CoordinateAxis1D) yaxis;
        if ((rangeValueLat != null) && hasLatRange) {
            rangeValueLat[0] = yaxis1.getCoordValue(rangeLat.first());
            rangeValueLat[1] = yaxis1.getCoordValue(rangeLat.last());
        }
        if ((rangeValueLon != null) && hasLonRange) {
            rangeValueLon[0] = xaxis1.getCoordValue(rangeLon.first());
            rangeValueLon[1] = xaxis1.getCoordValue(rangeLon.last());
        }
    } else if ((xaxis instanceof CoordinateAxis2D) && (yaxis instanceof CoordinateAxis2D) && gcs.isLatLon()) {
        CoordinateAxis2D lonAxis = (CoordinateAxis2D) xaxis;
        CoordinateAxis2D latAxis = (CoordinateAxis2D) yaxis;
        if ((rangeValueLat != null) && hasLatRange) {
            rangeValueLat[0] = latAxis.getCoordValue(rangeLat.first(), rangeLon.first());
            rangeValueLat[1] = latAxis.getCoordValue(rangeLat.last(), rangeLon.last());
        }
        if ((rangeValueLon != null) && hasLonRange) {
            rangeValueLon[0] = lonAxis.getCoordValue(rangeLat.first(), rangeLon.first());
            rangeValueLon[1] = lonAxis.getCoordValue(rangeLat.last(), rangeLon.last());
        }
    } else {
        throw new MotuNotImplementedException(
                "Coordinate axes that are not 1D or 2D/LatLon are not implemented in ExtractCriteriaLatLon.toRange");
    }

}
 
开发者ID:clstoulouse,项目名称:motu,代码行数:46,代码来源:ExtractCriteriaLatLon.java



注:本文中的ucar.ma2.Range类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ZookeeperClient类代码示例发布时间:2022-05-22
下一篇:
Java ModelIterator类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap