Scenery:Terrain Model

From Silent Wings Wiki
Jump to: navigation, search

This section describes how a GeoGFX terrain model is built on the earth surface.

The earth model used for the 3D visualisation in GeoGFX is a sphere with radius R = 6378000 m. For visualization purposes, the elliptical shape of the earth can safely be ignored. However, all geographic processing and reprojection of input data is done in the WGS84 datum so all input data will be matched to the same earth model.

A GeoGFX terrain model is divided into blocks, each block is a rectangular section of the earth surface measured in degrees of latitude and longitude. Each block is further divided into a regular grid of tiles. The number of tiles in a block should normally be a power of two, and it should also be the same in north- and east-direction, i.e a block can be 8 x 8, 16 x 16 etc. Neighboring blocks must have the same number of tiles.

Since the GeoGFX terrain is built on a spherical earth model, the tiles will get narrower the further north or south we go. If you select one tile size in degrees at the equator, the same number of longitude degress will cover only half the distance at 60 degrees north or south. To keep our tiles more equal sided, we compensate for this by dividing the east tile size by the cosine of the latitude, i.e if S is tile size and <math>\phi</math> is the latitude of the tile, we get:

<math> S_N = S </math>
<math> S_E = \frac{S}{\cos(\phi)} </math>

Usually we will select a reference latitude <math>\phi_R</math> which is used for all terrain blocks that should be connected. For example for a european terrain model covering Germany and the Alps we could select 50° north as reference latitude for all the terrain blocks. For a scandinavian terrain model we would select for example 62°. At this reference latitude a tile would be equal size in north and east direction.

If no reference latitude is given, the middle of the south border latitude of the terrain block is used. (This block would then only be able to connect with other blocks on the same latitude).