PDA

View Full Version : How do YOU create various resolutions of the same map?



Jaxilon
01-06-2012, 12:46 PM
For example, a world map and a zoomed in regional map showing greater detail.

My first instinct is to create one huge map at the regional resolution and then just shrink down the world version. Obviously there could be some issues such as rivers no longer showing and so forth but it would ensure everything was in the exact right location. Possibly some of the features could become muddled however.

Then I thought, well, perhaps draw the original coastlines and shrink that down and then fill in all the stuff you want to show on the world map. The problem there is the challenge of placing the mountains and everything else in the exact locations as the regional maps would later show with greater detail. This seems like twice the work since you would be drawing the same area features in two different resolutions. That seems less than efficient unless you just want two entirely different looking styles in which case it's not a big deal.

I would love to hear how others have handled this.

Redrobes
01-06-2012, 04:30 PM
I write an app which is specifically designed to alleviate this issue. See sig. So naturally this is the way I do it. I don't have a fixed resolution image for the map.

Jaxilon
01-07-2012, 12:24 AM
You are correct RR and I should have guessed what your answer would be :). In the case I am thinking of there would only be two images of different resolutions.

I recall a challenge we did some time ago of various locations from our CWBP and at the end you used your application to overlay our regional/area maps on the world map which was very cool. It also happens to have shown the very issue I am talking about because some of the entries did not line up as well with the original world map.

I guess in the end if the resolutions between the two are large enough it doesn't make any difference but if the world map shows any sort of features then to my mind they need to match.

Hai-Etlik
01-07-2012, 01:16 AM
Vector graphics, or better yet, unsymbolized vector data in a GIS.

Also, simply zooming in doesn't really work very well. A projection suitable for a world map, isn't generally a good projection for a continent, and a projection that works well for a continent, isn't necessarily a good match for a single city.

Mark Oliva
01-07-2012, 03:35 AM
We use only raster graphics, no vector graphics. Nonetheless, or main mapping program, Fractal Mapper (TM) 8, has multi-zoom functionality that makes such operations very easy. It's described in our free 220-page PDF tutorial, You can get it at:

http://www.vintyri.org/vintyri/tu1.htm

Jaxilon
01-07-2012, 04:58 PM
Somehow I think I am failing to state my question accurately.

Let me try another way:

You are hired to create a world map and several regional maps of said world. Lets say they plan to hang them on their wall. Obviously the regional maps will show more detail than the world map but you still want them to have the same shape and major features.

I guess if it were in vector you can shrink and expand the areas as needed but you still deal with what detail to show or not as well as pixel loss at some point. I don't use much vector software other than Inkscape and I'm not great with it except for making labels.

So basically I am asking what methods have others found useful to do this. I have an idea but if there is a shortcut I'm all ears.

If I was doing everything by hand on paper I would have to make sure I didn't put a mountain where none existed on the other one (world/regional).

Hai-Etlik
01-07-2012, 07:20 PM
Somehow I think I am failing to state my question accurately.

Let me try another way:

You are hired to create a world map and several regional maps of said world. Lets say they plan to hang them on their wall. Obviously the regional maps will show more detail than the world map but you still want them to have the same shape and major features.

I guess if it were in vector you can shrink and expand the areas as needed but you still deal with what detail to show or not as well as pixel loss at some point. I don't use much vector software other than Inkscape and I'm not great with it except for making labels.

So basically I am asking what methods have others found useful to do this. I have an idea but if there is a shortcut I'm all ears.

Most GISes have the ability to do various kinds of conditional symbolization based on scale. So you can tell it to do things like, if the scale is smaller than 1:100,000, only display cities with a population of at least 750,000. There are also tools to simplify linestrings and polygons so they are suitable for a particular scale, Inkscape does include a form of this.

waldronate
01-07-2012, 09:26 PM
I use Fractal Terrains for that purpose, but the public versions only do basic landforms and rivers at this point, no lines or text or symbols. The coastlines and river systems in FT, for example, show an appropriate level of detail for the current zoom level. FT3 can do exports for CC3 to allow for additional annotations beyond the basic level.

If you want to use FT for basic roughing-in to get regional items in the correct places, you can sketch in the desired landforms as climate types. FT has the ability to do useful reprojection to get regional area maps with different amounts and kinds of distortions than the whole-world map.

http://www.ridgenet.net/~jslayton/cshelf/index.html shows a way that world-to-regional mapping can be accomplished in Wilbur, but you're pretty much stuck with the basic fractal elements without painting or erosion.

tilt
01-08-2012, 03:55 AM
hmmm..... haven't done this as my current game is only in a "region" - so I don't have an actual world map for the Mountain Realms map - however if I had to have a world map AND full region maps of everything (which may seem a bit overkill - I'd probably just select some regions and map those) I think I'd make the world map first - rough sketch of everything. Then i'd divide it into manageable sizes and map those in high res, finally when all those where done I'd shrink them to make a new world map.
Another attack route could be to make the world outline in vector but I think the first idea would work best for me :)

