Чтение из SRTM30

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Ответить
MDmitry
Новоприбывший
Сообщения: 1
Зарегистрирован: 14 мар 2010, 21:53
Репутация: 0

Чтение из SRTM30

Сообщение MDmitry » 15 мар 2010, 20:14

Не могу организовать нормальное считываение из DEM-файла. Описание нашёл только такое (перевод с документации). DEM-файл состоит из 16-битных целых чисел со знаком в простом бинарном растре. В изображении нет заголовка или конца файла. Данные хранятся последовательно

Считываю таким образом (код написан на Blitz3D, но разобраться по комментариям можно)

file_height=ReadFile("E020N90.DEM") ; Подключаем файл с высотами
height=ReadByte(file_height) ; Считываем первый байт
While Not Eof(file_height) ; Пока не достигнут конец файоа
arr_heights(x,y)=ReadShort(file_height) ; Считываем по два байта
x=x+1 ; Передвигаемся к следующей высоте
If x=6000 Then ; Переходим на 1 ячейку вниз, если достигнут конец сетки
y=y+1
x=0
EndIf
Wend

Результат получается примерно такой (дан фрагмент, т.е. кусочек сетки)
x= 1 Высоты 29 138 289 2088 65507 155 295 1507 65507 155 307 1526 65507 159 296 1980 65507 128 438 1639 65507 155 0
x= 2 Высоты 30 142 17 2156 65507 148 427 1500 65507 148 334 1513 65507 156 293 1925 65507 143 408 1587 65507 154 0
x= 3 Высоты 6 148 251 1870 65507 152 436 1509 65507 154 306 1772 65507 144 291 1667 65507 154 408 1706 65507 155 0
x= 4 Высоты 65280 145 246 2017 65507 156 426 1509 65507 155 283 1545 65507 157 287 2026 65507 153 394 2013 65507 157 0
x= 5 Высоты 65528 153 244 2015 65507 150 434 1504 65507 150 271 1602 65507 152 287 1874 65507 152 376 2151 65507 152 0
x= 6 Высоты 65525 158 243 1627 65507 151 462 1498 65507 147 277 1584 65507 150 287 1544 65507 155 361 1805 65507 156 0
x= 7 Высоты 65518 149 499 1781 65507 146 757 1511 65507 156 313 1659 65507 153 286 1681 65507 156 327 1980 65507 158 0
x= 8 Высоты 65516 143 266 1774 65507 147 524 1524 65507 154 353 1715 65507 166 288 1627 65507 164 321 1677 65507 156 0
x= 9 Высоты 65510 152 316 1751 65507 150 258 1490 65507 151 371 1713 65507 152 288 1961 65507 155 325 1791 65507 160 0
x= 10 Высоты 65508 151 335 1758 65507 148 766 1484 65507 154 411 1709 65507 154 289 1555 65507 158 321 1716 65507 155 0

Как правильно считать высоты?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Чтение из SRTM30

Сообщение Максим Дубинин » 16 мар 2010, 19:33

Цифры странные, такое ощущение, что отрицательные неправильно перевелись, в том куске который вы смотрите есть отрицательные высоты?

Я бы взял обычный TIF SRTM, загрузил в QGIS и посмотрел на ту же территорию (точно те же пиксели) какие там на самом деле значения. Взять тифы можно здесь: http://srtm.csi.cgiar.org/index.asp Так вы точно поймете какие значения должны быть.
пристегивайтесь, турбулентность прямо по курсу

Ответить

Вернуться в «Обработка ДДЗ»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 4 гостя