Светлой памяти В.Г. Кориневского

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

Г. Ламене

Статьи

Как самостоятельно создавать загружаемые диаграммы

Как стало понятно из отзывов пользователей, PetroExplorer привлекает их, наряду с другими качествами, возможностью выносить данные на различные классификационные диаграммы. Между тем количество интегрированных в программу классификационных диаграмм невелико, хотя ее автор периодически добавляет новые. В то же время различных классификационных диаграмм существует великое множество, плюс к тому все время появляются новые. Понятно, что даже отследить все это обилие диаграмм, не говоря уже о том, чтобы оперативно интегрировать их в программу - задача непосильная. Поэтому в качестве ответа на постоянные просьбы включить в программу ту или иную диаграмму, автор вознамерился решить эту проблему кардинально - просто переложить труд подготовки диаграмм для PetroExplorer на плечи самих пользователей программы.


Для этого была модифицирована утилита
Построителя произвольных диаграмм и создана новая утилита - PetroGrapher, которые позволяют загрузить в качестве фона для поля диаграмм рисунок из графического файла формата .bmp. Разница между этими двумя утилитами только в том, что в первой из них источником данных для диаграмм является база данных, а во второй - Таблица данных, в которую могут быть вставлены любые значения, в том числе и те, которые в базе данных не присутствуют. Одновременно с загрузкой графической подложки программой выполняется считывание параметров загружаемой диаграммы из специального текстового файла опций, имеющего то же имя, что и графический файл. В этом файле определены такие параметры диаграммы, как ее тип (треугольная или двумерная), цветность (цветная или черно-белая), название диаграммы и ее подпись, подписи осей/вершин, минимумы и максимумы значений по каждой оси, цена делений каждой оси и процент масштабирования по одной из вершин треугольной диаграммы. Для создания и редактирования текстового файла опций была создана еще одна утилита - Редактор опций загружаемых диаграмм. Подробное описание каждой из этих утилит находятся в соответствующих разделах данного руководства. Таким образом, каждая загружаемая диаграмма состоит фактически из двух файлов - графического файла с расширением .bmp, в котором содержится графическая подложка и одноименного текстового файла с расширением .txt, в котором содержатся параметры диаграммы. Собственно, классификационные диаграммы, вызываемые из Расчетных модулей, которые так понравились пользователям, также загружают графические подложки из bmp-файлов, хранящихся в папке images в установочной директории программы, а вот параметры этих диаграмм содержатся внутри кода и их редакция со стороны пользователей невозможна. Теперь эта несправедливость устранена и пользователи получили возможность самостоятельно создавать загружаемые двумерные и треугольные диаграммы.

Как же это работает практически? Разберем на конкретном примере.

Допустим, нам необходимо сделать загружаемую диаграмму из рисунка распределения метаморфических фаций в зависимости от температуры и давления (по Yardley, 1991), сосканированную из книги Е.В.Склярова, Д.П.Гладкочуб и др. "МЕТАМОРФИЗМ И ТЕКТОНИКА".

 

 

Как видно из рисунка, по сути - это двумерная классификационная диаграмма, по оси X которой откладывается температура в градусах Цельсия, а по оси Y давление в килобарах. Минимум значений по оси X - 100, максимум - 1000 градусов. Цена деления - 100 градусов. Минимум значений по оси Y - 0, максимум - 17 килобар, цена деления - 2 килобара.
Для того, чтобы создать графическую подложку для будущей загружаемой диаграммы нам необходим шаблон. В этом качестве будет выступать графический файл пустой двумерной диаграммы, созданный в программе PetroExplorer. Запускаем утилиту
PetroGrapher (Построитель произвольных диаграмм для этого не подходит, т.к. привязан к базе данных, а в ней параметров температуры и давления нет), выбираем двумерную диаграмму, включаем панель Масштабирования, устанавливаем минимальные и максимальные значения а также цену делений по каждой оси в соответствии с исходным рисунком, жмем на кнопку Построить диаграммму и строим пустую двумерную диаграмму.

 

Далее с помощью кнопки Сохранить в файл сохраняем эту диаграмму в файл template.jpg. Все, файл шаблона у нас теперь есть. Далее открываем оба файла - файл исходного рисунка и файл шаблона в великой программе Adobe Photoshop и приступаем к непосредственному созданию графической подложки будущей диаграммы.
Для начала отредактируем размеры и разрешение исходного файла в соответствии с файлом шаблона (размер 420 на 416 пикселей, разрешение 96 пикселей/дюйм). Затем переходим к файлу шаблона. Выделим с помощью инструмента "Волшебная палочка" черные оси координат с делениями и скопируем их на новый прозрачный слой, который назовем "Оси". Затем создадим еще один новый прозрачный слой, на котором будем рисовать новую подложку. Так и назовем его: "Новая подложка". Теперь вернемся к исходному фалу. Поскольку нас интересует только координатная плоскость с контурами полей фаций, выделим прямоугольным выделением только ее, поскольку подписи осей и делений будут генерироваться программой, а расшифровка сокращений будет содержаться в информационной подписи диаграммы. Затем перетащим выделенную область на файл шаблона. Она появится там как новый слой, который мы для ясности назовем "Подложка". Разместим этот слой в списке слоев между Фоном и слоем "Оси".

 

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

 

