Применение GRASS в геологии и геофизике

Ответить
Peter_Kurkin
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 янв 2010, 20:01
Репутация: 0
Откуда: Тюмень

Применение GRASS в геологии и геофизике

Сообщение Peter_Kurkin » 09 янв 2010, 18:39

Итоговый результат хочется видеть в 3D модели геологических слоев, т.е. составление модели месторождения , с вынсом вертикальных разрезов (растровых слоев), скважин и д.р. геологических атрибутов.
На данный момент имею созданые в SURFER 8 карты по геологическим горизонтам, по ним построен грид и импортирован в GRASS, остановился на этапе построения по гриду карты, векторного слоя, для загрузки в NVIZ.
Подскажите как мне реализовать данную идею, в комплексе программ QGIS, какие действия необходимы для создания модели в NVIZ'е.
Буду рад любой информации по документации и различных руководставх.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Применение GRASS в геологии и геофизики

Сообщение KolesovDmitry » 09 янв 2010, 20:38

Peter_Kurkin писал(а):Итоговый результат хочется видеть в 3D модели геологических слоев, т.е. составление модели месторождения , с вынсом вертикальных разрезов (растровых слоев), скважин и д.р. геологических атрибутов.
...
Буду рад любой информации по документации и различных руководставх.
Есть очень интересная статья по построению 3D моделей: Construction and Visualization of Three Dimensional Geologic Model Using GRASS GIS
Интересна там сама идея: авторы создали 3D модель (именно 3D, а не 2.5) на основе обычной растровой арифметики.
Второй интересный момент: не очень понятно, зачем они использовали обычные растры (2.5D), и так мучались, чтобы построить в результате 3D, а не взяли сразу 3D растры, которые уже и так реализованы в GRASS... Единственное объяснение, которое приходит в голову - на момент написания статьи (2002г) 3D растров в GRASS еще не было.

Peter_Kurkin
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 янв 2010, 20:01
Репутация: 0
Откуда: Тюмень

Re: Применение GRASS в геологии и геофизики

Сообщение Peter_Kurkin » 10 янв 2010, 11:15

Спасибо за скорый ответ. Но я не могу понять, что нужно делать дальше с 3D гридом? Импортируя в грасс из файла ASCII я получаю набор точек, без поверхности и без раскраски. При этом визуализируя в NVIZ'e ничего не видно...
Буду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e.

P.S. Статья как раз то что мне нужно. Еще раз спасибо!

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Применение GRASS в геологии и геофизики

Сообщение KolesovDmitry » 10 янв 2010, 16:13

Peter_Kurkin писал(а):Импортируя в грасс из файла ASCII я получаю набор точек, без поверхности и без раскраски. При этом визуализируя в NVIZ'e ничего не видно...
Буду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e.
Пара встречных вопросов:
1) Опишите, как именно вы импортируете ASCII грид, что у вас получается набор точек (это действительно набор точек, а не растр получается?).
2) Немного расшифруйте, что означает "поверхность для просмотра в NVIZ" (не очень понятно, в чем загвоздка, т.к. NVIZ показывает растры без особых проблем...)

Peter_Kurkin
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 янв 2010, 20:01
Репутация: 0
Откуда: Тюмень

Re: Применение GRASS в геологии и геофизики

Сообщение Peter_Kurkin » 10 янв 2010, 19:09

KolesovDmitry,
В SURFER полученный грид после интерполяции экспортируется в ASCII dat файл, содержащий набор координат с указанием высоты точек (x,y,z). Затем в GRASS данные импортируем модулем v.in.ascii, с укзанием раздилителя, ключа -z и последовательности столбцов (x,y,x). На выходе получаем векторный слой с множеством точек. Пробывал так же импорт того же грида в формате ASCII с помощью модуля r3.in.ascii получил растр с точками, при просмотре которого в NVIZ ничего не видно, но есть продвижение :D точки имеют разный цвет. Может нужен модуль r.color или интерполяция? Подскажите, может мне нужно идти в друго направлении?

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Применение GRASS в геологии и геофизики

