![]() |
hgt файлы и построение на их основе рельефа
Доброго времени суток.
Я строю трехмерную карту, т.е. с отображением рельефа местности. Данные высот беру с SRTM3 из *.hgt файлов. Данные распространяются квадратами размером 1х1 градус, при максимальном доступном разрешение 3 арксекунды такой квадрат является матрицей размером 1201х1201 элементов (пикселей). Один дополнительный ряд (нижний) и одна колонка (правая) являются дублирующим и повторяется на соседней матрице. Данные являются простым 16 битным растром (без заголовка), значение пиксела является высотой над уровнем моря в данной точке, пиксела также может принимать значение -32768, что соответствует значению no data (нет данных). Референц-эллипсоид данных - WGS84. Название квадрата соответствует координатам его левого нижнего угла. Например: n45e136 /45 гр. с.ш., 136 гр.в.д Для примера я построил район г. Эльбрус Считываю таким образом file_height=ReadFile("N43E042.hgt") height=ReadByte(file_height) x=0 y=0 While Not Eof(file_height) height=ReadShort(file_height); If (x>299) And (y>399) And (x<300+100) And (y<400+360) Then hx=x-300 hy=y-400 nomer_vertex=hy*(razmer_x+1)+hx x_vertex=VertexX(relief_surf,nomer_vertex) z_vertex=VertexZ(relief_surf,nomer_vertex) VertexCoords relief_surf,nomer_vertex,x_vertex,height,z_vertex EndIf При использовании OZI Explorer 3D получается нормальная карта Эльбруса, у меня же какая-та череда ущелий и возвышений, что неудивительно, данные считываются, например для x=const y=1400, 1720, 1211, 2042, 1600 и т.д. Может кто работал с этими файлами, как правильно осуществить считывание высот из них? |
Ответ: hgt файлы и построение на их основе рельефа
Спасибо тебе, написанное выглядит мощным, я так хочу проникнуть в суть сказанного!
Цитата:
Например, если записана "высота" в виде short'a со смещением в 500 байт от начала данных, то при чтении некоего short'a в позиции 500 тебе крайне желательно принять его за высоту. А то, что файл hgt, а не wdt - редко играет хоть какую-то роль. |
Ответ: hgt файлы и построение на их основе рельефа
Когда то пытался построить карту Украины но не получилось !!
|
Re: hgt файлы и построение на их основе рельефа
Может кто строил уже. Описание формата я нашёл только такое (см. выше).
>А то, что файл hgt, а не wdt - редко играет хоть какую-то роль. То, что hgt - это сразу бросается в глаза, как например jpg или b3d. |
Ответ: hgt файлы и построение на их основе рельефа
Просветите неуча, вы о чём?
|
Re: hgt файлы и построение на их основе рельефа
Есть данные радарной съёмки по 80% земной поверхности. Я на их основе пытаюсь построить трёхмерное карту г. Эльбрус. Сам меш в принципе строится, но высоты я из файла считываю неправильно
|
Часовой пояс GMT +4, время: 19:00. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot