Привязка внешних файлов к слоям базы данных ELSAN

advertisement
Редакция документа: 5 марта 2015 г., 18:58
ГЕОПРОСТРАНСТВЕННАЯ БАЗА ДАННЫХ ELSAN
(ИНЖЕНЕРНАЯ ИНФРАСТРУКТУРА ЗДАНИЯ ИВМ СО РАН)
Привязка внешних файлов
к слоям базы данных ELSAN
База данных ELSAN содержит сведения по инженерной инфраструктуре
здания ИВМ СО РАН в виде набора тематических (векторных) слоев ГИС.
Каждый слой содержит объекты определенного типа.
В некоторых случаях имеется необходимость привязки внешних файлов к
объектам слоя. Например, это могут быть растровые изображения – схемы
электрооборудования щитков соответствующего слоя «Распределительные
щитки». Для привязки подобных файлов к объектам слоя необходимо:
1. Скопировать файл на сервер в заданный каталог
2. В таблице атрибутов слоя для выбранного объекта заполнить текстовое
поле, содержащее наименование файла.
После этого связанные файлы можно просматривать из программы QGIS.
На приведенном ниже рисунке представлена общая схема работы.
СЕРВЕР
КЛИЕНТ
Программа QGIS
База данных ELSAN
1
Web-сервер
4
3
Веб-браузер
Каталог с файлами
SFTP-клиент (FAR)
SFTP-сервер
2
Основные логические этапы (отмечены цифрами в кружках) –
(1) Программное обеспечение в своей основе использует архитектуру клиентсервер – на сервере работает СУБД PostgreSQL/PostGIS, средствами которой
поддерживается база данных ELSAN, а в качестве клиента на компьютерах
пользователей используется программа QGIS, которая подключается к этой
базе данных.
(2) Для реализации возможности привязки внешних файлов к объектам слоя
на сервере сформирован специальный раздел – каталог с файлами. Доступ к
этому разделу предусмотрен двумя способами:
1. По протоколу SFTP (защищенный FTP) – для записи файлов в каталог.
В качестве программы клиента можно использовать любую
программу, которая поддерживает этот протокол – FAR Manager с
плагином WinSCP, и проч. Параметры соединения – на рисунке:
Важно: порт = 8022 (отличается от значения по умолчанию).
User/Password – такие же, как у пользователей БД ELSAN.
2. По протоколу HTTP (стандартный веб-протокол, на основе которого
работают все веб-браузеры) – только для чтения файлов.
В программе QGIS также реализована поддержка HTTP.
(3) Доступ к внешним файлам из QGIS обеспечивается через инструмент
«Действия» (см. рис. ниже).
Предварительно Действия нужно создать – см. раздел в свойствах слоя –
Созданные Действия сохраняются в файле проекта QGIS.
Параметром при определении Действий является имя колонки таблицы слоя,
откуда подставляется имя файла. В нашем случае – это "filename".
Два рекомендуемых варианта Действий для файлов с рисунками (*.JPG)
приводятся в нижеследующей таблице –
 В первом случае файл открывается в веб-браузере.
 Во втором – в отдельном окне программы QGIS (здесь используется
мини-программа на языке макропрограммирования Python)
Файл или
URL
Приложение
Python
Открыть в
браузере
Открыть в
окне QGIS
http://172.16.132.72/elsan/ELECTRIC/[% "filename" %]
from PyQt4.QtCore import QUrl; from PyQt4.QtWebKit
import QWebView; myWV = QWebView(None);
myWV.load(QUrl('http://172.16.132.72/elsan/ELECTRIC/[%
"filename" %]')); myWV.setWindowTitle(" ");
myWV.show()
(4) В программе QGIS с помощью инструмента Действия можно реализовать
вызовы разных внешних приложений – из числа тех, что установлены на
компьютере. Пример со стандартным веб-браузером, который открывает JPGфайл с рисунком уже приведен выше.
Если используется файл другого типа – ZIP-архив, документ Word (*.DOC),
таблица Excel (*.XLS), и т.п. – для указанного типа действия («Файл или
URL») веб-браузер скорее всего начнет сохранять файл на диске локального
компьютера. Запуск приложения, связанного с расширением этого
загружаемого файла, выполняется из веб-браузера.
Можно выбрать тип действия «Приложение Windows», обеспечить запуск
одной из программ, установленных на компьютере. Есть формальное
требование – чтобы такая подключаемая программа «понимала» параметр –
имя файла, записанный в виде http-адреса. Например, это умеет делать
Microsoft Word (здесь важно правильно указать путь к файлу winword.exe):
Приложение
Windows
w "C:\Program Files (x86)\Microsoft Office\Office15\WINWORD.EXE"
http://172.16.132.72/elsan/ELECTRIC/[% "filename" %]
Примечание.
При подключении к локальной сети в ИВМ обычно используется проксисервер (172.16.0.2 или proxy.krasn.ru). Необходимо настроить доступ к вебсерверу проекта ELSAN (172.16.132.72) напрямую, т.е. чтобы он не
использовал этот прокси-сервер. Для этого в настройках параметров
локальной сети нужно добавить IP-адрес 172.16.132.72 в список исключений
прокси-сервера – см. рис. ниже.
Просмотр каталога файлов, формируемого на сервере, доступен анонимным
пользователям через стандартный веб-браузер:
Установка плагина WinSCP FAR manager
Установленный на вашем компьютере FAR manager имеет подкаталог со
своими плагинами – это что-то типа
C:\Program Files (x86)\Far Manager\Plugins
Вся установка плагина WinSCP – это скопировать одноименную папку с
сервера со всеми необходимыми файлами в указанный каталог плагинов на
локальном компьютере. Взять плагин WinSCP можно на сервере –
\\icmdc\pub\elsan\QGIS и документация\FAR_Plugin\
Размещенную там папку WinSCP копируем в каталог с плагинами FARа.
Перезапускаем FAR и пользуемся.
Первое, что нужно будет сделать – создать подключение. Скриншот и
комментарии про необходимые параметры уже были приведены выше.
Download