Input: The dynamic error of view-dependent , |
data scale of current data of scene , data |
position: longitude LONG, latitude LAT. |
Output: Pre-fetch data set , and load file mapping buffer. |
Description of function: Locate physical data block, and |
load data buffer in memory through the threshold of screen |
error and the position of scene, as the requirement of |
the amount of data in memory. |
(1) Initialization: Clear data set . |
(2) Traverse the head file of data source (physical model), |
and determine which data block belongs to it |
according to (LONG, LAT), meanwhile, record the number of involved files. |
(3) For each file from to fileN, do the process as follows: |
//If it is a single file, then execute once, |
otherwise, execute more than once |
(3.1) According to and Formula (2), compute the error |
threshold needed by current scene. |
(3.2) Get cluster , and let the arrangement of static error |
thresholds of be: , |
, determine which interval belongs to, |
and define the cluster which meets the requirements as . |
(3.3) If is less than fileN, then go to step 3. |
(4) According to the moving direction of viewpoint, update the |
value of LONG and LAT, and establish fileN file mapping buffers. |
(5) If fileN is 1, then determine the initial position of |
(according to LONG, LAT), and intercept data block . |
(6) If fileN is greater than 1, then determine the position |
of cluster , and let be , and fileN: |
(6.1) Judge the relation of the file of two adjacent data block |
(as Figures 5(b), 5(c), and 5(e)); |
(6.2) Distribute data blocks in , and form . |
According to the position relation Z-shape filling adjacent |
data block cluster after that. |
(7) If the intersection of and the existed data in data |
buffer is empty, then load , otherwise load , |
namely load data incrementally. |
(8) The end. |