8

How do I create a static map where the scale varies based on location?

Example: to drive from a specific location X in Albuquerque to a specific location Y in Chicago, I want to "zoom" around X and Y as follows:

  • Near X and Y, the scale is fairly large, so you can see minor streets, buildings, etc, near X and Y.
  • Far away from both X and Y, the scale is fairly small, so you might just see long lengths of highway, but no details.

In other words, it's like a regular map with a "magnifying glass effect" around X and Y. The effect should "fade off" smoothly, so there isn't a break in the map.

Reasoning: when traveling between remote cities, the highway travel is often easy (in the sense it doesn't require details), but getting from X to the highway and from the highway to Y can require detailed instructions, knowing minor streets, etc.

EDIT: I've attached a horrible example of what I want to do. Notes:

  • This only zooms in on one city, not two.
  • This is just plain old image zoom. What I would want is more detail in the Albuquerque area.
  • Notice, however, that the roads/highways are continuous: the magnifying does not have a "cutoff" problem.

alt text

2
  • 1
    I think we would need more information. Like the software, level (web/desktop), language (gui or code). fill in the blanks and we will sure try to help.
    – Brad Nesom
    Commented Dec 16, 2010 at 1:59
  • I'm pretty much open re the technology... data from openstreetmap.org for example and piecing it together using anything from fly/libgd to something more sophisticated. I guess my real question is: in a language-neutral way, how would you go about doing this? Once I have the general idea, I think I can proceed on my own.
    – user1462
    Commented Dec 16, 2010 at 2:06

6 Answers 6

11

This document presents an algorithm to do that:

Harrie, L., Sarjakoski, T., Lehto, L. A variable-scale map for small-display cartography. In: Joint International Symposium on GeoSpatial Theory, Processing and Applications (ISPRS/Commission IV, SDH2002). Ottawa, Canada, july 2002

An example:

alt text

EDIT: This kind of representation is quite old. See the plan Conrad Morant (1548):

alt text

7
  • ien: interesting paper. have you seen this algorithm applied in some software/web platform?
    – user173
    Commented Dec 16, 2010 at 9:38
  • I don't know. A prototype seems to have been developed, but I don't know on which platform and how it is available. This work was part of a research project called 'GiMoDig'.
    – julien
    Commented Dec 16, 2010 at 12:24
  • This is exactly what I'm trying to do, thanks! I will read the paper and see if I can implement it.
    – user1462
    Commented Dec 16, 2010 at 17:19
  • Happy to help !
    – julien
    Commented Dec 16, 2010 at 17:22
  • 1
    Here is a protoype I have developed: opencarto.goldzoneweb.info/index.php?id=european-regions
    – julien
    Commented Mar 3, 2012 at 0:55
3

Not exactly an answer but you might want to have a look this indiemaps blog post with several interesting examples.

2

Flash http://www.richtersveld.net/index.php/site/region_map/

you can blend a more detailed image inside the magnifying glass.

1
  • Barrycarter is looking for a smooth "fade off", so there shouldn't be a break in the map.
    – underdark
    Commented Dec 16, 2010 at 10:06
2

I think you are looking for Microsoft's Line Drive service http://msdn.microsoft.com/en-us/library/cc514631.aspx which produces maps like

alt text

You can read the original paper that it is based on at http://cs.ubc.ca/~tmm/courses/cpsc533c-03-spr/readings/rtmaps.pdf

2
  • Thanks! This is pretty close to what I'm looking for. It might be nice to see some structures as well (though seeing the "points of interest" really is helpful).
    – user1462
    Commented Dec 16, 2010 at 17:18
  • I think that the paper gives the necessary step to build the map and then you could add POIs and structures as you require.
    – Ian Turton
    Commented Dec 16, 2010 at 17:20
1

The easiest thing I can think of is to use multiple data frames in ArcMap. 1 for the highway overview, and one for each of the detail views at the end points. Arrange them as you like in the layout view, and set the zoom scale or extents appropriately. I've never worried about a smooth fade out, and that won't be available in ArcMap.

If this is close to what you are looking for, I can provide more details.

2
  • If it's not too much work, could you show me an example of what the result would look like?
    – user1462
    Commented Dec 16, 2010 at 15:16
  • @barrycarter, it would look similar to Pablo's answer, with discontinuities. Commented Dec 16, 2010 at 15:59
1

Since the maps are static, you can do some artwork to get nicer results. Here to solve that problem I overlay maps with different scales. Depending on the GIS that you use you can do that in many ways. One is to generate a large map and save, than generate small zoom maps and save, then combine them in a software like Inkscape or Illustrator and clip the zoom map in the desire shape. Look at the simple example made with Qgis and Illustrator. alt text.

2
  • However, I notice the roads "break" between the inset and the main map. It also appears the inset is a constant scale. I think the only way to get continuity is to have the "inset's" scale different at each point in the inset.
    – user1462
    Commented Dec 16, 2010 at 15:18
  • I did some research and I think that the lens effect in corel draw can do what you want, unfortunately I don't have corel here.
    – Pablo
    Commented Dec 16, 2010 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.