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

  Чаще всего, возможностей MapInfo и модуля визуализации Vertical Mapper (см. здесь) бывает вполне достаточно для решения большинства стандартных задач по построению трехмёрных карт и интерполированных поверхностей. Но иногда возникает необходимость использования ещё более узкоспециализированных пакетов для подобных манипуляций. Наиболее популярным из них является широко-известная программа Surfer американской компании Golden Software. О том, как решить возникающую в таких ситуациях задачу по переносу данных из ГИС MapInfo в Surfer и пойдёт речь ниже.

 

  Но сначала, пару слов об  особенности  программы Surfer. Фигурально выражаясь, печкой от которой пляшет вся последующая обработка данных в Surfer, является интерполированная регулярная сетка  Grid - сеточный файл с расширением .grd .  Для его создания на вход программы вы должны подать свои данные, представленные каким-то одним из способов в виде массива тройки значений - координат X/Y и параметра Z в точке с указанными координатами. Забегая немного вперёд, можно сказать, что вариантов оформления входных данных  предостаточно - это могут быть базы данных в формате .dbf и MS Access, таблицы Excel, таблицы приснопамятного Lotus 1-2-3, текстовых файлов .txt  и , естественно, имеется собственный Excel-подобный редактор. После того, как Surfer создаст регулярную сетку (файл с расширением .grd, если уж совсем конкретно), становятся доступными все последующие варианты обработки (интерпретации) и визуализации сеток  - построение поверхностей, изолиний, отмывок рельефа, 3D - карт, каркасных моделей и т.д.

Ну вот, после небольшого теоретического вступления, можно приступать к делу. Предположим, что наши исходные данные в MapInfo выглядят сл. образом:

Интерполированная поверхность в MapInfo

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

Прим.  Если у вас данные представлены в виде слоя полилиний, то их нужно предварительно "развалить" на точки. Как это сделать - смотрите на нашем сайте здесь

Поскольку в программе Surfer  есть возможность  загружать  данные в вид текстового файла .txt, можно воспользоваться этим моментом  и экспортировать атрибутику из MapInfo в данном формате. Для этого идём в меню Таблица>Экспорт и выбираем Тип файла ASCII с разделителем .txt:

Экспорт , удобнее всего, осуществлять в виде последовательности значений координат X/Y и параметра Z. Если в атрибутивных данных отсутствуют столбцы с данными о координатах точки, то этот момент в MapInfo легко решается командой SQL - запроса (меню Запрос>SQL-запрос, что-то вроде этого):

 В результате, экспортируемые данные в виде списка MapInfo должны выглядеть приблизительно сл. образом:

После отработки утилиты экспорта, переходим в программу Surfer и для загрузки наших данных идём в меню Grid>Data :

... и ищем только-что созданный текстовый файл (как пример):

Жмём кнопку Открыть и попадаем в форму импорта данных:

На форме выше, как правило, менять ничего не приходиться. Следуем дальше:

Здесь наступает ответственный момент - выбор метода интерполяции и задание его параметров. В приведённом примере выбрана интерполяция по Кригингу с параметрами по умолчанию.

При указании имени файла поверхности обязательно задавайте расширение .grd (странная особенность Surfer'а):

Жмём  на кнопку OK. После этого будет создан файл интерполированной сетки с указанным вами именем.

Теперь у нас всё готово для различного рода интерпретаций с полученной регулярной сеткой. Можно начать с построения модели поверхности с отмывкой рельефа. Для выполнения этой задачи идём Map>New>Shaded Relief Map:

Далее выбираем нужную нам сетку - файл с расширением .grd :

Жмём кнопку Открыть и на чертеже (вкладка Plot1) видим построенную таким образом интерполированную поверхность с отмывкой рельефа:

Для большей выразительности можно создать карту с изолиниями. Для этого идём Map>New>Counter Map:

Чтобы придать нашей контурной карте ещё более привлекательный вид, щёлкаем по объекту Contours, идём на вкладку General и выставляем флажок в опции Fill Counters. Теперь наша карта будет иметь такое представление:

Создание карты в Surfer

Но, чёрно-белая палитра, предлагаемая по умолчанию, смотрится не совсем  изящно (цветные принтеры и мониторы сейчас есть у всех :-). Чтобы выправить этот небольшой недостаток, идём на вкладку Levels и в опции Fill  Colors выбираем более подходящую гамму:

Теперь наша карта может выглядеть к примеру так:

Создание цветной контурной карты в Surfer

Тем, кто хочет добиться  большей пластичности рельефа в выбранной цветовой палитре, можно посоветовать придать контурному слою на вкладке Layer (Слой) значение параметра Opacity (Прозрачность) 40... 60 %:

Создание поверхности с отмывкой рельефа в Surfer

В оформлении 2D -карт в Surfer, на этом, в первом приближении, пожалуй можно и остановится.

А для создания 3D карты выбираем пункт меню Map>New> 3D Surface:

Создание 3D-карты в Surfer

На рисунке выше, нажав на 3D Surface в Object Manager (Менеджере объектов, панель слева) получаем доступ к настройкам соответствующего объекта в Surfer.

 

 

Ссылки к статье

1. Пример использования программы Surfer для создания тематической картограммы можно посмотреть тут

2. Как построить поверхность с отмывкой рельефа в ArcGIS, можно посмотреть на нашем сайте здесь

3. Как решить аналогичную задачу в Vertical Mapper - смотрите по этой ссылке

4. Как решить подобную задачу по экспорту (переносу) интерполированной поверхности из ArcGIS в Surfer - смотрите в этой статье

11.09.2011 г.

©Simashkov.2011

Назад