Hi,

I'm in the process of verifying that the sizes of my generated offline
map are correct. I'm generating offline maps programmatically with
specific scale and DPI values, and I've already pre-calculated all
rendering sizes as per the scale and DPI - and these sizes are presented
in the SLD document as pixels.

I'm also adding the scale and DPI value as rendering hints to the
StreamingRenderer, via the DPI_KEY and DECLARED_SCALE_DENOM_KEY keys.

To my somewhat surprise, it seems that pixel size values from SLDs are
not taken literally by StreamingRenderer, but in fact, they are resized
againts the default OGC DPI of 90. This is done in
StreamingRenderer.applyUnitRescale():

        double dpi = RendererUtilities.getDpi(getRendererHints());
        double standardDpi =
RendererUtilities.getDpi(Collections.emptyMap());
        if(dpi != standardDpi) {
            double scaleFactor = dpi / standardDpi;
            DpiRescaleStyleVisitor dpiVisitor = new
DpiRescaleStyleVisitor(scaleFactor);
            for(LiteFeatureTypeStyle fts : lfts) {
                rescaleFeatureTypeStyle(fts, dpiVisitor);
            }
        }


from my perspective, this is clearly not what I'd like to have. I
already know all the sizes I need in pixels, and I need these to be used
literally. thus my first question is: can this be turned off somehow? I
didn't see any options in the code to turn this rescaling off - other
than falsely specifying the OGC default DPI instead of the real one.
but, I wonder, would sending a false DPI value would have other side
effects during the rendering process?

from a more generic perspective, if something is specified as a 'pixel',
I guess the most obvious interpretation would be that it is really a
'pixel' - and in this case, this is not the actual interpretation.
currently a 'pixel' is forcefully being interpreted as a 'size of
0.28mm' (a DPI of 90), which I understand is the OGC standard, but is
not necessarily the actual pixel size.


Akos


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to