Генерация SQL-структуры базы данных по классификатору |
|
|
Сформировать SQL-структуру базы данных по классификатору (rsc2sql.py : GenerateSemanticsTable) Скрипт предназначен для автоматического формирования SQL-файла (PostgreSQL) по структуре классификатора ГИС «Панорама» формата *.rsc или *.rscz. На основании данных классификатора создаются таблицы базы данных с учетом слоев и семантик. Итогом работы является один файл структурированных запросов SQL, готовый для выполнения в PostgreSQL.
При выполнении команды открывается диалог, в котором требуется выбрать файл классификатора (*.rsc/*.rscz) и указать путь для сохранения результирующего *.sql файла. По умолчанию имя формируется на основе имени классификатора и сохраняется в той же директории. Поля выбора доступны только через диалог выбора файлов и недоступны для ручного редактирования. При отсутствии прав на запись в выбранную директорию выводится соответствующее предупреждение. Дополнительно можно включить опцию Формировать таблицу и триггеры для ведения журнала изменений, а также выбрать опцию Формировать одну таблицу по классификатору без разбиения по слоям. В стандартном режиме создается отдельная таблица для каждого слоя классификатора. Имена таблиц формируются на основе ключа слоя. Каждая создаваемая таблица содержит базовые поля: id, objectkey, geom, excode, objtext, а также поля семантик слоя. Типы колонок определяются по данным классификатора. В начало SQL-файла автоматически добавляются команды установки кодировки UTF8 и подключения расширений postgis и postgis_topology. Сформированная структура базы данных обеспечивает последующий перенос хранения пространственных данных из локальных файлов карт в централизованную базу данных PostgreSQL. Это позволяет организовать многопользовательский доступ, централизованное администрирование, резервное копирование, контроль изменений и интеграцию с внешними информационными системами. Во время выполнения отображается индикатор прогресса с указанием процента выполнения операции. Кнопка Выполнить меняется на Прервать и позволяет остановить процесс. По завершении выводится сообщение о сформированном файле. Сформированный SQL-файл может быть выполнен стандартными средствами PostgreSQL, например командой psql -f имя_файла.sql. |