Details
Description
The StreamingRenderer does handle rotated view as the attached program demonstrates. This has been known for several years, see e.g.
How to apply a rotation, but I did not find any existing Jira issues for it.
When rotating the map using the ZoomPane pop-up or CTRL-LEFT/CTRL-RIGHT one can observe that the shapefile features disappear/reappear as the map is rotated.
We have identified several reasons why this happens.
- When the StreamingRenderer.paint(Graphics2D, Rectangle,AffineTransform) is called, the renderer creates a default Map Envelope. The calculation does not take the Affine rotation into account, resulting in a too small envelope for rotated views. Hence, the feature collection returned from the underlying data store might miss out some features. It is possible to create a workaround for this by passing in a larger Map Envelope to the StreamingRenderer and using e.g. StreamingRenderer.paint(Graphics2D, Rectangle,ReferencedEnvelopeAffineTransform)
- The scale denominator calculated when rotating a map varies because the rotation is not taken into account. This results in generalization layers beeing turned on/off as the map is rotated. We haven't found any workaround for this.
- The GridCoverageRenderer created inside the StreamingRenderer does not use the Affine Transform at all. Hence grid coverages are not rotated with the rest of the map. No workaround has been found for this.
We are working on a patch for the problems above and I will submit it as soon as it (hopefully) works
Issue Links
- is depended upon by
-
GEOS-3361
Add support for map rotation in WMS requests
-
As for the vector path, rotation has never been taken into account so, yeah, I would expect a number of fixes to be necessary.