topo map to 3D terrain

Started by
18 comments, last by GameDev.net 19 years, 7 months ago
first of all, up & down do matter. You said " if you're wrong you can just flip it upside down ". But how would you know when you are wrong?
At any rate, I would do two different passes on the data. Once like lonesock said, because you need to know if you are crossing a new contour line or one you previously crossed. Starting from the corner & just assigning it an arbitrary height is good, because this map is just in reference to itself.
The first pass, I would assign heights along the lines & until you hit a new line, keep that height... so basically you will have a very choppy / blocky heightmap. Then for the second phase, run a smoothing algorithm over the data, maybe more than once & you'll have some pretty good 3D terrain of that area.
Whatsoever you do, do it heartily as to the Lord, and not unto men.
Advertisement
Quote:Original post by Luke Miklos
first of all, up & down do matter. You said " if you're wrong you can just flip it upside down ". But how would you know when you are wrong?


By looking at the map it is easy for anyone who is familiar with topo maps which way is up.... for the program, if it could map a river (should be the same as mapping contour lines) it could detect whether the river is in a valley or on a ridge, if it's on a ridge then it would reverse the map.

By the way, thanks everyone for their input and help with this.
Ohhhh ok. so the rule is ... every line between a river & a peak... is going UP. & there should be an even number of lines between 2 peak lines... cus half go down & half go up. I get it now, this would be a great problem to work on, good luck on it.
Whatsoever you do, do it heartily as to the Lord, and not unto men.
Ok, now that I have the confidence it's possible.... I need a little help. I haven't programmed much with graphics.

How do I open a .bmp file (display it) and read the bits?

I'm using VC++ on WinME

You know, quite a few years ago I was involved in street-mapping and although this isn't a mapping project, I'm reminded that the info for topo maps is available as data-sets as well as images (sometimes called DRGs, DEMs, etc. by usgs).

So, you might look into the various file-formats (they're all parseable as ascii text)available for topographic maps, it would probably be a lot more dependable than trying to guess an elevation from it's location relative to other pixels or 'landmarks' in a raster image.

ESRI has free stuff for download, too, that deals with government datasets for all sorts of mapping, the data itself come from these guys:

http://www.usgs.gov/pubprod/index.html#software

Also look into the BLM, since they have their own proprietary data and software available for public download.

I'm sure the Canadian Gov. has similar support for national topogaphic data as well as published specifications for their data formats.

Once you have a 'range' of values defined, you can generate a heightmap based on the elevation data you parse from the file and you have your terrain.

Tony



By way of followup, here is a listing of the various sources for terrain data (free for the most part), including Canadian datasets:

http://www.terrainmap.com/rm39.html

Tony
Another link you might find useful (open source):

http://www.vterrain.org/

Tony
You should look for a data version as that will be far easier to do.

No disrespect to luke but doing it from raw pixel data will not be anythign near a easy task, there are gaps in lines, noise, random symbols and text. There are not rivers on every rise and falling peak.

Make no mistake it would be a very though task, but yes it can be done.
Quote:Original post by comservlant
Another link you might find useful (open source):

http://www.vterrain.org/

Tony


Wow.... this stuff is awsome, thanks for all the links comservlant
do you want that specific picture put into 3D terrain? like for your camp or your dad's camp or whatever? I'll do it if you want. or do you want just any old topographic map put into terrain?

This topic is closed to new replies.

Advertisement