Difference between revisions of "Scenery:Terrain Model"
(10 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 | + | 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 | + | 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 | + | 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 | + | 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 | + | if S is tile size and <math>\phi</math> is the latitude of the tile, we get: |
− | + | <blockquote> | |
− | + | <math> | |
− | + | S_N = S | |
− | + | </math><br> | |
+ | <math> | ||
+ | S_E = \frac{S}{\cos(\phi)} | ||
+ | </math> | ||
+ | </blockquote> | ||
− | Usually we will select a reference latitude | + | 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 | + | 50° north as reference latitude for all the terrain blocks. For |
− | a scandinavian terrain model we would select for example 62 | + | a scandinavian terrain model we would select for example 62°. |
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).