Главное меню

Карта сайта
Главная
Курсовые работы
Отчеты по практикам
Лабораторные работы
Методические пособия
Рефераты
Дипломы
Лекции



Применение геоинформационных систем в геоэкологических исследованиях

Горячие связи

ГИС-технологии могут использоваться для создания компьютерных справочно-информационных, обучающих, экспертных систем. Так, при открытом окне Вида и активной кнопке с изображением символа «i» слева в нижнем ряду Панели Инструментов пользователю достаточно навести курсор на объект активного слоя (темы) и нажать левую клавишу манипулятора «мышь», чтобы на экране появилось информационное диалоговое окно «Информация об объекте». В нём представлены все параметры объекта, хранящиеся в полях атрибутивной таблицы слоя.

Однако в ГИС ArcView 3.2 имеется один инструмент, именуемый «горячие связи», позволяющий существенно повысить информативность электронных карт. Так, наведя курсор на объект, можно вывести на экран фотографическое изображение этого объекта, можно – даже звуковой видеофильм. Это даёт колоссальные возможности для демонстрации материалов. Например, туроператор может указывать потенциальному клиенту на карте местоположения отелей и достопримечательностей и тут же демонстрировать их фотоизображения или видеофильмы. Электронную карту ландшафтов или степени устойчивости природных объектов к антропогенному воздействию можно снабдить набором характерных фотоснимков этих ландшафтов, примеров результатов антропогенных воздействий и т.д.

Чтобы создать для объектов векторной темы горячие связи, необходимо открыть диалоговое окно «Свойства темы» ниспадающего меню «Тема» окна ArcView. В расположенном в левой части этого окна списке прокрутки следует найти опцию «Горячая связь», навести на неё курсор и нажать левую клавишу манипулятора «мышь». Внешний вид диалогового окна изменится. В списке прокрутки «Поле» пользователь должен установить имя поля таблицы атрибутов данной темы, которое используется для добавления значения в динамическую (горячую) связь. Это происходит, когда при активной кнопке Панели Инструментов «Горячая связь» пользователь наведёт курсор на один из объектов темы. Значение поля обычно представляет собой имя файла, который затем открывается и отображается. В списке прокрутки «Предопределенное действие» (Predefined Action) пользователь должен выбрать то действие (фактически существующий скрипт Avenue), которое будет выполняться после включения горячей связи. Действие выполняется, как только один из объектов темы будет выбран с помощью инструмента «Горячая связь». Доступны следующие действия:

  1. Связь с программой пользователя на языке Avenue, которая будет запущена на исполнение после включения горячей связи. Остальные типы действий тоже фактически представляют собой запуск программ Avenue, но только системных программ ArcView 3.2. Здесь же можно запустить любую программу, в том числе созданную самим пользователем;
  2. Связь с текстовым файлом (Link to Text File) - открывает текстовой ASCII-файл, название и путь к которому указаны в выбранном Поле;
  3. Связь с файлом изображения (Link to Image File) – открывает изображения следующих растровых форматов: X-Bitmap, MacPaint, Microsoft DIB (Device-Independent Bitmap), Sun raster files, XWD (X Windows Dump Format), GIF (Graphics Interchange Format), TIFF (Tag Image File Format), TIFF/LZW compressed image data. Чтобы была возможность работы с файлами форматов TIFF, в опции «Модули» ниспадающего меню «Файл» окна ArcView следует включить модуль «TIFF 6.0 Image Support». Название и путь к файлу должны быть записаны в выбранном Поле;
  4. Связь с документом (Link to Document) - открывает вид, таблицу, диаграмму, компоновку или скрипт, названия которых внесены в указанное Поле. Документ должен существовать в текущем проекте;
  5. Связь с проектом (Link to Project) - импортирует файл Проекта ArcView (с расширением .apr), название которого записано в указанном Поле.

При выборе предопределённого действия «Связь с программой пользователя» в диалоговом окне «Свойства темы» нужно нажать кнопку с изображением руки, держащей лист бумаги с текстом программы. Эта кнопка расположена правее текстового блока «Текст программы». На экране появится диалоговое окно «Диспетчер программ», в списке прокрутки которого пользователь может выбрать любую из системных программ, или программ, добавленных в Редактор скриптов или созданных пользователем. Если нажать кнопку «Новый», то возникнет диалоговое окно «Имя тексты программы», в котором следует ввести имя новой программы. Эта новая программа появится в списке скриптов (программ Avenue) проекта. В её тексте будет только одна строчка: theVal = SELF. Объект SELF ссылается на значение Поля, в котором записаны файлы, с которыми устанавливается горячая связь.

При выборе остальных типов предопределённых действий нет необходимости в задании имён скриптов: в текстовой блок загружаются имена системных скриптов. Так, при выборе действия «Связь с текстовым файлом» загружается системная программа Link.TextFile, действия «Связь с файлом изображения» - Link.ImageFile, «Связи с документом» - Link.Document, «Связи с проектом» - Link.Project.

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

После того, как значения всех параметров в диалоговом окне «Свойства темы» установлены, следует нажать кнопку «ОК» (навести на неё курсор и нажать левую клавишу манипулятора «мышь»). В результате кнопка «Горячая связь» с изображением молнии становится работоспособной: молния из серой превращается в чёрную. Эта кнопка расположена правее кнопки измерения расстояний. Если теперь нажать на эту кнопку, то в пределах Вида курсор примет форму молнии – можно включать горячие связи. Предположим в результате действия горячей связи должно появляться изображение. Наведите курсор на интересующий объект и нажмите левую клавишу манипулятора «мышь» - на экране появится окно с вызванным изображением. Именем окна будет служить полное (т.е. с путём к нему) название растрового файла. Возможно, изображение окажется сплюснутым. Для исправления этого уберите птичку из флажка «Масштаб изображения» в нижней части окна.

Чтобы с помощью горячих связей запускать видеофильмы, придётся написать свою программу. Предположим, в таблице атрибутов векторного слоя пути к файлам видеофильмов и их названиям с расширениями (например, «avi» или «wmv») записаны в символьном поле «Video». Сделайте активным тип документов проекта «Редактор скриптов». Нажмите кнопку «Новый». Появится пустое окно редактора нового скрипта, в котором запишите следующий текст.

theVal = SELF Переменная – горячая связь
if (not (theVal.IsNull)) then Если значение поля горячей связи не пустое
if (File.Exists(theVal.AsFileName)) then
System.Execute("C:\Program
Files\Windows Media Player\
wmplayer.exe/play /close"++theVal)
Если файл, указанный в поле, существует, то проигрывать видео. На Вашем компьютере путь к программе проигрывания и сама программа могут быть другими
else MsgBox.Warning("Файл "+theVal+ " не найден.","Горячая связь") Если файл видеофильма не существует, то сообщение пользователю
end
end

Откомпилируйте скрипт. Затем в диалоговом окне «Свойства темы» установите поле «Video» в качестве Горячей связи. Выберите тип предопределенного действия «Связь с программой пользователя». Нажмите кнопку с изображением руки и листа бумаги. В появившемся диалоговом окне «Диспетчер программ» выберите Ваш откомпилированный скрипт. Нажмите кнопку «OK». Для данного слоя горячие связи установлены. Теперь при активной кнопке «Горячая связь» наведением курсора на объект и последующим нажатием левой клавиши манипулятора «мышь» будет запускаться проигрывание видеофильма с помощью внешней программы wmplayer.exe.

Задание № 12.1.

Работаем с копией проекты карты Российской Федерации, находящейся по адресу C:\esri\esridata\russia\russia.apr.

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