Введение
Стандарт USGS DEM — это геопространственный формат файла, разработанный Геологической службой США для хранения растровой цифровой модели рельефа. Это открытый стандарт, который широко используется во всем мире. Он был вытеснен собственным форматом SDTS, разработанным USGS, но формат остаётся популярным благодаря большому количеству старых файлов, самодостаточности, относительно простой структуре данных и широкой, устоявшейся поддержке программного обеспечения.
Уровень DEM
USGS DEM можно классифицировать по одному из четырех уровней качества. Это обусловлено множеством методов сбора данных и степенью их достоверности. Уровень DEMСерия DEMПроцесс производстваКомментарииУровень 17,5 минуты30 минутСоздается методом автокорреляции или ручного профилирования по аэрофотоснимкамМожет быть получен из различных источников с использованием любого из ряда одобренных USGS методов и инструментовУровень 2Все серииСоздается на основе цифровых линейных графиков (DLG) или их эквивалентов из любой серии карт USGS в масштабе до 1:100000Точность и шаг данных предназначены для поддержки компьютерных приложений, анализирующих гипсографические особенности с уровнем детализации, сопоставимым с ручной интерполяцией информации с печатных карт-источниковУровень 37,5 минутыСоздается на основе DLG, вертикально интегрированных со всеми категориями гипсографии, гидрографии, линиями хребтов, линиями разрыва, файлами водостоков и всей вертикальной и горизонтальной сетью опорных пунктовТребуется система логики для интерпретации данныхУровень 4Все серииСоздается из электронных (не фотограмметрических) систем дистанционного зондирования, активных (например, радар или лидар) или пассивных (принимающих излученную энергию)Процесс включает в себя всю дополнительную постобработку, необходимую для приведения сетки DEM к окончательной форме.
Формат Структура
Формат USGS DEM представляет собой самодостаточный (один файл) набор блоков ASCII, кодированных (текстовых) 1024 байт (1024 символов ASCII), которые делятся на три категории записей, называемые A, B и C. Отсутствует неоднозначность между платформами, поскольку коды управления окончаниями строк не используются, и все данные, включая числа, представлены в виде читаемого текста. Не существует известного бинарного аналога формата, хотя обычной практикой является сжатие файлов с помощью gzip. Числа с плавающей запятой кодируются с использованием научной нотации Фортрана, поэтому программам на C/C++ необходимо заменять символ экспоненты "D" на "E" при разборе (и наоборот при записи). Поля записи содержат начало координат, тип, сводную статистику и системы измерений, используемые профилями. Запись A появляется один раз в качестве заголовка файла, запись C также появляется один раз в качестве завершающей записи, а несколько записей B (называемых профилями) содержат данные об высоте. Записи A и C помещаются в один блок, но для записи B обычно требуется несколько блоков. При таком переполнении блока данные смещаются, чтобы начинаться ровно на каждой границе блока. Записи A также имеют "старые" и "новые" варианты, поскольку USGS добавила несколько полей в запись A. Одним из ключевых элементов является четырехугольник – набор из четырех земных координат, описывающих четырехсторонний многоугольник, охватывающий интересующую область. +Макет записи A: Неполный – пожалуйста, внесите свой вклад – полные сведения приведены в Приложении http://nationalmap.gov/standards/pdf/2DEM0198.PDF Начальная колонка Конечная колонка Описание 0 134 Описательное название представленной области 150 155 ? 156 161 ? 162 167 Номер зоны UTM 529 534 Единица разрешения наземной сетки (0=радиан; 1=фут; 2=метр; 3=секунда дуги) 535 540 Единица разрешения высоты (1=фут; 2=метр) 546 569 Координата X юго-западного угла 570 593 Координата Y юго-западного угла 594 617 Координата X северо-западного угла 618 641 Координата Y северо-западного угла 642 665 Координата X северо-восточного угла 666 689 Координата Y северо-восточного угла 690 713 Координата X юго-восточного угла 714 737 Координата Y юго-восточного угла 738 761 Минимальная высота, найденная в этом файле 762 786 Максимальная высота, найденная в этом файле 816 827 Разрешение на ячейку по оси X (Восток – Запад) 828 839 Разрешение на ячейку по оси Y (Север – Юг) 858 863 Количество столбцов Записи B (профили) представляют собой продольный столбец переменной длины с растровыми значениями высот, начинающийся в указанном месте. Они имеют длину, кратную 1024 байтам, и содержат небольшой заголовок, обобщающий профиль. Значения высот расположены непрерывно; разрывы или другие несоответствия выражаются с использованием "пустых" значений высоты, равных 32767. Каждое значение высоты описывается как шестизначное целое число, занимающее фиксированное место в блоке. Заголовок профиля появляется только в первом блоке, поэтому последующие блоки содержат больше значений высоты. При чтении файла DEM от первого байта до последнего профили считываются в виде столбцов с запада на восток. Значения высот в пределах профиля изменяются с юга на север. Переменное расположение и переменная длина профилей в основном связаны с использованием геодезической системы координат UTM (Universal Transverse Mercator). Поскольку измерения в UTM используют фиксированные расстояния (например, 30 метров между точками высоты), четырехугольник должен слегка искажаться, чтобы отображать такие местоположения на сферической Земле. Это искажение обычно проявляется в виде повернутого квадрата, поэтому столбцы высот вблизи восточных и западных краев начинаются дальше на север и содержат меньше точек. Записи C содержат данные контроля качества, основанные на среднеквадратичной ошибке (RMSE), используя десять шестизначных целочисленных полей.
B records (profiles) are a variable length longitudinal column of raster elevations that start at a specified location. They are some multiple of 1024 bytes long and contain a small header summarizing the profile. The elevations are contiguous; breaks or other discontinuities are expressed using "void" elevations of value 32767. Each elevation is described as a six character readable integer occupying a fixed location in a block. The profile header only appears in the first block, so subsequent blocks hold more elevation values. When reading the DEM file from first byte to last, one reads the profiles as columns from west to east. The elevations within a profile run from south to north. The variable location and variable length nature of profiles stems mainly from the use of the UTM (Universal Transverse Mercator) ground reference system. Since measurements within UTM employ fixed distances (e. g., 30 meters between elevation samples), the quadrangle must slightly distort to map such locations onto the spherical Earth. This distortion usually manifests as a rotated square, hence the elevation columns near the east and west edges start more northward and contain fewer samples. C records contain root mean squared error (RMSE) quality control data, using ten six character integer fields.