double[] getHighestRes() { return getHighestRes(coverageName); }
@Override public double[][] getResolutionLevels(String coverageName) throws IOException { if (!checkName(coverageName)) { throw new IllegalArgumentException( "The specified coverageName " + coverageName + "is not supported"); } final double[][] returnValue = new double[numOverviews + 1][2]; double[] hres = getHighestRes(); if (hres == null) { return null; } else { System.arraycopy(hres, 0, returnValue[0], 0, 2); for (int i = 1; i < returnValue.length; i++) { System.arraycopy(overViewResolutions[i - 1], 0, returnValue[i], 0, 2); } return returnValue; } }
/** * Returns the actual resolution used to read the data given the specified target resolution and * the specified overview policy * * @param policy * @param resolutions * @return */ @Override public double[] getReadingResolutions( String coverageName, OverviewPolicy policy, double[] requestedResolution) throws IOException { if (!checkName(coverageName)) { throw new IllegalArgumentException( "The specified coverageName " + coverageName + "is not supported"); } // find the target resolution level double[] result; if (numOverviews > 0) { int imageIdx = pickOverviewLevel(coverageName, policy, requestedResolution); result = imageIdx > 0 ? overViewResolutions[imageIdx - 1] : highestRes; } else { result = getHighestRes(); } // return via cloning to protect internal state double[] clone = new double[result.length]; System.arraycopy(result, 0, clone, 0, result.length); return clone; }
resolutionsLevels.add(new Resolution(1, getHighestRes()[0], getHighestRes()[1], 0)); if (numOverviews > 0) { for (int i = 0; i < overViewResolutions.length; i++) resolutionsLevels.add( new Resolution( overViewResolutions[i][0] / getHighestRes()[0], overViewResolutions[i][0], overViewResolutions[i][1],
selectedRes[0] = getHighestRes()[0]; selectedRes[1] = getHighestRes()[1]; } else {