| I want to read tiles from a geopackage file using Geotools (v. 17.0). I found the class GeoPackageReaderTest.java on GitHub and modified the example to read tiles from my file:
GeoPackage geoPackage = new GeoPackage(inputFile); GeoPackageReader reader = new GeoPackageReader(inputFile, null);
GeneralParameterValue[] parameters = new GeneralParameterValue[1];
TileEntry tileEntry = geoPackage.tiles().get(0);
ReferencedEnvelope referencedEnvelope = tileEntry.getBounds();
Rectangle rectangle = new Rectangle((int) referencedEnvelope.getWidth(), (int) referencedEnvelope.getHeight());
GridEnvelope2D gridEnvelope = new GridEnvelope2D(rectangle);
GridGeometry2D gridGeometry = new GridGeometry2D(gridEnvelope, referencedEnvelope);
parameters[0] = new Parameter<GridGeometry2D>(AbstractGridFormat.READ_GRIDGEOMETRY2D, gridGeometry);
String tableName = tileEntry.getTableName(); GridCoverage2D gridCoverage = reader.read(tableName, parameters); RenderedImage img = gridCoverage.getRenderedImage();
In the line reader.read(...) I get an IllegalArgumentException: java.lang.IllegalArgumentException: Envelope must be at least two-dimensional and non-empty. If I am printing the width and height of my envelope I get this result:
System.out.println("2 dimensions of gridEnvelope - width: " + gridEnvelope.getWidth() + " | height:" + gridEnvelope.getHeight());
Trying to upload the rivers.gpkg file as an attachment results in: An internal error has occurred. Please contact your administrator. Question asked at GisStackexchange: https://gis.stackexchange.com/questions/242910/how-to-read-geopackage-tiles-using-geotools/242925#242925 |