Наша специализация - подземные воды
Проектные и консалтинговые услуги с сфере водопользования
Программное обеспечение для гидрогеологии и природопользования

Приложение автоматического построения трехмерных гидрогеологических блок-диаграмм

Вторая конференция партнеров и пользователей "Геолинк Консалтинг" В.А.Николаев, "Геолинк Консалтинг"

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

Изучаемая целевая функция на блок-диаграмме привязывается к геологическим горизонтам, пространственное местоположение которых задается в картограммах типа "кровля горизонтов". Кровля горизонтов, как и целевая функция, обязательно должны быть заданы при создании блок-диаграммы. Если блок-диаграмма используется только для отображения геологического строения изучаемой территории, то в качестве целевой функции и кровли задается один и тот же параметр. На блок-диаграммах типа "На гранях описывающего параллелограмма" (подробнее см. ниже) по кровле горизонтов приложение строит трехмерный геологический разрез, а на блок-диаграммах типа "Внутри описывающего параллелограмма" кровля горизонтов обычно используется для проецирования на нее значений целевой функции. В последнем случае сами кровли на блок-диаграммы не выносятся, а рисуются лишь графики целевой функции.

Блок-диаграмма ограничена описывающим параллелограммом с динамически задаваемыми размерами и ориентацией в пространстве. Описывающий параллелограмм может охватывать изучаемую область земной коры и некоторое пространство над этой областью. Границей между литосферой и атмосферой является рельеф местности, который обычно изображается в блок-диаграмме и используется для пространственного отображения геологического строения изучаемой области. Размеры блок-диаграммы по осям OX и OY определяются областью определения базы картограмм или областью определения ее фрагмента, а по оси OZ - размахом значений "координаты Z" используемых в блок-диаграмме картограмм (картограммы с абсолютными отметками кровли горизонтов, двух поверхностей и, возможно, целевой функции блок-диаграммы). Масштабы в плоскости XOY и по оси OZ являются независимыми и их можно изменять либо, используя соответствующие клавиши навигации, либо непосредственно, задавая значения масштабов в диалоге. Ориентация блок-диаграммы в пространстве определяется значениями трех углов поворота вокруг осей OX, OY и OZ, которые можно изменять либо с помощью соответствующих клавиш навигации, либо с помощью трассировки мыши, либо непосредственно, задавая значения этих углов в диалоге.

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

При работе с любой зарегистрированной географической базой ГИС "Геолинк 2.0", имеющей базы картограмм, можно построить произвольное число трехмерных блок-диаграмм. Каждая база картограмм имеет свой список блок-диаграмм с уникальными наименованиями в пределах базы. Список можно пополнять новыми блок-диаграммами, ненужные блок-диаграммами можно исключать, а у существующих блок-диаграмм изменять наименования и другие многочисленные параметры.

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

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

Приложение строит блок-диаграммы двух типов (задается в диалоге параметров):

  • блок-диаграммы с информацией внутри описывающего параллелограмма;
  • блок-диаграммы с информацией на гранях описывающего параллелограмма.

Тип диаграммы задается пользователем в диалоге "Параметры отображения блок-диаграммы".

На блок-диаграммах типа "Внутри описывающего параллелограмма" (см. Рисунок 1) изображение элементов блок диаграммы осуществляется внутри описывающего параллелограмма. С помощью блок-диаграмм этого типа удобно проводить качественный анализ изменения значений целевой функции от горизонта к горизонту. Целевая функция для отдельного горизонта отображается в виде поверхности, а сама блок-диаграмма - в виде серии поверхностей-горизонтов. Если единицы измерения целевой функции отличны от единиц измерения кровли (не абсолютные отметки от уровня моря), в приложении имеется возможность проецировать значения целевой функции на кровлю. Кроме того, имеется возможность отображать горизонты в виде плоскостей со средними значениями абсолютных отметок кровли (см. Рисунок 1), а также назначать в диалоге смещения горизонтов относительно средних отметок. Дополнительно, можно устанавливать порядок вывода на экран элементов блок-диаграммы и их составных частей (горизонтов). Комбинируя различными режимами, пользователь имеет возможность построить наиболее подходящую для анализа блок-диаграмму.

Рисунок 1
Рис.1. Пример блок-диаграммы типа "Внутри описывающего параллелограмма".

