Cтатьи и комментарии

Повышение качества моделей рельефа местности, создаваемых по цифровым топографическим картам

А.Г.Демиденко (ЗАО КБ "Панорама") В 1989 г. окончил факультет прикладной математики Харьковского ВВКИУРВ им. Н.И. Крылова. В настоящее время — заместитель генерального директора ЗАО КБ "Панорама" по научной работе. Кандидат техническихнаук.
А.И.Ястребов (ЗАО «Транзас») Кандидат технических наук

О качестве моделей рельефа

Бурное развитие геоинформатики порождает немало приложений, в которых используется та или иная цифровая модель рельефа (ЦМР) земной поверхности. Подавляющее число таких приложений, например, прогноз наводнений [6], обеспечение безопасности полетов, объемное представление карты на экране компьютера [3,7,8] и т.п., требуют по возможности наиболее точных моделей. Зачастую требования по точности ЦМР можно удовлетворить, создавая модели на основе цифровых топографических карт соответствующего масштаба, содержащих информацию о рельефе в виде изолиний, отметок высот, отметок урезов воды и т.п. Процесс создания модели рельефа (в триангуляционном или матричном виде) по цифровым данным такого типа в настоящее время хорошо изучен, реализован во многих ГИС-пакетах [1,4] и не является предметом настоящей статьи. Однако очевидно, что качество и точность получаемой модели определяется качеством, точностью и особенностями представления исходных цифровых данных – изолиний, отметок высот и т.п.

К сожалению, практика показывает, что получаемые по цифровым картам модели рельефа зачастую являются некорректными, т.е. неправильно воспроизводят рельеф местности в некоторых зонах. К таким зонам можно отнести русла рек с крутыми и обрывистыми берегами. Имеющиеся на карте в этих зонах элементы рельефа недостаточно корректно описывают рельеф, что иллюстрируется примером на Рис.1

Рис. 1. Фрагмент карты с участком реки

Рис. 2. Профиль рельефа вдоль участка реки

Рис. 3. Профиль после обработки

Желтым цветом на Рис.1 выделен участок реки, вдоль которого по модели рельефа был построен профиль местности. Рассчитанный профиль представлен на Рис.2. Видно, что профиль существенно отличается от монотонно-убывающей функции, описывающей течение реки. Это объясняется тем, что горизонтали, расположенные вдоль русла реки, состоят из отдельных отрезков, прерываемых обрывом. Следовательно, модель рельефа формируется то из одних, то из других «кусков» изолиний, в том числе и тех, которые имеют величину приписанных высот, значительно отличающихся от истинной высоты русла. В результате профиль рельефа имеет не монотонную, а зубчатую форму.

Приведенный пример не является единичным случаем. Обследование около 100 листов цифровых карт масштаба 1 : 200 000, 1 : 1 000 000 равнинных и горных местностей показало, что на более чем 90% листов встречаются одна или несколько немонотонно текущих рек. Это говорит о том, что данная ситуация скорее типичная, чем исключительная. Такие факты позволяют сделать вывод о том, что корректное построение модели рельефа по цифровым топографическим картам невозможно без проведения предварительной обработки, исключающей негативное влияние особенностей представления данных на картах. Этот вывод является достаточно важным по нескольким обстоятельствам. Во-первых, по мнению авторов, настоящая работа является первой, в которой сделан данный вывод, подкрепленный статистическим экспериментальным исследованием. Во-вторых, одним из его следствий может (и должна) стать разработка предложений по изменению технологии производства российских цифровых топографических карт в части цифрового описания рельефа [2,5]. В-третьих, как уже отмечено выше, для построения качественных моделей рельефа требуется проведение специальной предварительной обработки.

Конкретизация задачи

Каким образом можно построить корректную и качественную модель рельефа, используя для этого уже созданные к настоящему времени цифровые топографические карты? На наш взгляд этому должно способствовать максимальное использование присутствующей на карте неявной информации о рельефе. Такую информацию несут в себе элементы карты, описывающие гидрографию:

  • моря, озера, водохранилища, пруды имеют береговую линию одинаковой высоты;
  • линейные реки имеют переменную по высоте береговую линию, монотонно убывающую или возрастающую в зависимости от направления цифрования;
  • площадные реки имеют переменную по высоте береговую линию, монотонную по участкам между притоками и устьями.

Таким образом, если говорить о гидрографии, необходимо разработать алгоритм, позволяющий на этапе, предшествующем созданию модели рельефа, на основе принципа монотонности рассчитывать высотную составляющую рельефа вдоль русла или береговой линии объекта. Иными словами необходимо заменить двумерное геометрическое описание объектов гидрографии (координаты X , Y ) на трехмерное ( X , Y , H ), где H – абсолютная высота.