Сообщение KolesovDmitry » 10 янв 2010, 20:21

После импорта модулем v.in.ascii вы получили набор трехмерных векторных точек. Конечно, их можно расскрасить разными цветами в зависимости от высоты, но, скорее всего, вам нужно не это.

Модуль r3.in.ascii создает трехмерный растр, т.е. это не обычный 2.5D грид (прямоугольники на плоскости и в каждый прямоугольник записано числовое значение - высота), а трехмерный грид (прямоугольные параллелепипеды и в каждый такой "кирпичик" записано числовое значение). Как я понимаю, вы хотите получить именно такую модель. Но, как я опять же предполагаю, в качестве входных данных у вас "плоские" гриды (2.5D).

Для этого вам нужно сначала импортировать ваши гриды в виде обычных растров (например, модулем r.in.ascii), а потом из нескольких "плоских" растров можно собрать 3D растр (r.to.rast3).

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

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Применение GRASS в геологии и геофизики

Сообщение Александр Мурый » 11 янв 2010, 01:54

Первое, что надо отметить: для GRASS нет универсального метода построения геологических моделей.
Для этого есть спец.программные комплексы (Geomodeller3D, Petrel, Gocad и т.д.)
Более полный список - на Википедии: Geologic_modelling
GRASS применяется скорее для подготовки данных к визуализации (экспорт данных --> анализ/обработка --> импорт в формат vtk -- > Paraview)
какие действия необходимы для создания модели в NVIZ'е?
Насколько я понимаю, NVIZ визуализирует все, что вы туда засунете (растр, растр3D, вектор). Это не самый продвинутый визуализатор (для сложных случаев больше подходят специализированные программы типа Paraview, MayaVi и прочие там VTK). Однако, показать лежащие на разных глубинах поверхности и скважины может и NVIZ:
Изображение
Взято из статьи японцев Development of Visualization Tool for Geologic Information on GRASS GIS. Однако, там нужно доустанавливать какие-то модули (ссылок не дается)



Далее.
Буду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e
Использовать только Surfer для построения поверхностей необязательно, это можно сделать в GRASS
1) исходные данные ASCII (x,y,z) --> v.in.ascii

2) точечный векторный слой --> интерполяция (для поверхностей кровли/подошвы геол.пластов лучше подойдет, наверное, метод "Regularized spline with tension":
v.surf.rst --> поверхность (растр 2,5 D)
И так для каждой поверхности.

3) для трехмерных растров (voxel) используем модуль v.vol.rst

Скважины - это трехмерные векторные объекты(?), при экспорте данных по ним в виде X,Y,Z надо использоватьь параметр "создать 3D вектор" --> в NVIZ должны нормально отображаться.

А вообще, вам бы хорошо бы почитать краткие введения в тему:
Vector data processing in GRASS GIS
Raster data processing in GRASS GIS
3D Raster data (voxel) in GRASS GIS

Еще хорошие примеры визуализации с анимацией:
MULTIDIMENSIONAL SPATIAL INTERPOLATION
INTERPOLATION AND VISUALIZATION FROM 3D AND 4D SCATTERED DATA USING GRASS GIS
Статья про визуализацию с помощью GRASS и Vis5D (правда, про почвы)
Volume modeling of soils using GRASS GIS 3D-Tools
Редактор материалов, модератор форума

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: Применение GRASS в геологии и геофизике

Сообщение Trace » 17 янв 2010, 12:19

А зачем экспортировать данные серфера в dat-файл? когда можно загрузить изначально растр в виде grd-файла. формат серфера поддерживается гдалом, как бинарный так и текстовый. можно сделать это через кугис, будет очень хорошо визуализировано. Вот единственный вопрос как визуализировать скважины? если к примеру нет инклинометрии то линия скважины будет состоять из 2 точек, которые самому сделать несложно а вот если есть инклинометрия? а вот как вынести геологическую, геофизическую информацию, при наличии инклинометрии?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Применение GRASS в геологии и геофизике

