<<На Главную     <В меню Советы по Surfer

  В нескольких опубликованных ранее заметках на нашем сайте уже рассказывалось немного о том, как можно построить интерполированные поверхности в различных ГИС-пакетах. Эту информацию можно посмотреть:

  В данной статье я продолжу эту тему, рассказав подробно о том, как создать модель рельефа местности, используя широко-распространённый пакет научной графики Surfer 10. Итак, начнём ...

 

 

 

    Материалы этого учебного примера можно скачать по сл. ссылке: http://narod.ru/disk/25462690001/Relief_SurfExample.rar.html

  Источником исходной информации для программы Surfer является массив данных, который в табличном виде описывает поведение функции Z=f(X,Y) . О том, какими способами  можно представить эту информацию - смотрите на нашем сайте здесь. В случае нашего учебного примера предположим, что имеющиеся данные представлены в виде текстового файла txt.

  Для создания на основе этих данных регулярной сетки идём в меню Grid>Data:

... и загружаем заранее подготовленный текстовый файл:

Небольшая ремарка. Для решения данной задачи (построение модели рельефа местности в Surfer) наиболее оптимальным способом получения входных данных будет, наверно, метод их экспорта из ГИС-пакетов. Набивка вручную данных по горизонталям может оказаться слишком трудоёмкой задачей. А векторный редактор Surfer не самый удобный.

Далее следует такая  форма:

Жмём кнопку OK ,  выбираем метод интерполяции и задаём имя файла сетки (points.grd в нашем случае) :

Теперь на основе этой сетки строим пробную карту. Пусть это будут изолинии - меню Map>New>Counter Map :

На рисунке выше виден существенный недостаток такой карты - программа провела интерполяцию в "пустых" областях (обозначено красным). Стоит задача как-то избавиться от них. В  Surfer'е эта проблема решается с помощью так называемых "бланкованных" карт. Делается это следующим образом. Становимся в Менеджере объектов на карту и по правой кнопке мыши выбираем пункт Digitize в контекстном меню:

... и начинаем мышкой обходить по контуру область, которую хотим исключить из интерполяции (мелкие красные крестики на рисунке ниже):

Небольшой совет. Если вы хотите создать замкнутый бланкованный контур, то это можно сделать простым копированием и вставкой координат первой точки в последнюю в окне Digitized Coordinates

По окончании обводки на форме Digitized Coordinates в меню File>Save As сохраняем бланкованную область в виде файла с расширением .bln .

Далее нам необходимо построить новую интерполированную сетку, с учётом "пустых" областей. Для этого идём в меню Grid>Blank:

...  загружаем исходную (не обрезанную) сетку:

... и область обрезки - файл с раcширением bln:

Сохраняем полученную таким образом новую сетку :

Делаем пробную карту и смотрим результат:

Вот теперь всё нормально. Исключили из результатов интерполяции лишние области, можно двигаться дальше.

Строим карту с отмывкой - меню Map>New>Shaded Relief Map :

Таак ... Видим очередной недочёт такой карты (ох, вся жизнь в борьбе :-) - бланкованные области залиты чёрным. Сейчас выправим этот недостаток . В Менеджере объектов становимся на карту-отмывку,  на вкладке General идём в раздел Missing Data и выбираем цвет заливки для областей с отсутствующими данными белым:

Карта явно стала немного симпатичней. Теперь поднимем слой с изолиниями выше слоя-отмывки и в свойствах слоя (Property Manager) выставляем опцию Fill Contours:

Следующий шаг - придаём нашей карте более привлекательный цветной вид. Для этого на слое изолиний на вкладке Levels выбираем подходящую цветовую палитру - например, Terrain. Теперь наша карта будет выглядеть так:

Далее "заставим" работать слой-отмывку (не напрасно же мы его создавали!). Для этого на карте контуров идём на вкладку Layer и выставляем параметр Opacity (Прозрачность ) 50 ... 60 % :

Осталось только разобраться с осями и подписью к ним.

Чтобы нанести координатную сетку, опять в Менеджере объектов становимся на слой осей (Left/Bottom Axis) и в пункте Major Grid Lines выставляем соотв. флажки:

Если желаем несколько изменить шаг сетки, то переходим на вкладку Scaling , сбрасываем флажок Automatic и в Major Interval задаём новый шаг сетки (100 000 для случая нашего примера):

Чтобы подправить размер шрифта подписей на осях на вкладке General   в пункте Font Properties меняем настройки шрифта подписей:

Ах, даа... Остался ещё один момент. Желательно нанести подписи к изолиниям. Для этого в Менеджере объектов становимся на слой контуров,  выбираем  вкладку Levels свойств слоя (Property Manager) и выставляем опцию Level methods в Advanced:

Теперь жмём на кнопку Edit Levels (см. рисунок выше) и попадаем в форму настроек контуров и изолиний:

Щёлкаем по заголовку столбца Label (см. рис. выше) - видим форму Label:

Для выбора настроек фонта подписей жмём, само собой, Font:

Следуем далее - переходим на карту, жмём на правую кнопку и в контекстном меню выбираем Edit Contour Label:

Теперь прижимая Ctrl, тыкаем курсором в нужную изолинию. Программа нанесёт на карту метку значения уровня контура.

В окончательном виде наша учебная карта модели местности с отмывкой рельефа в программе Surfer  может выглядеть сл. образом:

Но иногда  бывает  весьма полезно создать  3D-модель рельефа местности. Сделать это в программе Surfer очень  легко.

Сначала нужно вставить новый чертёж (Ctrl+N). Затем идём меню Map>New>3D Surface или щёлкаем в соответствующую кнопку:

Выбираем файл сетки для построения 3D карты ... :

... и видим сл. картинку:

На рисунке выше видна явная непропорциональность в отображении высоты рельефа. Сейчас выправим этот недостаток. Становимся в Менеджере объектов на Maps и на вкладке Scale свойств карты (Property Manager)  уменьшаем значение параметра Length для Z-координаты:

Создание рельефа 3D Surfer

Вот теперь наша 3D карта выглядит как надо.

На этом, пожалуй, и остановимся. Аминь! :-)

Небольшая подборка Советов по работе в Surfer находиться здесь

<<На Главную

 

©Simashkov.2011

 

17.09.2011 г.