guyanonymous
01-15-2012, 11:29 AM
I write an app which is specifically designed to alleviate this issue. See sig. So naturally this is the way I do it. I don't have a fixed resolution image for the map.

Can you export the maps you create in viewing dale at full size (e.g., massive resolutions like 30000x___) or as tiles for use in googlemaps?

liciobruno
01-15-2012, 05:36 PM
Most GISes have the ability to do various kinds of conditional symbolization based on scale. So you can tell it to do things like, if the scale is smaller than 1:100,000, only display cities with a population of at least 750,000. There are also tools to simplify linestrings and polygons so they are suitable for a particular scale, Inkscape does include a form of this.

Can you tell us some GIS which is simple to use and open source? I found Landserf, that is very simple, but it is not open source. Thanks.

Redrobes
01-16-2012, 06:24 AM
Can you export the maps you create in viewing dale at full size (e.g., massive resolutions like 30000x___) or as tiles for use in googlemaps?
In the app you zoom the map so that you get on the screen what you would like to export. Then you can export the screen image as a BMP, PNG, or JPG and you can set the resolution. You can set that as either a DPI with image size in mm or inches and it will calculate the pixel size or you can set the pixel size directly. It will make the aspect ratio whatever you had the apps main map window set to.

You can easily export up to about 20,000 pixels wide but as you go higher then it will start to struggle because of the limitations of the file formats and the PC memory required to render the screen image. Generally, whatever the app, I would say that about 10,000 is the max anyone should export images at. I have various apps which start to generate rendering issues after about 14K square. Gimp and Photoshop are almost certainly able to cope tho. Remember that if a pixel is 4 bytes then 20,000 square is 4x20x20Mb or about 1.6Gb of image.

There is no option in the app to export a set of tiles which line up in a grid but there is an option to import a large image and have it break it up into tiles and import it. So it will import 20,000 pixel images into it. Using arrays of images from tile commercial sets, I have imported a 100,000 pixel square bitmap into it. Its slow of course but it will cope with it.

There is a setting where you can request the map as an image over a web page interface so that you can get a web browser to view the image with the correct URL. In the URL is the X,Y, zoom and image size. If you got a script to ask it for a set of tiles of the map and changed the X and Y values and saved out all of the images then you could get it to make lots of map tiles that way. That's not a trivial thing to do but it could be done. If your looking to serve up the map to players using a browser only then you can note that the app has a map web server built in for that purpose. But you would not be able to host that on the net as a web page hosted by some web company. Your machine running the app would be serving up the map images.

For googlemaps or some other similar map serving java I guess it comes down to the requirements of the images it needs to build up the page. A quad of 20K square images would get you a pretty deep zoom image for a google map tiling app to run with tho.

Redrobes
01-16-2012, 06:25 AM
Can you tell us some GIS which is simple to use and open source? I found Landserf, that is very simple, but it is not open source. Thanks.

I have barely used it but QGis is open source free gis app.

Hai-Etlik
01-18-2012, 12:07 AM
Can you tell us some GIS which is simple to use and open source? I found Landserf, that is very simple, but it is not open source. Thanks.

QuantumGIS and GRASS are the big names in FOSS desktop GISes, there are also uDig and OpenJUMP which I've heard are somewhat simpler, though I've never used them. For an easy way to install a range of FOSS GIS software on Windows, you might want to look at OSGeo4W.

Redrobes
01-18-2012, 09:10 AM
Ahh yes, now you mention it I think QGIS is QuantumGIS. I did say I didn't use it much ;) But yes thats the generic open source app that people head to.

guyanonymous
01-18-2012, 12:34 PM
Redrobes,

Interesting. I really should check it out someday....it's only 'being stuck in the app' that's held me back since.

If I understand right, I can zoom out to encompass the whole map, export that at 20000pixels (or so) width, and it will include details that would resolve at that 20000 pixel resolution as though I'd had a 20000x____ window open and done a screen capture? (e.g., all the detail would be there)

I've found 30000x15000 or so is the max. size that compfortably works in -most- programs I've tried. Granted, I've not printed anything out that's 100 inches/50 inches, but you never know - I want to be prepared. :D

Do people need to own the viewingdale software to view the maps served on the web?

Thanks!

Redrobes
01-18-2012, 02:01 PM
If I understand right, I can zoom out to encompass the whole map, export that at 20000pixels (or so) width, and it will include details that would resolve at that 20000 pixel resolution as though I'd had a 20000x____ window open and done a screen capture? (e.g., all the detail would be there)