Прежде чем приступить к обсуждению путей реализации алгоритма, необходимо проанализировать особенности представления на цифровых картах слоя гидрографии. Такой анализ был проведен по выборке карт, описанной выше, и использованной ранее для анализа слоя рельефа. Он показал, что:

  • а) океаны, моря, заливы, озера, водохранилища зачастую не содержат в атрибутах высоту уровня воды;
  • б) реки:
    • одна и та же река может быть оцифрована несколькими или даже несколькими десятками фрагментов, причем каждый фрагмент может является объектом своего типа (отличного от другого), например: река пересыхающая (исток), река в одну линию (ширина на местности до 20м), река в две линии; площадная река, снова река в две линии и т.д.
    • направление цифрования декларируется (от истока к устью), но не всегда выполняется (около 10% рек оцифрованы от устья к истоку);
    • атрибут реки: «собственное название» зачастую отсутствует, нередки случаи, когда этот атрибут присутствует, но не во всех фрагментах одной реки;
  • в) отметки урезов воды проставлены крайне редко;
  • г) направление течения каналов может не согласовываться с информацией о рельефе;
  • д) указатели направления течения:
    • нет явных ссылок на то, к какому объекту данный указатель относится;
    • очень редко проставлены.

Перечисленные выше особенности существенным образом влияют на процесс создания алгоритма предварительной обработки.

Общие требования к алгоритму

Рассмотрим самые общие требования, предъявляемые к алгоритму обработки.

Какую совокупность данных следует обрабатывать совместно? Ответ на этот вопрос достаточно очевиден. Бассейн одной реки от ее истока до устья, состоящий в общем случае из множества последовательно сменяющих друг друга линейных и площадных фрагментов, вместе со всеми притоками является такой совокупностью данных. Объясняется этот факт достаточно просто. Только имея сформированный бассейн реки, можно получить дополнительную неявную информацию о высоте рельефа местности в точках примыкания объектов друг к другу. Действительно, высота устья притока должна совпадать с высотой основного русла в точке впадения и наоборот. Аналогично должны совпадать высоты примыкающих друг к другу отдельных фрагментов русла каждой реки. Таким образом, алгоритм должен иметь механизм формирования бассейна реки (взаимосвязанного множества примыкающих друг к другу отдельных фрагментов и притоков рек) даже при отсутствии явных ссылок, указывающих на примыкание одного объекта к другому.

Расчет высот возможен только на основе явно заданной информации. Такую информацию можно получить из отметок урезов воды и из точек пересечения рек и изолиний. Очевидно, что число получаемых таким образом точек с явно заданными высотами значительно меньше общего количества координатных точек, описывающих бассейн реки. Однако принцип монотонности позволяет проводить интерполяцию (линейную, квадратичную или другую), и тем самым рассчитывать высоту промежуточных значений. Таким образом, алгоритм должен уметь рассчитывать точки примыкания к рекам отметок урезов воды и точки пересечения рек и горизонталей, а также уметь переносить высоты этих точек в трехмерное координатное описание рек и проводить интерполяцию незаданных значений.

Если взглянуть практически на любую карту, то можно обнаружить несколько или даже множество рукавов, текущих параллельно основному руслу какой-либо реки. В нижнем течении устье реки также зачастую состоит из нескольких рукавов, а количество истоков (с учетом притоков) в бассейне по определению множество. Это говорит о том, что с математической точки зрения бассейн реки представляет собой граф, описываемый сетью. Причем этот граф нельзя назвать направленным, т.к. (это было отмечено выше) направление цифрования рек от истока к устью зачастую не выдерживается. Каким образом проводить интерполяцию внутри такого графа? Очевидно, что надо уметь выделять и соединять участки сети, соответствующие основному (и параллельным) руслу и притокам. Как было отмечено выше, сформировать основное русло (или русло притока) по принципу присутствия во всех его фрагментах одинакового имени реки не удается практически никогда. В этом случае остается один путь – полный анализ графа и разработка таких критериев, которые позволят выделить из сети главное русло (от истока до устья) и русла всех притоков. Это самая сложная и тонкая задача алгоритма. После сборки (выделения) русел задача проведения интерполяции решается тривиально.

Как было отмечено выше, можно считать, что участки береговой линии площадного объекта (реки) между притоками и устьями этого площадного объекта также подчиняются принципу монотонности. Поэтому при построении графа бассейна следует заменить каждый площадной объект набором линейных береговых линий, примыкающих друг к другу. Следовательно, алгоритм должен уметь разбивать требуемые площадные объекты на совокупность их линейных береговых линий. Полученные береговые линии включаются в состав графа бассейна.

Путем интерполяции можно рассчитать высоты средней части каждого русла – от первого до последнего явно-заданного значения. При этом останутся не рассчитанными значения высот отрезков рек от истока до первого явно-заданного значения и от последнего явно-заданного значения до устья. Поэтому еще одна задача алгоритма – экстраполяция высот концов рек. Это процедура будет несложной, если каким-либо образом (конечно с учетом принципа монотонности) задать значение высоты первой и последней точки реки. Как правило, высоту устья можно определить по высоте моря, озера или водохранилища, в которое впадает река. Высоту же истока можно оценить только по локальной модели рельефа, построенной в районе данного истока. Следовательно, алгоритм должен уметь строить модель рельефа на локальные зоны для оценки высот истоков рек.

