Implementation of Roads in the VTP software
	- the vtdata library support a network of roads 
	(paved roads, unpaved, trails, railways, etc.)
		- this functionality it implemented in the class 
		vtRoadMap
- read centerlines data from DLG, 
		TIGER, SHP, and other vector data formats
- clean up the network topology
- read and write RMF (road map files), an ad-hoc binary format 
		which stores:
			- CRS (string, as OGC WKT)
- extents of dataset (double left, right, bottom, top)
- node locations (2D point)
- link locations (2D polylines)
				- road number (short)
- width in meters (float)
- number of lanes (short)
- surface type (short enum)
- flags (short, contains direction of flow, presence of sidewalk 
				and other flags)
- sidewalk width (float)
- curb height (float)
- margin width (float)
- lane width (float)
- parking width (float)
- topology (indices of from-node and to-node, int)
 
 
 
- the vtlib library can read RMF and generates simple 
	triangle strips for the roads, draped on a terrain
	
		- this functionality it implemented in the class 
		vtRoadMap3d
- in addition to the roadway surface, can create additional triangle strips 
		for: margins, parking areas, sidewalks
- applies correct road marking (yellow and white stripes) based on number 
		of lanes and traffic direction
- some caveats:
			- Intersection (junction) geometry is rudimentary: a simple polygon 
			connecting the adjoining roads, with a 'pavement' texture.  Better 
			intersections would require more knowledge of how the lanes of flow 
			move through the node - connectivity of the lanes, direction of flow 
			per lane.  Even if there was an encoding to support it, this information 
			is rarely available.
- Draped roadways can sometimes have trouble with the terrain, see
			Z-Buffer Issues