В данной статье описывается импорт данных SRTM с помощью пакета Arcview 3.x и модуля Spatial Analyst
Подробнее о миссии SRTM и данных, а так же о импорте с помощью Arcinfo Workstation читайте здесь. Там же находится программа генерации sml-файлов сильно облегчающий обработку большого количества данных SRTM с помощью Arcinfo Workstation.
Эта статья нужна вам только если вы работаете с данными SRTM представленными фрагментами 1x1 градус в формате HGT. Если вы работаете с мозаиками 5x5 градусов - они уже готовы к работе.
Название каждой матрицы рельефа соответствует координатам ее левого нижнего угла.
Например:
n45e136 /45 гр. с.ш., 136 гр.в.д
Для начала работы необходимо:
а) Определить, какие именно матрицы вам нужны, это можно сделать наложив обычную сетку через 1 градус и определив название матрицы (см. выше). Легко найти нужный лист можно использовав покрытие grid1dg, которое представляет собой готовую сетку через 1 градус, в атрибутивной таблице которой, в поле Tilename каждой градусной ячейке приписано имя соответствующей матрицы
б) Разархивировать нужный файл и изменить его расширение с HGT на BIL
в) Создать новый текстовый файл, с именем таким же как имя файла BIL, и с расширением HDR (файл заголовка). Например: n45e136.bil и n45e136.hdr. Содержание файла HDR постоянно для любой матрицы рельефа.
Примечание 1: если файл hdr редактируется в notepad, необходимо иметь в виду, что по-умолчанию ему будет присвоено расширение txt, для того чтобы этого избежать, необходимо при сохранении файла задать ему имя таким образом: "n45e136.hdr" и "n45e136.blw" (включая кавычки). Если этого не сделать, notepad присвоит файлам имена: n45e136.hdr.txt и n45e136.blw.txt соответственно и попытке загрузить bil в Arcview будет выдаваться сообщение об ошибке: Unable to read standard header.
Примечание 2: если файл hdr редактируется в notepad, необходимо при сохранении убедиться, что Encoding (кодировка) установлена в значение ANSI, при установке Unicode, bil файл будет загружен в Arcview, но просмотреть его будет нельзя. При попытке сохранить данные как GRID будет выдаваться ошибка: NXXeXXX.bil could not be converted to a grid....
Содержание текстового файла HDR должно быть следующим:
г) Создать новый текстовый файл, с именем таким же как имя файла BIL, и с расширением BLW (файл привязки). Например: n45e136.bil и n45e136.blw. Содержание текстового файла BLW должно быть следующим:
Приведенные выше строки можно просто скопировать и вставить в созданный BLW файл, изменить значение нужно в двух последних строках (координаты X и Y вернего левого угла). Как упоминалось выше, эти данные можно взять из названия, однако следует помнить, что название файла является координатами левого нижнего угла, а записывать нужно координаты левого верхнего. Таким образом, параметр ULYMAP будет отличаться от цифры в названии файла на единицу в сторону увеличения (см. название файла и содержание HDR файла, параметр ULYMAP).
Согласно документации:
Так как в Arcview координаты пиксела определяются также вычисляются не по его верхнему левому углу, а по центральной точке, то изменять координаты путем прибавления\вычитания половины пиксела - не нужно.
Размер одного пиксела составляет
0.000833333333333 градусов по ширине и высоте.
Таким образом каждая матрица рельефа будет представлена
тремя файлами с одинаковыми названиями, но разным разрешением.
Перед конвертацией данных, нужно включить расширение Spatial Analyst и загрузить получившийся BIL файл в Arcview (View/Add Theme, SourceTypes - >> Image Data Source).
1. Конвертация в формат GRID.
Активировать загруженную матрицу и выбрать Theme\Convert to Grid из меню Вида. Далее нужно выбрать имя под которым будет сохранена матрица рельефа в формате GRID. По умолчанию Spatial Analyst предлагает сохранить новый GRID под именем Nwgrd1.
2. Восстановление отрицательных значений. Осуществляется
с помощью пункта меню Analysis\Map Calculator модуля Spatial
Analyst. Допустим название конвертированной в GRID матрицы Nwgrd1,
тогда выражение, необходимое, чтобы восстановить нормальные значения
будет иметь вид:
После ввода выражения нужно нажать кнопку Evaluate, входной GRID будет пересчитан, в содержание Вида будет добавлен новый, по умолчанию его название будет Map Calculation 1.
3. Установка значения NODATA. Осуществляется с помощью
команды SETNULL, так же в окне Map Calculator.
Результатом операции будет новый GRID с правильными значениями высот и именем Map Calculation 2
4. Мозаицирование.
Если у вас несколько матриц, которые необходимо склеить в единое поле, то сделать это можно с помощью того же инструмента Map Calculator (Analysis\Map Calculator).
В поле вводу необходимо ввести выражение, которое склеит все перечисленные матрицы рельефа, таким образом:
В этом выражении, на первом месте (grid1) должно стоять одной из матриц, далее в круглых, а затем фигурных скобках должны быть перечислены названия всех остальных матриц, причем каждое из названий матриц (как первого, так и остальных) должно быть заключено в квадратные скобки.
5. Сохранение результата. Получившуюся матрицу рельефа можно сохранить под нормальным, нужным вам названием с помощью Theme\Save Data Set...
Если количества матриц рельефа достаточно
велико и есть доступ к Arcinfo Workstation, то лучше воспользоваться
генератором sml-файлов, который создаст специальный командный файл,
выполнив который в Arcinfo, вы получите сразу импортированную, подготовленную
и склеенную в единое покрытие матрицу рельефа. Подробнее
здесь.
Обсудить в форуме Комментариев 20
Последнее обновление: September 09 2021
Дата создания: 23.01.2004
Автор(ы): Максим Дубинин
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).