Создание с помощью PascalABC.NET простого примера цифровой модели местности (Digital Elevation Model, DEM) на основе файла высот. Аналогичные текстовые ASCII файлы с данными высот, только намного большего размера, и представляют собой цифровые карты. Примером таких моделей являются проекты SRTM и ASTER, у которых размер текстового файла 1024х1024 для небольшой ячейки местности.
--------------------------------
Литература по теме:
1. 3D графика в PascalABC.NET - возможности модуля Graph3D
http://pascalabc.net/downloads/Presen...
2. Проект ASTER
asterweb.jpl.nasa.gov/gdem.asp
---------------------------------
Листинг файла высот:
---------------------------------
15 15 14 13 12 12 11 11 10 10
15 14 13 12 12 11 11 10 10 10
14 13 12 12 11 11 10 10 10 10
13 12 10 10 11 10 10 10 11 11
12 10 10 10 10 10 10 11 11 10
11 11 10 10 10 10 11 11 11 11
11 10 10 10 10 11 11 11 12 12
10 10 10 10 11 11 11 12 13 13
10 10 10 10 11 11 12 12 13 13
10 10 10 11 11 11 12 13 13 14
---------------------------------
Листинг программы:
---------------------------------
uses graph3d;
var
f: text;
x, y: integer; // счётчики циклов
z: integer;
begin
view3d.ShowGridLines:=false;
view3d.BackgroundColor:=RGB(0,0,0);
assign(f, 'map.txt');
reset(f);
for y := 1 to 10 do
for x := 1 to 10 do
begin
read(f, z);
// setbrushcolor(RGB(0,40*(z-10),255-40*(z-10)));
// rectangle(10*x,10*y,10*(x+1)+1,10*(y+1)+1);
box(x,y,z/2-4.5,1,1,(z-9),RGB(0,40*(z-10),255-40*(z-10)))
end;
close(f);
end.
#digitalelevationmodel #DEM #SRTM #ASTER #Pascal #PascalABC.NET #цифроваякарта #картавысот #Graph3D #PascalABC #геоинформатика