Skip to content

Commit f6119fb

Browse files
committed
When drawing maps, resample large raster for better performance. Leave small raster alone.
1 parent b3d6d22 commit f6119fb

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

src/main/groovy/geoscript/layer/Raster.groovy

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,16 @@ class Raster implements Renderable {
165165

166166
@Override
167167
List getMapLayers(Bounds bounds, List size) {
168-
[new GridCoverageLayer(this.coverage, this.style.gtStyle)]
168+
List rasterSize = this.size
169+
// Resample large rasters
170+
if (rasterSize[0] > 3000 || rasterSize[1] > 3000) {
171+
Raster resampledRaster = this.resample(bbox: bounds, size: size)
172+
[new GridCoverageLayer(resampledRaster.coverage, this.style.gtStyle)]
173+
}
174+
// Leave small rasters alone
175+
else {
176+
[new GridCoverageLayer(this.coverage, this.style.gtStyle)]
177+
}
169178
}
170179

171180
/**

0 commit comments

Comments
 (0)