Difference between revisions of "Scenery:Terrain Model"

From Silent Wings Wiki
Jump to: navigation, search
 
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:
  
 
The earth model used for the 3D visualisation in GeoGFX is a sphere
 
The earth model used for the 3D visualisation in GeoGFX is a sphere
with radius $R = 6378000$ m. For visualization purposes, the
+
with radius R = 6378000 m. For visualization purposes, the
 
elliptical shape of the earth can safely be ignored. However, all
 
elliptical shape of the earth can safely be ignored. However, all
 
geographic processing and reprojection of input data is done in the
 
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.
 
WGS84 datum so all input data will be matched to the same earth model.
  
A GeoGFX terrain model is divided into \emph{blocks}, each block is a
+
A GeoGFX terrain model is divided into <i>blocks</i>, each block is a
 
rectangular section of the earth surface measured in degrees of
 
rectangular section of the earth surface measured in degrees of
 
latitude and longitude. Each block is further divided into a regular
 
latitude and longitude. Each block is further divided into a regular
grid of \emph{tiles}. The number of tiles in a block should normally
+
grid of <i>tiles</i>. The number of tiles in a block should normally
 
be a power of two, and it should also be the same in north- and
 
be a power of two, and it should also be the same in north- and
east-direction, i.e a block can be 8$\times$8, 16$\times$16 etc.
+
east-direction, i.e a block can be 8 x 8, 16 x 16 etc.
 
Neighboring blocks must have the same number of tiles.  
 
Neighboring blocks must have the same number of tiles.  
  
Line 22: Line 22:
 
north or south. To keep our tiles more equal sided, we compensate for
 
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
 
this by dividing the east tile size by the cosine of the latitude, i.e
if $S$ is tile size and $\phi$ is the latitude of the tile, we get:
+
if S is tile size and <math>\phi</math> is the latitude of the tile, we get:
  
 +
<blockquote>
 
<math>
 
<math>
  \S_N &= S\\
+
S_N = S
  \S_E &= \frac{S}{\cos(\phi)}
+
</math><br>
 +
<math>
 +
S_E = \frac{S}{\cos(\phi)}
 
</math>
 
</math>
 +
</blockquote>
  
Usually we will select a reference latitude $\phi_R$ which is used for
+
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
 
all terrain blocks that should be connected. For example for a
 
european terrain model covering Germany and the Alps we could select
 
european terrain model covering Germany and the Alps we could select
50\degrees~north as reference latitude for all the terrain blocks. For
+
50&deg; north as reference latitude for all the terrain blocks. For
a scandinavian terrain model we would select for example 62\degrees.  
+
a scandinavian terrain model we would select for example 62&deg;.  
 
At this reference latitude a tile would be equal size in north and
 
At this reference latitude a tile would be equal size in north and
 
east direction.  
 
east direction.  

Latest revision as of 13:08, 6 March 2007

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).