/** * Get a Tiled Gridded Coverage Data, use the coverage data pixel tile size * as the request size width and height, request as the specified projection * * @param geoPackage GeoPackage * @param tileDao tile dao * @param requestProjection request projection * @return coverage data */ public static CoverageData<?> getCoverageData(GeoPackage geoPackage, TileDao tileDao, Projection requestProjection) { return getCoverageData(geoPackage, tileDao, null, null, requestProjection); }
/** * Get the coverage data value of the pixel in the tile row image * * @param tileRow tile row * @param x x coordinate * @param y y coordinate * @return coverage data value */ public double getValue(TileRow tileRow, int x, int y) { GriddedTile griddedTile = getGriddedTile(tileRow.getId()); double value = getValue(griddedTile, tileRow, x, y); return value; }
/** * Create the coverage data tile table with metadata and extension * * @param geoPackage GeoPackage * @param tableName table name * @param contentsBoundingBox contents bounding box * @param contentsSrsId contents srs id * @param tileMatrixSetBoundingBox tile matrix set bounding box * @param tileMatrixSetSrsId tile matrix set srs id * @return coverage data */ public static CoverageDataPng createTileTableWithMetadata( GeoPackage geoPackage, String tableName, BoundingBox contentsBoundingBox, long contentsSrsId, BoundingBox tileMatrixSetBoundingBox, long tileMatrixSetSrsId) { CoverageDataPng coverageData = (CoverageDataPng) CoverageData .createTileTableWithMetadata(geoPackage, tableName, contentsBoundingBox, contentsSrsId, tileMatrixSetBoundingBox, tileMatrixSetSrsId, GriddedCoverageDataType.INTEGER); return coverageData; }
GriddedTile griddedTile = getGriddedTile(tileRow.getId()); TImage image = createImage(tileRow); switch (algorithm) { case NEAREST_NEIGHBOR: value = getNearestNeighborValue( griddedTile, image, leftLastColumns, topLeftRows, topRows, y, x, widthRatio, break; case BILINEAR: value = getBilinearInterpolationValue( griddedTile, image, leftLastColumns, topLeftRows, topRows, y, x, widthRatio, break; case BICUBIC: value = getBicubicInterpolationValue( griddedTile, image, leftLastColumns, topLeftRows, topRows, y, x, widthRatio, - lastIndex - 1; for (int row = 0; row < tileMatrix.getTileHeight(); row++) { Double value = getValue(griddedTile, image, lastColumnIndex, row); leftLastColumns[lastIndex][row] = value; - 1;
CoverageData<?> coverageData2 = CoverageData.getCoverageData(geoPackage, coverageData.getTileDao(), requestProjection); coverageData2.setAlgorithm(algorithm); Double value = coverageData2.getValue(latitude, longitude); if (!allowNulls) { TestCase.assertNotNull(value); minLatitude, maxLongitude, maxLatitude); CoverageDataResults values = coverageData2 .getValues(requestBoundingBox); TestCase.assertNotNull(values); TestCase.assertNotNull(values.getValues()); coverageData2.setWidth(specifiedWidth); coverageData2.setHeight(specifiedHeight); values = coverageData2.getValues(requestBoundingBox); TestCase.assertNotNull(values); TestCase.assertNotNull(values.getValues()); values = coverageData2.getValuesUnbounded(requestBoundingBox); TestCase.assertNotNull(values); TestCase.assertNotNull(values.getValues());
List<String> coverageDataTables = CoverageData.getTables(geoPackage); TileMatrixSetDao dao = geoPackage.getTileMatrixSetDao(); CoverageData<?> coverageData = CoverageData.getCoverageData(geoPackage, tileDao, requestProjection); coverageData.setAlgorithm(algorithm); coverageData.setWidth(width); coverageData.setHeight(height); values = coverageData.getValues(boundingBox);
GriddedTile griddedTile = getGriddedTile(tileRow.getId()); TImage image = createImage(tileRow); Double value = getValue(griddedTile, image, x, y); Double[][] values = formatUnboundedResults(tileMatrix, rowsMap, tileCount, minRow, maxRow, minColumn, maxColumn);
boolean allowNulls) throws Exception { List<String> coverageDataTables = CoverageData.getTables(geoPackage); TestCase.assertFalse(coverageDataTables.isEmpty()); CoverageData<?> coverageData = CoverageData.getCoverageData( geoPackage, tileDao); GriddedCoverage griddedCoverage = coverageData.getGriddedCoverage(); GriddedCoverageEncodingType encoding = griddedCoverage .getGridCellEncodingType(); TestCase.assertNotNull(tileMatrix); GriddedTile griddedTile = coverageData.getGriddedTile(tileRow .getId()); TestCase.assertNotNull(griddedTile); x == tileWidth - 1 ? tileWidth : tileWidth - 1)) { Double pixelValue = coverageData.getValue(griddedTile, tileData, x, y); double pixelLongitude = boundingBox.getMinLongitude() break; Double value = coverageData.getValue(pixelLatitude, pixelLongitude);
/** * Get the coverage data value at the coordinate * * @param geoPackage GeoPackage * @param algorithm algorithm * @param latitude latitude * @param longitude longitude * @param epsg epsg * @return coverage data value * @throws Exception */ public static Double getValue(GeoPackage geoPackage, CoverageDataAlgorithm algorithm, double latitude, double longitude, long epsg) throws Exception { Double value = null; List<String> coverageDataTables = CoverageData.getTables(geoPackage); TileMatrixSetDao dao = geoPackage.getTileMatrixSetDao(); for (String coverageTable : coverageDataTables) { TileMatrixSet tileMatrixSet = dao.queryForId(coverageTable); TileDao tileDao = geoPackage.getTileDao(tileMatrixSet); Projection requestProjection = ProjectionFactory .getProjection(epsg); // Test getting the coverage data value of a single coordinate CoverageData<?> coverageData = CoverageData.getCoverageData(geoPackage, tileDao, requestProjection); coverageData.setAlgorithm(algorithm); value = coverageData.getValue(latitude, longitude); } return value; }
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox); Double[][] values = getValuesUnbounded(tileMatrix, tileResults, request); values = reprojectCoverageData(values, values[0].length, values.length, request.getBoundingBox(), transformRequestToCoverage,
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox, overlappingPixels); Double[][] values = getValues(tileMatrix, tileResults, request, tileWidth, tileHeight, overlappingPixels); values = reprojectCoverageData(values, requestedCoverageDataWidth, requestedCoverageDataHeight,
GriddedTile griddedTile = getGriddedTile(tileRow.getId()); TImage image = createImage(tileRow); switch (algorithm) { case NEAREST_NEIGHBOR: value = getNearestNeighborValue( griddedTile, image, leftLastColumns, topLeftRows, break; case BILINEAR: value = getBilinearInterpolationValue( griddedTile, image, leftLastColumns, topLeftRows, break; case BICUBIC: value = getBicubicInterpolationValue( griddedTile, image, leftLastColumns, topLeftRows, - lastIndex - 1; for (int row = 0; row < tileMatrix.getTileHeight(); row++) { Double value = getValue(griddedTile, image, lastColumnIndex, row); leftLastColumns[lastIndex][row] = value; - 1;
List<String> coverageDataTables = CoverageData.getTables(geoPackage); TestCase.assertFalse(coverageDataTables.isEmpty()); for (String tilesTable : tilesTables) { CoverageData<?> coverageData = CoverageData.getCoverageData(geoPackage, tileDao); coverageData.setAlgorithm(algorithm); coverageData.setWidth(specifiedWidth); coverageData.setHeight(specifiedHeight); .getValues(requestBoundingBox);
GriddedTile griddedTile = getGriddedTile(tileRow.getId()); TImage image = createImage(tileRow); Double value = getValue(griddedTile, image, x, y); Double[][] values = formatUnboundedResults(tileMatrix, rowsMap, tileCount, minRow, maxRow, minColumn, maxColumn);
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox); Double[][] values = getValuesUnbounded(tileMatrix, tileResults, request); values = reprojectCoverageData(values, values[0].length, values.length, request.getBoundingBox(),
CoverageDataTileMatrixResults results = getResults(request, requestProjectedBoundingBox, overlappingPixels); Double[][] values = getValues(tileMatrix, tileResults, request, tileWidth, tileHeight, overlappingPixels); values = reprojectCoverageData(values, requestedCoverageDataWidth, requestedCoverageDataHeight,
/** * Get the coverage data value of the pixel in the tile row image * * @param tileRow * tile row * @param x * x coordinate * @param y * y coordinate * @return coverage data value */ public double getValue(TileRow tileRow, int x, int y) { GriddedTile griddedTile = getGriddedTile(tileRow.getId()); double value = getValue(griddedTile, tileRow, x, y); return value; }
/** * Get a Tiled Gridded Coverage Data, use the coverage data pixel tile size * as the request size width and height, request as the specified projection * * @param geoPackage * GeoPackage * @param tileDao * tile dao * @param requestProjection * request projection * @return coverage data */ public static CoverageData<?> getCoverageData(GeoPackage geoPackage, TileDao tileDao, Projection requestProjection) { return getCoverageData(geoPackage, tileDao, null, null, requestProjection); }
/** * Create the coverage data tile table with metadata and extension * * @param geoPackage GeoPackage * @param tableName table name * @param contentsBoundingBox contents bounding box * @param contentsSrsId contents srs id * @param tileMatrixSetBoundingBox tile matrix set bounding box * @param tileMatrixSetSrsId tile matrix set srs id * @return coverage data */ public static CoverageDataTiff createTileTableWithMetadata( GeoPackage geoPackage, String tableName, BoundingBox contentsBoundingBox, long contentsSrsId, BoundingBox tileMatrixSetBoundingBox, long tileMatrixSetSrsId) { CoverageDataTiff coverageData = (CoverageDataTiff) CoverageData .createTileTableWithMetadata(geoPackage, tableName, contentsBoundingBox, contentsSrsId, tileMatrixSetBoundingBox, tileMatrixSetSrsId, GriddedCoverageDataType.FLOAT); return coverageData; }
/** * Get a Tiled Gridded Coverage Data, use the coverage data pixel tile size * as the request size width and height * * @param geoPackage GeoPackage * @param tileDao tile dao * @return coverage data */ public static CoverageData<?> getCoverageData(GeoPackage geoPackage, TileDao tileDao) { return getCoverageData(geoPackage, tileDao, null, null, tileDao.getProjection()); }