That is correct. It is NOT like a screen capture scaled up to 20,000 pixels, its, as you say, as tho you had a 20,000 pixel screen so that detail which would be at the 1 pixel res is still there in the export. I had a video showing that somewhere. If I find it ill link it.

EDIT - Here it is:
http://www.viewing.ltd.uk/Temp/CG/VD_Demo1/VD_Demo1_xvid.avi
Its a bit long. Start half way through to see it save a 12,000 pixel image with 1 pixel detail.


Do people need to own the viewingdale software to view the maps served on the web?

Theres two modes of seeing a remote viewingdale map. You can a) use the VTT aspect of it where you locally generate the transferred map on your local copy of viewingdale. In that case you can modify the map locally and everyone gets the changes sent back. Its also super fast (realtime) scroll and zoom. For the VTT mode you need a copy. Or there is b) where you can set one master copy of viewingdale to act as a web server for the currently loaded map. In which case other people can use just a web browser only to request an image of the map at a set X,Y & Zoom and image size. In this case you can look at the map at different positions and scales but you cant edit it. You cant get a grid switched on or off or do very much. You just get an image. In a similar way that say google maps sends out tiles of maps to view but not edit. Note also this mode is served from the app not a web site. With your browser you need to ask for the image at your local IP address and do all the normal port forwarding for being a web server as opposed to normally being just a web client.

Using a combination of the two you can play the game with some people using a copy editing the map and have a couple of people using a web browser and they could use browser refresh to get a new image with changes made by the DM and other VTT players but he would have to request someone to move his characters icon.

If you have a static IP address and an always on windows box server then you could make web pages with links to your viewingdale web service so that you could have a wiki or a web based map and have links to map images which might change if you edited the map with the app. I.e. it would be a dynamic up to the minute view of the map areas without any need to FTP upload new static map images to a web site.

Hope that explains it.

guyanonymous
01-18-2012, 05:12 PM
Thank you for the great explanation!

sam
03-13-2012, 12:39 AM
Hello, a newbie here. I'd like to resurrect this thread.

