/** * Get the coverage data tile results by finding the tile matrix with values * * @param request coverage data request * @param requestProjectedBoundingBox request projected bounding box * @return tile matrix results */ private CoverageDataTileMatrixResults getResults(CoverageDataRequest request, BoundingBox requestProjectedBoundingBox) { return getResults(request, requestProjectedBoundingBox, 0); }
/** * Get the coverage data tile results by finding the tile matrix with values * * @param request coverage data request * @param requestProjectedBoundingBox request projected bounding box * @param overlappingPixels overlapping request pixels * @return tile matrix results */ private CoverageDataTileMatrixResults getResults(CoverageDataRequest request, BoundingBox requestProjectedBoundingBox, int overlappingPixels) { // Try to get the coverage data from the current zoom level TileMatrix tileMatrix = getTileMatrix(request); CoverageDataTileMatrixResults results = null; if (tileMatrix != null) { results = getResults(requestProjectedBoundingBox, tileMatrix, overlappingPixels); // Try to zoom in or out to find a matching coverage data if (results == null) { results = getResultsZoom(requestProjectedBoundingBox, tileMatrix, overlappingPixels); } } return results; }
/** * Get the coverage data tile results by finding the tile matrix with values * * @param request * coverage data request * @param requestProjectedBoundingBox * request projected bounding box * @return tile matrix results */ private CoverageDataTileMatrixResults getResults( CoverageDataRequest request, BoundingBox requestProjectedBoundingBox) { return getResults(request, requestProjectedBoundingBox, 0); }
/** * Get the coverage data tile results by finding the tile matrix with values * * @param request * coverage data request * @param requestProjectedBoundingBox * request projected bounding box * @param overlappingPixels * overlapping request pixels * @return tile matrix results */ private CoverageDataTileMatrixResults getResults( CoverageDataRequest request, BoundingBox requestProjectedBoundingBox, int overlappingPixels) { // Try to get the coverage data from the current zoom level TileMatrix tileMatrix = getTileMatrix(request); CoverageDataTileMatrixResults results = null; if (tileMatrix != null) { results = getResults(requestProjectedBoundingBox, tileMatrix, overlappingPixels); // Try to zoom in or out to find a matching coverage data if (results == null) { results = getResultsZoom(requestProjectedBoundingBox, tileMatrix, overlappingPixels); } } return results; }
/** * Get the coverage data tile results by zooming in from the provided tile * matrix * * @param requestProjectedBoundingBox request projected bounding box * @param tileMatrix tile matrix * @param overlappingPixels overlapping request pixels * @return tile matrix results */ private CoverageDataTileMatrixResults getResultsZoomIn( BoundingBox requestProjectedBoundingBox, TileMatrix tileMatrix, int overlappingPixels) { CoverageDataTileMatrixResults results = null; for (long zoomLevel = tileMatrix.getZoomLevel() + 1; zoomLevel <= tileDao .getMaxZoom(); zoomLevel++) { TileMatrix zoomTileMatrix = tileDao.getTileMatrix(zoomLevel); if (zoomTileMatrix != null) { results = getResults(requestProjectedBoundingBox, zoomTileMatrix, overlappingPixels); if (results != null) { break; } } } return results; }
/** * Get the coverage data tile results by zooming out from the provided tile * matrix * * @param requestProjectedBoundingBox request projected bounding box * @param tileMatrix tile matrix * @param overlappingPixels overlapping request pixels * @return tile matrix results */ private CoverageDataTileMatrixResults getResultsZoomOut( BoundingBox requestProjectedBoundingBox, TileMatrix tileMatrix, int overlappingPixels) { CoverageDataTileMatrixResults results = null; for (long zoomLevel = tileMatrix.getZoomLevel() - 1; zoomLevel >= tileDao .getMinZoom(); zoomLevel--) { TileMatrix zoomTileMatrix = tileDao.getTileMatrix(zoomLevel); if (zoomTileMatrix != null) { results = getResults(requestProjectedBoundingBox, zoomTileMatrix, overlappingPixels); if (results != null) { break; } } } return results; }
/** * Get the coverage data tile results by zooming out from the provided tile * matrix * * @param requestProjectedBoundingBox * request projected bounding box * @param tileMatrix * tile matrix * @param overlappingPixels * overlapping request pixels * @return tile matrix results */ private CoverageDataTileMatrixResults getResultsZoomOut( BoundingBox requestProjectedBoundingBox, TileMatrix tileMatrix, int overlappingPixels) { CoverageDataTileMatrixResults results = null; for (long zoomLevel = tileMatrix.getZoomLevel() - 1; zoomLevel >= tileDao .getMinZoom(); zoomLevel--) { TileMatrix zoomTileMatrix = tileDao.getTileMatrix(zoomLevel); if (zoomTileMatrix != null) { results = getResults(requestProjectedBoundingBox, zoomTileMatrix, overlappingPixels); if (results != null) { break; } } } return results; }
/** * Get the coverage data tile results by zooming in from the provided tile * matrix * * @param requestProjectedBoundingBox * request projected bounding box * @param tileMatrix * tile matrix * @param overlappingPixels * overlapping request pixels * @return tile matrix results */ private CoverageDataTileMatrixResults getResultsZoomIn( BoundingBox requestProjectedBoundingBox, TileMatrix tileMatrix, int overlappingPixels) { CoverageDataTileMatrixResults results = null; for (long zoomLevel = tileMatrix.getZoomLevel() + 1; zoomLevel <= tileDao .getMaxZoom(); zoomLevel++) { TileMatrix zoomTileMatrix = tileDao.getTileMatrix(zoomLevel); if (zoomTileMatrix != null) { results = getResults(requestProjectedBoundingBox, zoomTileMatrix, overlappingPixels); if (results != null) { break; } } } return results; }
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox);
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox);
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox, overlappingPixels);
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox, overlappingPixels);