На блок-диаграммах типа "На гранях описывающего параллелограмма" (см. Рисунок 2) изображение элементов блок-диаграммы осуществляется на гранях описывающего параллелограмма. С помощью блок-диаграмм этого типа удобно проводить качественный анализ изменения значений целевой функции относительно изменения геологической пространственной обстановки. При построении блок-диаграмм этого типа приложение, используя информацию по кровлям горизонтов, устанавливает геологические границы. Графики целевых функций рисуются на гранях описывающего параллелограмма в виде линий с разными легендами. Легенда линии определяется ее принадлежностью к определенному горизонту.

Рисунок 2
Рис.2. Пример блок-диаграммы типа "На гранях описывающего прямоугольника".

На рисунках 1 и 2 представлены примеры трехмерных блок-диаграмм различных типов. Блок-диаграмма, представленная на рисунке 1, построена с использованием базы картограмм "Детальная ПДМ в Старооскольском промышленном районе Белгородской области". Эта блок-диаграмма имеет тип "Внутри описывающего параллелограмма". На ней отображено изменение целевой функции "Модифицированные абсолютные уровни подземных вод" на 6 горизонтах. Кроме того, на блок-диаграмму вынесен рельеф и гидрогеологическая сеть. Кровли горизонтов отображены на блок-диаграмме в виде плоскостей. Для удобства отображения заданы искусственные смещения для абсолютных отметок кровли каждого горизонта. Сами кровли не нарисованы, но на них спроецированы значения целевых функций. В качестве легенд использованы легенды "по умолчанию", устанавливаемые автоматически при создании блок-диаграммы. На рисунке 2 приведена блок-диаграмма типа "На гранях описывающего прямоугольника". На эту блок-диаграмму вынесены геологические границы по 7 горизонтам. Рисунок 2 несет только иллюстративную нагрузку, поскольку построение этого типа блок-диаграмм находится в разработке.

Поверхности на блок-диаграммах можно рисовать несколькими способами (задаются пользователем в диалогах):

  • в виде точек (точки в узлах картограммы);
  • в виде пространственных изолиний;
  • в виде блоков (ячейки картограммы отображаются в виде параллелепипедов);
  • зонами (сплошная заливка поверхности в соответствии с текущей легендой);
  • в виде сплошной черно-белой заливки; тона серого цвета устанавливаются в зависимости от горизонтального и вертикального углов освещения;
  • в виде сетки с линиями, меняющими свой цвет в зависимости от изменения целевой функции; тип сетки (плотный, нормальный, редкий или в виде линий), также, может быть задан в диалоге.

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

Легенды для элементов блок-диаграммы могут быть установлены двумя способами. Самым простым способом является задание легенд, принятых "по умолчанию". Эти легенды автоматически используются при создании блок-диаграммы и не требуют со стороны пользователя дополнительных затрат. Недостатком легенд "по умолчанию" является их качественный характер (реальные значения градаций получить трудно) и невозможность их изменения в диалоге. Для этих легенд используются специальные палитры приложения. Другим способом задания легенд является использование легенд соответствующих картограмм или легенд слоев географической базы (для отображения геологии). Эти легенды могут быть заданы или изменены через соответствующие редакторы легенд ГИС "Геолинк 2.0". Наличие собственного редактора легенд в приложении пока не предусмотрено.

Блок-диаграмма может отображать не всю область определения базы картограмм, а только заданного пользователем фрагмента базы. Параметрами фрагмента являются:

  • номера строк и столбцов базы картограмм для левого нижнего и правого верхнего углов фрагмента (определяют местоположение фрагмента и его размеры);
  • величина изменения размера фрагмента при навигации;
  • величина смещения фрагмента по осям при навигации.

Параметры фрагмента базы картограмм могут изменяться в диалоге, с помощью "горячих" клавиш или через пункт контекстного меню "Фрагмент". Навигация фрагмента предусматривает динамическое перемещение области отображения пространства или изменение размера фрагмента по осям X и Y. Дальнейшая модернизация работы с фрагментом предусматривает: интерактивное задание фрагмента через окно карты; включение во фрагмент координаты Z; установку фрагмента не только через номера ячеек картограммы, но и через реальные единицы измерения по осям блок-диаграммы.

Отображение блок-диаграммы на экране можно вывести на печать или экспортировать либо в векторный формат (wmf-метафайл), либо в растровый формат (bmp-файл).