Basically, I would like to use Google map API (or something that works similarly) to display both a country-level map,
and county, and then city-level detail. I made a largish map; and managed to slice it into tiles using the GMap Image Cutter (http://www.bartlett.ucl.ac.uk/casa/latest/software/gmap-image-cutter).
The resulting Google map javascript-based API is very convenient. But even on my relatively small map,
the labels don't really work -- they are either too large or too small. Other problems have been noted upthread:
there is no feature discrimination, and roads (when I have them) and streams disappear at smaller scales.

Does anybody know a way to host zoomable maps on a generic web hosting site,
without a large investment in GIS software and data entry? Any pointers to further research would be welcome.

Redrobes
03-13-2012, 07:09 AM
I believe with GMaps then you have various layers of image which the cutter chops up for you. I believe the idea is that you only render the text on the appropriate scale image but I would also imagine that a generic GMap tile cutter would be too dumb to know what bits to include and what to get rid of. So in order for you to have a set of tiles with text that is always the right size then you need to treat each layer of the map individually. The GMap cutter probably just takes one giant bitmap and chops it all up into the correct layers. I guess you could make several large map images with different text labels on them, GMap each of them and then use the tiles from a selection of the sets to make one that has labels that scale ?

With my app if the text is on the bitmap then it will do much the same and you can see that in the video in my previous post. However, if you put down text labels in the app not part of the background labels then you have the option to always keep them on, never show labels and then there is a third option of them fading out when too big. The best video I have of that is here:

https://www.youtube.com/watch?v=XKYU2gcsaoQ

where you need to look at the text as it zooms in.

In terms of hosting, my app can host a map but it needs a special web URL links to show it and over the web interface its not very dynamic. So basically whatever app option you choose you will either have to enter all of the labels so that they are in a format that it knows to fade them out or else you will need to use some kind of web package that can export the map to GMaps from a GIS style original that has all of the items in a database rather than on bitmaps.

From roads and and streams point of view you have the same problem. If you render each layer individually then you could plot them with a single line. If scaling from a large bitmap then they will get small and blend out of the image at small scale. If all you have is the bitmap then its a tough call to preserve small features at small scales. If you have it as a map element database then your into GIS domain again. So I guess the important missing info is what kind of map do you have and is it just a bitmap ?

sam
03-13-2012, 09:48 AM
From roads and and streams point of view you have the same problem. If you render each layer individually then you could plot them with a single line. If scaling from a large bitmap then they will get small and blend out of the image at small scale. If all you have is the bitmap then its a tough call to preserve small features at small scales. If you have it as a map element database then your into GIS domain again. So I guess the important missing info is what kind of map do you have and is it just a bitmap ?
Thanks, Redrobes, you described my problem with scaling exactly. Gmap Cutter appears to be a bitmap slicer -- I believe it just
chops the bitmap into 256-pixel tiles; then scales it down by some factor and does the same thing, until the entire image is down to 1 tile or so.
The Gmap API is a nifty Javascript that serves and navigates up those tiles depending on clicks and keyboard actions.

My basic map is a bitmap, but I am working on a larger version with photoshop. Alas, I don't think I am up for buying another commercial
tool ATM, but I willing to use a different method or tools in the process of putting in more details.
My question is -- what tools should I be looking at? Some of my initial searches talk about Shapefiles for map features,
(then using these in some sort of map server)
but how do I create those shapefiles for, say, rivers and roads?
In theory, I understand the difference between vector and bitmap descriptions, but I have no experience with vector tools.

Or am I barking up the wrong tree?

Redrobes
03-13-2012, 12:59 PM
You have two basic choices. Go all vector which is all shape files and GIS or all bitmap which is GMaps & Gimp. You can render a vector map to a bitmap and serve it as GMap sliced tiles or you can use some other web based vector tool to display shape files and other GIS data.

If you go vector and GIS then try QGIS or QuantumGIS which is free and will be able to create shapefiles but I don't know what kind of java script/applet tools you might have to run it on a web page natively tho I would guess with confidence that it could output your map to a bitmap for slicing and tiling with GMaps.

If you go bitmap with Gimp etc then try out making a 16384 square image and also a 2048 square image of the same map but tidy up the streams, roads and place names in the two images to suite the two resolutions and see if you can substitute the tiles from the small map into the large ones divide by 8 slice. I believe that in GMaps it has many tiles per slice and a set of slices which I think are like the zoom layers. If you can insert the small maps slices into the top slices of the large map then you could have a map which scales over several different images with different detail on it. Thats kind of hard work and the point about why I wrote my app.

If you have a detailed vector map then export the whole thing as a 16384 map and a 2048 map and get the GIS part of the app to do the selection and rendering of the shapes at the different scales. It ought to be smart enough that it renders thin shapes as a single line at some point instead of blending them out into nothingness. The advantage of the vector GIS thing in this instance is that you ought not to have to make custom touch ups to the small map export each time you make changes to the whole map. The downside is that you will have more trouble with vector editing than bitmap editing.

Vector shapes are like putting down the 4 corners of a square and telling it what color and style to fill it. From there you can add extra points to the edges of the square and drag them about and its redrawing the shape each time. In Gimp and bitmaps its about pixels. You might have an undo but essentially you can put a square down but if you want to drag it about you will smear pixels instead of moving an edge line. Its much harder. But its a whole lot easier to put down a texture of a mountain or a lake without having to draw it in lines and shapes.

As well as QGIS, you ought to check out Xara, Inkscape and CC3 for vector style tools, Fractal Mapper and mine are hybrids then you have a load of bitmap apps where you can use GMaps, Worldwind, GeoServer, SimpleTiles, Silverlight and so on for the rendering. For web pages you can use your GMaps API, Silverlight API or otherwise you would need to run a server for say Worldwind, GeoServer, my app and so on. At a push you can also use plain ole HTML and use the image map links but you might need to write that in a scripting language to get that going on anything more than trivial.

Hai-Etlik
03-13-2012, 01:00 PM
My basic map is a bitmap, but I am working on a larger version with photoshop. Alas, I don't think I am up for buying another commercial
tool ATM, but I willing to use a different method or tools in the process of putting in more details.
My question is -- what tools should I be looking at? Some of my initial searches talk about Shapefiles for map features,
(then using these in some sort of map server)
but how do I create those shapefiles for, say, rivers and roads?
In theory, I understand the difference between vector and bitmap descriptions, but I have no experience with vector tools.

If you want to work with vector graphics, then you should take a look at Inkscape. If you want to work with raw geographic data, including Shapefiles and GeoTIFFs, then you should give QuantumGIS a look. I've written some introductory material on both Inkscape and QuantumGIS: http://www.cartographersguild.com/showthread.php?15185-Inkscape-Mapping-Basics, http://www.cartographersguild.com/showthread.php?17469-Some-pointers-for-using-GIS

sam
03-13-2012, 01:25 PM
If you want to work with vector graphics, then you should take a look at Inkscape. If you want to work with raw geographic data, including Shapefiles and GeoTIFFs, then you should give QuantumGIS a look. I've written some introductory material on both Inkscape and QuantumGIS: http://www.cartographersguild.com/showthread.php?15185-Inkscape-Mapping-Basics, http://www.cartographersguild.com/showthread.php?17469-Some-pointers-for-using-GIS
Appreciate the pointer! I will take a look.

And thanks again to Redrobes. I was actually considering making two maps; my current "big" one is 10240x8192, I think that's close to the limits of my machine and tools. Not quite sure how to "insert" the small one at appropriate scales,
but it will be my plan B -- if I can't make headway in vector and/or GIS approach.