або видати у файл формату AUTOCAD [.DXF], Windows Metafile [.WMF], Windows Clipboard [.CLP], а також — HP Graphics Language [.HPGL] і Encapsulated PostScript [.EPS]. Двосторонній обмін даними і графікою з іншими Windows-застосуваннями може виконуватися також через Буфер обміну Windows. Крім того, графічні зображення, підготовлені в Surfer, можна експортувати в пакет Map Viewer, накласти на нього карту території і отримати карту розподілу цього параметра на конкретній території (мал. 12 і 13).
Макрозасоби управління пакетом.
У Surfer 5.0, створеному ще в 1994 році, майже одночасно з офісними пакетами Microsoft Office 4.0 була реалізована об'єктна компонентна модель на основі підтримки механізму OLE 2.0 Automation (те, що сьогодні називається ACTIVEX). Це забезпечує можливість інтегрованого застосування Surfer як ActiveX-сервер в комплексних системах обробки даних і моделювання.
На будь-якій мові, яка також підтримує цей механізм (наприклад, Visual Basic, C++ або Visual Basic for Applications), можна написати макрофайл, що управляє, для Surfer. Зокрема, за допомогою набору макрофайлів можна виконувати в автоматичному режимі деякі завдання, що часто повторюються. Або ж такий файл може формуватися в процесі виконання якої-небудь прикладної розрахункової програми для автоматичної обробки і візуалізації даних.
Наприклад, наступна функція, написана на VB, виконує створення карти изолиний і вставку її зображення в електронну таблицю з ім'ям «Sheet 1»:*
Function MakeMap();*
визначення змінної Surf як об'єкт Dim Surf as Object;*
установка відповідності між змінній Surf і програмою Surfer Set Surf = CreatObject(«Surfer.App») GrdFile$ = «c:\winsurf\demogrid.grd»;*
ім'я вхідного GRD-файлу;*
виконання макрокоманд пакетом Surfer Surf.MapCountour(GrdFile$);*
побудувати карту изолиний Surf.Select;*
виділити зображення Surf.EditCopy;*
скопіювати виділене зображення в Буфер обміну;*
це вже команда Excel — вставити зображення з Буфера обміну в поточну позицію таблиці Sheetl Worksheets(«Sheetl»).Picture.Paste End Function.
Мал. 13. Зображення, отримане в результаті накладення карти изолиний і кольорової заливки зон, сформованою в пакеті Surfer, і меж території.
Сенс цієї процедури достатньо ясний. Спочатку змінна Surf визначається як об'єкт, і їй ставиться у відповідність пакет Surfer (Surfer.App). Далі йдуть команди, які VBA вже інтерпретує як звернення до функцій Surfer (їх назви відповідають командам, які користувач вибирає в режимі діалогу), що виконуються через механізм ACTIVEX.
Крім того, пакет Surfer має власна макромова, яка фактично є різновидом VBA і використовується для написання запитів, що управляють, в спеціальній програмі SG Scripter (файл GSMAC.EXE). Наприклад, за допомогою такої простої програми можна реалізувати макрокоманду, яка автоматично виконує побудову карт изолиний для одного набору початкових даних, використовуючи всі сім методів інтерполяції:*
створення об'єкту Surfer Set Surf = CreateObject («Surfer.App»);*
побудова карти кожним методом інтерполяції;*
для файлу початкових даних DEMOGRID.DAT For Method = 0 to 6;*
відкрити новий документ малювання Surf.FileNew();*
розрахунок GRD-файлу поточним методом інтерполяції If urf.GridData(«DEMOGRID.DAT»,GridMethod=Method,_ OutGrid=»SAMPLE») = 0 Then End;*
побудова карти изолиний If Surf.MapContour («SAMPLE») = 0 Then End Next.
Запуск в автоматичному режимі подібних завдань, які представлені у вигляді програми, написаної в GS Scripter, можна виконати або з командного рядка:
c:\winsurf\gsmac.exe /х task.bas,
або з будь-якого застосування командою SHELL:
SHELL («c:\winsurf\gsrtiao.exe /х task.bas»)
(ключ /х указує на необхідність автоматичного виконання програми task.bas).
Програма GS Scripter може також використовуватися для управління будь-якими іншими програмами, підтримуючими ACTIVEX (наприклад, для роботи з MS Office).
Нововведення Surfer 8.0
Як ми вже говорили, Surfer 6.0 представлений 16- і 32-розрядною версіями. Проте крім цього з'явилося декілька корисних функціональних розширень. В першу чергу слід зазначити можливість використання ще двох типів карт фонової основи при побудові плоских зображень: Image Map (Карта зображення) і Shaded Relief Map (Затінена карта рельєфу).
Вбудовані засоби малювання Image Map роблять процедуру створення кольорових карт досить простій і швидкою. При цьому можна використовувати багатоколірне заповнення зображень, зокрема за допомогою колірних комбінацій, створених самим користувачем.
Мал. 14. Зображення карти типу Shaded Relief Map - околиці міста Голден, шт. Колорадо.
Але особливо вражають можливості карти Shaded Relief Map, що дозволяє отримувати безпосередньо всреде Surfer зображення типу високоякісних фотографій (мал. 14), які можна застосовувати як для сумісного використання з картами изолиний, так і автономно. При цьому користувач може управляти всіма параметрами, необхідними для створення найбільш виразних зображень, включаючи місцеположення джерела світла, відносний градієнт нахилу, тип затінювання і колір. У користувача пакету з'явилися також більше можливостей по візуалізації даних і компоновці різних зображень на одному екрані (мал. 15).
Розширений набір допоміжних операцій при обробці цифрової поверхні. Використовуючи нові функції Grid Calculus (Обробка регулярної сітки), можна визначати нахил, кривизну і лінію горизонту огляду в конкретній точці поверхні, а також обчислювати перші і другі похідні для функцій Фурье і спектрального аналізу. А додаткові засоби Grid Utilities дозволяють перетворювати, зміщувати, масштабувати, обертати і дзеркально відображати дані в GRD-файлах (формат для зберігання значень у вузлах регулярної сітки). Після цього можна зробити будь-яку вибірку підмножини набору даних по номерах стовпців і колонок або просто довільних вузлів сітки.
З погляду математичного апарату побудови поверхні дуже важливим представляється реалізація ще одного алгоритму інтерполяції — Найближчий сусід (Nearest Neighbor), а також трьох рівнів вкладення вариограмм, що дозволяє створювати більше 500 результуючих комбінацій.
Створені раніше зображення на основі різних типів карт (Contour Map, Shaded Relief Map, Post Map, Image Map) можна використовувати як шаблон шляхом підстановки у вже існуючі карти нового GRD-файлу. Крім того, тепер, об'єднавши на початку в одне зображення декілька шарів різних карт, можна потім розділити їх на початкові елементи і переробити на основі нових даних.
Air Dispersion