public static double calculateScaleRecip(AffineTransform tr) {
int zoomLevel = MapScalingTransform.zoomLevel(tr);
- double t = 1.0 / Math.sqrt(zoomLevel);
+ double t = 1.0 / (getScale(tr) * Math.sqrt(zoomLevel));
return t;
}
+
+ static double getScale(AffineTransform tr) {
+ double scale;
+ scale = GeometryUtils.getScale(tr);
+ scale = Math.max(4096, Math.min(scale, 32768));
+ return scale;
+ }
}