Using VMap0 for FlightGear Scenery

VMap0 (Vector Map Level 0) is a collection of world-wide, low-resolution map data on four CDs (Europe and North Asia, North America, South Asia and Oceania, and South America and Africa), available for free download from

http://geoengine.nima.mil/

(The above link will take you to an interactive map. Ignore the map, click on the "Download/Order" tab in the frame below it, then click on the "Download" button to the right of "VMAP Level 0 in Mil-Spec". A download page for the four CDs will appear. You can download only the CD(s) you need, and you can unpack the data on your hard-drive rather than burning a CD if you prefer.)

Building FlightGear scenery consists of two steps: creating objects, polygons and elevation points out of GIS data (such as VMap0) and combining those object, polygons, and elevation points into scenery. This document is not a general tutorial for building FlightGear scenery: it deals only with generating polygons from VMap0 data. That said, it is possible to build acceptable scenery using only VMap0, DEM (elevation) data, and the Airports/default.apt.gz file in the FlightGear base package, as in the following illustrations:

Rochester, NY Near Lake Placid
Rochester, NY, with Lake Ontario in the background. Adirondacks, near Lake Placid.

Everything in these pictures except elevation data came from a single VMap0 CD.

Examples

Here are some sample tgvpf command lines for building scenery polygons for the w080n40 scenery chunk, assuming a CDROM mounted on /cdrom:

  1. Make the basic landmass (divide the land from the water):

    tgvpf --chunk=w080n40 --work-dir=LandMass --area=Default /cdrom/vmaplv0 noamer bnd polbnda
    
  2. Add inland water, such as lakes and wide rivers, from polygons:

    tgvpf --chunk=w080n40 --work-dir=Lakes --area=Lake /cdrom/vmaplv0 noamer hydro inwatera
    

    (You can actually distinguish perennial lakes from intermittent using feature properties.)

  3. Add rivers and streams, 100m wide, from lines:

    tgvpf --chunk=w080n40 --work-dir=Rivers --area=Stream /cdrom/vmaplv0 --width=100 noamer hydro watrcrsl
    

    (You can actually distinguish perennial streams from intermittent using feature properties.)

  4. Add cities and large towns from polygons:

    tgvpf --chunk=w080n40 --work-dir=Cities --area=Urban /cdrom/vmaplv0 noamer pop builtupa
    
  5. Add small towns and villages from points:

    tgvpf --chunk=w080n40 --work-dir=Towns --area=Town /cdrom/vmaplv0 noamer pop mispopp
    
  6. Add farmland from polygons:

    tgvpf --chunk=w080n40 --work-dir=Crops --area=MixedCropPastureCover /cdrom/vmaplv0 noamer veg cropa
    

    (You can actually distinguish three kinds of farmland using feature properties.)

  7. Add forests from polygons:

    tgvpf --chunk=w080n40 --work-dir=Forest --area=MixedForestCover /cdrom/vmaplv0 noamer veg treesa
    
  8. Add freeways from lines:

    tgvpf --chunk=w080n40 --work-dir=Freeways --area=Freeway --att=med:1 /cdrom/vmaplv0 noamer trans roadl
    

    The feature attribute med has the value '1' for a road with a median.

  9. Add regular roads from lines:

    tgvpf --chunk=w080n40 --work-dir=Freeways --area=Freeway '--att=!med:1' /cdrom/vmaplv0 noamer trans roadl
    

    Use '!' to negate the value of med to get every road without a median.

  10. Add solid polar sea ice from polygons:

    tgvpf --chunk=w080n40 --work-dir=PolarIce --area=Glacier --att=f_code:BJ080 /cdrom/vmaplv0 noamer phys seaicea
    

    The values of f_code are 'BJ080' for solid polar ice and 'BJ070' for loose pack ice.

There are many, many other types of scenery that can be generated from VMap0 data as well, and many refinements that can be made. Once FlightGear supports a standard set of built-in, reusable objects (and the tgvpf utility is updated), the VMap0 data can also be used to place powerlines, pipelines, race tracks, factories, mines, and many other types of scenery objects as well.

Additional Documentation


$Id: index.html,v 1.1 2003/01/22 15:45:34 curt Exp $