What is the best way to ensure web maps display to scale correctly on screen and when printed to match physical measurements?
Our customers need to be able to create and print maps to scale. So if the scale is 1:600 for example, 1 inch on the screen map and 1 inch on the printed map represents 50ft in the physical environment (1in:50ft = 1:600).
If we set the scale to 800, the line measures 1 inch on the screen as it should for a 1:600 scale. If we force the scale to 900 when printing, the printed map measures 1 inch as it should for a 1:600 scale.
We have done some tests for other scales and it seems the setscale and getscale functions are off by a factor of 4:3 on the screen and 3:2 for the printer.
Do we need to adjust for aspect ratio for the map.setscale() and map.getscale() functions? If so, is the adjustment hardware dependent? I don't know if it is a coincidence but esri's GIS dictionary defines aspect ratio as
"[hardware] The ratio of the width of an image to its height. The aspect ratio of a standard computer monitor is 4:3 (rectangular)."
This is a public app, so not sure if the aspect ratio of 4:3 would work on all monitors or would need to be adjusted for individual monitors and how to do that.
We tried calculating an extent based on the scale and using setExtent instead of setScale based on this technical article (http://support.esri.com/fr/knowledgebase/techarticles/detail/23278) but had the same issue. We calculated the Map Scale Factor = Reference Scale / (ppi * constant), but it seemed like we still needed to adjust by 4:3 for the extent on the screen to match the expected physical measurement .
Any help is appreciated.