После того, как совмещение делений достигнуто, можно приступать к отрисовке полей фаций на прозрачном слое "Новая подложка". Тут уж кому как нравится. Можно обводить контуры полей, можно выделять области по цвету на исходном слое, а затем заливать выделения нужным цветом на слое новой подложки и т.п. - все зависит от сложности исходного рисунка. В данном случае я просто выделил по цвету на исходном слое серую область переходных ассоциаций, закрасив предварительно надпись, затем залил выделение голубым цветом на слое новой подложки, обвел выделение черным контуром, а затем подтер эти контуры в нужных местах.

 

 

Дальше - все просто. Дублируем подписи полей фаций и шкалу приблизительной глубины, находящейся справа (она не будет строиться программой). После этого слои "Подложка" и "Оси" больше не нужны и их можно удалить. Фон очищаем и заливаем белым цветом, после чего выполняем сведение слоев. Все, графическая подложка для будущей загружаемой диаграммы готова.

 

Сохраним ее, как файл m-facies.bmp. Перед сохранением, убедитесь, что режим файла - RGB, а не индексированные цвета. Индексированные bmp-файлы PetroExplorer не загружает. Для создания черно-белого варианта этой диаграммы (они часто бывают нужны при подготовке статей к печати, далеко не всегда издательства принимают цветные рисунки), просто переведите этот файл в черно-белый режим, чтобы убрать информацию о цвете, а затем снова верните в режим RGB. При сохранении черно-белых файлов я обычно использую то же название, что и у цветных, только с добавлением индекса "_b": m-facies_b.bmp.

Теперь настал черед создать файл опций новой диаграммы. Запускаем утилиту Редактор опций загружаемых диаграмм. С помощью переключателей определяем тип диаграммы (двумерная) и ее цветность (цветная). В текстовые поля вносим информацию о названии диаграммы, ее подписи, подписях осей, а также минимумы и максимумы значений и цену деления каждой оси. После этого нажимаем кнопку Создать, для получения результирующей строки (она появится в текстовом поле Результат), а затем сохраняем файл опций (кнопка Сохранить) под тем же именем и в той же папке, что и графический фал: m-facies.txt. Если вы подготовили и черно-белый вариант графической подложки, то, не закрывая редактор, можно тут же переключить цветность диаграммы на "черно-белая", снова создать результирующую строку и сохранить файл под именем m-facies_b.txt.

 

 

Все, загружаемая диаграмма создана! Теперь пора испробовать ее в работе. Снова запускаем утилиту PetroGrapher (Построитель произвольных диаграмм с этой диаграммой работать не сможет, поскольку переменные температуры и давления в базе данных не определены) и нажимаем на кнопку Загрузить диаграмму. В открывшемся диалоговом окне выбираем наш файл m-facies.bmp и жмем на кнопку Открыть. Если все нормально, то в строке загрузки появится имя нашего файла, а параметры масштабирования и поля заголовка и подписи диаграммы примут заданные значения. Если файл опций отсутствует в этой директории, программа сообщит об этом. Если bmp-файл будет индексированным, то возникнет сообщение об ошибке и загрузка не произойдет. Другие варианты осложнений при загрузке мне пока не встречались. Если все нормально и загрузка прошла удачно, то можно добавить в Таблицу данных свои данные, скопировав их, например, из Excel-таблицы.

 

После этого останется лишь выбрать в Таблице данных нужные точки, с помощью чек-боксов в поле Select определить маркер и нажать на кнопку Построить диаграмму. Результат должен выглядеть примерно так:

 

Вот, не все так уж и сложно! В случае создания треугольной загружаемой диаграммы в качестве шаблона следует подготовить файл пустой треугольной диаграммы, а при трансформации - совмещать вершины треугольников. Все остальные операции - аналогичны. Конечно, для успешного выполнения всех вышеизложенных процедур необходимо иметь определенные навыки работы с Adobe Photoshop, но мне кажется, что все, кто регулярно готовит публикации к печати, давно уже освоили эту популярную программу.

Поскольку утилита
PetroGrapher не привязана к базе данных в качестве источника данных для диаграмм и в принципе может работать с любыми данными, то мне показалось, что данная утилита может оказаться полезной не только геохимикам, минералогам и петрологам, но и всем другим специалистам различных областей знаний, использующим в своей работе двумерные и треугольные диаграммы. Но для ее использования им совершенно необязательно скачивать и устанавливать у себя геохимическую программу PetroExplorer, потому что утилита PetroGrapher, как и Редактор опций загружаемых диаграмм теперь доступны в качестве отдельных приложений. Исполняемые файлы этих утилит можно скачать в разделе Download, как и примеры готовых загружаемых диаграмм.