Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I get a map back from a WMS server is the scale always constant over them map regardless of the reference system?

So if I have a map which is 100 pixels wide, will the point at 50 pixels always be half way between the minimum and maximum values of the sides of the bounding box that defines the map?

So can I always linearly interpolate the map coordinates based on the pixel position?

Or can there be cases where 50% of the way across the map in pixels is not 50% of the way between the minimum and maximum of the width of the bounding box for some reason, like the projection is not constant?

share|improve this question

If this question concerns interpolating the projected coordinates from a printed map or display, the answer is easy: you can always linearly interpolate. This is because the world-to-display transformation is affine (and doesn't involve a projection at all). So I presume you are concerned about interpolating spherical coordinates; that is, lat/lon.

No projection is truly constant scale. In fact, the scale of non-conformal projections will vary with the orientation between two points on the map as well as from one location on the map to another.

Most scale deviations are quite small on large scale maps made with suitable projections. You run into problems only around the fringes of a projection's range of application (such as beyond +-3.5 degrees of longitude past the central meridian of a UTM zone or, for many projections, near the poles) or when the map displays an appreciable range of latitudes (more than a few degrees).

There definitely can be bad cases where linear interpolation across the map is far off. But this is not always the case for certain special interpolations. For example, in a north-up cylindrical projection, the middle vertical line of the map indeed splits the distances between the sides of the map. (But even with a cylindrical projection, vertical interpolation can fail. The Mercator is an extreme example.) So the direction of interpolation matters and how far you interpolate within the map also matters.

share|improve this answer
Thanks. My question does concern a map from a display, basically a map from a WMS server, which once displayed I want to know if I can accurately determine the coordinates in the CRS that the map was requested in of any pixel on the screen (and vice versa - so given a list of coordinates in the same CRS as the map can I draw them on top of the map accurately?). Based on your answer I assume that the answer is no I can't do this, as sometimes it will work (if the CRS of the map is projected CRS) but sometimes it won't (if it is WGS84 or similar). So how to do it in that case? – Sam Holder Sep 30 '10 at 7:57
I might have answered my own question. In section 7.3.5 of 06-042_OpenGIS_Web_Map_Service_WMS_Implementation_Specification.pdf it says that when the coordinate system is a geographic one that spatial data is internally projected using the Pseudo Plate Carrée coordinate operation method and thereafter transformed to an image coordinate reference system with the i axis parallel and proportional to longitude and the j axis parallel and proportional to latitude to enable direct screen rendering. which I think means that I can linearly interpolate even if the map is in a geographic system – Sam Holder Sep 30 '10 at 8:16
That is correct, Sam: although the Plate Carree exhibits enormous distortion throughout its range, it is both cylindrical and linear in the latitude. Thus, although it never has one scale and the scales vary with orientation, it can be used for interpolating geographic coordinates from the map. Be a little careful with how you interpret this, though: a point that is "half way between" two given points on the map does not necessarily represent a location halfway between the corresponding real-world points. – whuber Sep 30 '10 at 14:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.