Реализация алгоритма и результаты

Работа по разработке алгоритма на основе сформулированных выше общих требований велась на протяжении длительного времени. При этом проверялись различные критерии его работы, оптимизировалась реализация отдельных этапов, конкретизировалась последовательность выполняемых действий.

Приведем несколько примеров работы алгоритма. На Рис.3 представлен профиль рельефа вдоль русла, отмеченного на Рис.1, полученного после проведения предварительной обработки. Видно монотонное убывание высоты, что свидетельствует об эффективности проведенной обработки.

Рис. 6 Пример матрицы рельефа

Рис. 4 Модель без согласования с сетью
гидрографии

Рис. 5 Модель с учетом сети гидрографии,
согласованной по предложенному алгоритму

На Рис. 4 представлен вариант пространственной визуализации электронной карты с моделью рельефа местности, полученной традиционным образом. На Рис.5 - тот же участок местности визуализирован с учетом модели рельефа, построенной с применением предлагаемого алгоритма. При сравнительном визуальном анализе видно, что русло линейной реки получило более детальное очертание и полностью согласовано по всему течению реки. Зеркало поверхности площадной реки также четко согласовано с руслом – устраняется ошибка «тока реки по склону». Таким образом, в результате обработки метрики у всех водотоков вдоль их профиля получаем согласованные, монотонно-убывающие высоты - от истока к устью. Обработанная таким образом сеть объектов гидрографии используется при построении матрицы высот рельефа. Предложенная методика позволяет устранить ошибки заполнения ячеек матрицы, повысить точность модели и получить полностью согласованную с гидрографией матрицу высот рельефа.

Еще один пример приведен на Рис.6. Здесь представлена матрица рельефа, полученная по одному из листов карты масштаба 1 : 200 000 района Северного Кавказа без проведения предварительной обработки. Матрица представлена в оттенках серого цвета: чем светлее оттенки серого, тем большую высоту они отображают. На нее наложена информация о различиях ее элементов с элементами корректной матрицы, построенной после предварительной обработки. Красным цветом отмечены места с положительной разницей между высотами, синим – с отрицательной. Видно, что практически все лощины, по которым, как правило, протекают реки, отмечены красным цветом. Этого и следовало ожидать: согласованная с гидрографией матрица высот в этих зонах почти всегда ниже матрицы, построенной без учета высот гидрографии. Также можно заметить достаточно большое количество синих отметок, характеризующих зоны превышений согласованной матрицы над исходной. Среднее значение отличий двух матриц (по абсолютной величине) составляет 12.5 м ., максимальное - 106 м . Приведенный пример наглядно подтверждает вывод о необходимости применения предложенной обработки для получения качественных матриц рельефа.

В заключении следует отметить, что описанная выше обработка гидрографии и рельефа практически одновременно родилась в двух организациях: КБ Панорама и ЗАО Транзас. Уже сейчас она используется в ГИС Панорама для различных целей ГИС-пользователей и в специализированном программном обеспечении ЗАО Транзас с целью повышения качества ЦМР, которые применяются в авиационных навигационных комплексах, производимых фирмой.

Список литературы:

  • Абламейко С.В. Метод повышения точности моделирования рельефа местности. – Геодезия и картография. 1993. № сс.42 – 45.
  • Астахов А.И. Контроль качества цифровых и электронных карт в Топографической службе ВС РФ.
  • Берлянт А.М. Геосемиотика и визуализация геоизображений. // Информационный бюллетень ГИС Ассоциации,. - № 1(33)-2(34), 2002. – С.27-29.
  • Демиденко А.Г. Объемное моделирование местности и пространственный анализ. // 3-й Международный семинар пользователей «РАКУРС». 2003г. Тезисы выступлений. - С.24-26.
  • Елюшкин В.Г., Седов В.Н., Долгов В.И. Электронные карты – возможности и перспективы. // Независимое военное обозрение. № 28(343), 2003.
  • Лобанов В.А. ГИС в гидрогеологии. // Информационный бюллетень ГИС Ассоциации, - № 1(28), 2(29)-3(30) 2001.
  • Мусин О.Р. Цифровые модели для ГИС. // Информационный бюллетень ГИС Ассоциации,. - № 4(16)-5(17), 1998. – С.28-29.
  • Руководство ESRI по ГИС анализу. Том1: Географические закономерности и взаимодействия. / Пер. с англ. / Энди Митчелл – М: МГУ – 2001. – 190с.
  • Халугин Е.И., Жалковский Е.А., Жданов Н.Д. Цифровые карты. / Под. Ред. Е.И. Халугина. – М.: Недра, 1992. – 419с.: ил.
  • Седжвик Роберт Фундаментальные алгоритмы на С++. Анализ/Структуры данных/Сортировка/Поиск: Пер. с англ. – К.: Издательство «ДиаСофт», 2001. – 688с.