Сообщение Александр Мурый » 24 янв 2010, 21:14

По мне, Surfer здесь вообще можно не использовать, а обойтись силами GRASS/QGIS.

Как визуализировать скважины? вопрос для маркшейдера-программиста.
Видимо, надо вооружиться формулами:
стр.1
стр.2
стр.3
и копать в сторону r.mapcalc и r3.mapcalc (если представить скважину как трехмерный растр)..
Лично я себе это очень смутно представляю, ибо не специалист. Но может кто-то возьмется?

Выносить геологическую и геофизическую информацию (в смысле подписи) в NVIZ, вроде бы, нельзя. Зато можно в VTK и программах, его использующих (Paraview, ViSit, MayaVi).

Вот нарыл, как делали визуализацию месторождения со скважинами в VTK еще в 90-х годах:
http://books.google.ru/books?id=8tXjD2o ... TK&f=false
Редактор материалов, модератор форума

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: Применение GRASS в геологии и геофизике

Сообщение Trace » 23 апр 2010, 04:53

Выползает ошибка "cache_queue_enqueue: position not in queue" при построении 3Д. как ее можно устранить.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Применение GRASS в геологии и геофизике

Сообщение KolesovDmitry » 23 апр 2010, 08:32

Trace писал(а):Выползает ошибка "cache_queue_enqueue: position not in queue" при построении 3Д. как ее можно устранить.
Мало информации. Поясните, на какой операции вылетает (команда), на каких данных (если можно приведите пример файла), какая версия GRASS.

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: Применение GRASS в геологии и геофизике

Сообщение Trace » 23 апр 2010, 18:35

устанвлен грасс с помощью OSGeo4W grass64_svn7
загружаю файлы из арквью, через формат asc.
с помощью команды r.to.rast3 пытаюсь импортировать набор растров (глубин), в 3Д растр.
сам пример растров выложу в понедельник.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Применение GRASS в геологии и геофизике

Сообщение Александр Мурый » 23 апр 2010, 22:55

ошибка звучит: "позиция не в очереди"
согласно мануалу http://grass.itc.it/gdp/html_grass64/r.to.rast3.html, 2D-растры должны располагаться в порядке снизу вверх:
r.to.rast3 input=raster_300m,raster_250m,raster_200m output=raster3d
и еще надо проверить, верно ли задан 3D-регион:

Код: Выделить всё

g.region -p3
-- выход команды в студию))

3D-регион задать можно примерно так:

Код: Выделить всё

g.region b=200 t=300 tbres=20 res3=10
Редактор материалов, модератор форума

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: Применение GRASS в геологии и геофизике

Сообщение Trace » 24 апр 2010, 07:58

вывод команды (проверка в убунту).

Код: Выделить всё

GRASS 6.4.0RC6 (UTZ):~ > g.region -p3
projection: 99 (Transverse Mercator)
zone:       0
datum:      S-42
ellipsoid:  krassovsky
north:      6725268.9786997
south:      6681568.9786997
west:       331224.47738855
east:       399324.47738855
top:        1.00000000
bottom:     0.00000000
nsres:      100
nsres3:     100
ewres:      100
ewres3:     100
tbres:      1
rows:       437
rows3:      437
cols:       681
cols3:      681
depths:     1
cells:      297597
3dcells:    297597

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Применение GRASS в геологии и геофизике

Сообщение KolesovDmitry » 24 апр 2010, 10:27

Нужно настроить параметры области. У вас:
Trace писал(а):

Код: Выделить всё

GRASS 6.4.0RC6 (UTZ):~ > g.region -p3
...
top:        1.00000000
bottom:     0.00000000
...
tbres:      1
Нужно задать пределы изменения области по вертикали (у вас сейчас - в область умещается только один растр) см g.region.

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость