geopackage-sdk/src/main/java/mil/nga/geopackage/extension/coverage/CoverageDataTiff.java
public CoverageDataTiffImage drawTile(float[] pixelValues, int tileWidth,
                                          int tileHeight) {

        CoverageDataTiffImage image = createImage(tileWidth, tileHeight);
        for (int y = 0; y < tileHeight; y++) {
            for (int x = 0; x < tileWidth; x++) {
                float pixelValue = pixelValues[(y * tileWidth)
                        + x];
                setPixelValue(image, x, y, pixelValue);
            }
        }
        image.writeTiff();

        return image;
    }
public CoverageDataTiffImage drawTile(float[] pixelValues, int tileWidth,
                                          int tileHeight) {

        CoverageDataTiffImage image = createImage(tileWidth, tileHeight);
        for (int y = 0; y < tileHeight; y++) {
            for (int x = 0; x < tileWidth; x++) {
                float pixelValue = pixelValues[(y * tileWidth)
                        + x];
                setPixelValue(image, x, y, pixelValue);
            }
        }
        image.writeTiff();

        return image;
    }
Draw a coverage data image tile from the flat array of float pixel values of
length tileWidth * tileHeight where each pixel is at: (y * tileWidth) + x

@param pixelValues float pixel values of length tileWidth * tileHeight
@param tileWidth   tile width
@param tileHeight  tile height
@return coverage data image tile