Применение GRASS в геологии и геофизике
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 08 янв 2010, 20:01
- Репутация: 0
- Откуда: Тюмень
Применение GRASS в геологии и геофизике
Итоговый результат хочется видеть в 3D модели геологических слоев, т.е. составление модели месторождения , с вынсом вертикальных разрезов (растровых слоев), скважин и д.р. геологических атрибутов.
На данный момент имею созданые в SURFER 8 карты по геологическим горизонтам, по ним построен грид и импортирован в GRASS, остановился на этапе построения по гриду карты, векторного слоя, для загрузки в NVIZ.
Подскажите как мне реализовать данную идею, в комплексе программ QGIS, какие действия необходимы для создания модели в NVIZ'е.
Буду рад любой информации по документации и различных руководставх.
На данный момент имею созданые в SURFER 8 карты по геологическим горизонтам, по ним построен грид и импортирован в GRASS, остановился на этапе построения по гриду карты, векторного слоя, для загрузки в NVIZ.
Подскажите как мне реализовать данную идею, в комплексе программ QGIS, какие действия необходимы для создания модели в NVIZ'е.
Буду рад любой информации по документации и различных руководставх.
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Применение GRASS в геологии и геофизики
Есть очень интересная статья по построению 3D моделей: Construction and Visualization of Three Dimensional Geologic Model Using GRASS GISPeter_Kurkin писал(а):Итоговый результат хочется видеть в 3D модели геологических слоев, т.е. составление модели месторождения , с вынсом вертикальных разрезов (растровых слоев), скважин и д.р. геологических атрибутов.
...
Буду рад любой информации по документации и различных руководставх.
Интересна там сама идея: авторы создали 3D модель (именно 3D, а не 2.5) на основе обычной растровой арифметики.
Второй интересный момент: не очень понятно, зачем они использовали обычные растры (2.5D), и так мучались, чтобы построить в результате 3D, а не взяли сразу 3D растры, которые уже и так реализованы в GRASS... Единственное объяснение, которое приходит в голову - на момент написания статьи (2002г) 3D растров в GRASS еще не было.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 08 янв 2010, 20:01
- Репутация: 0
- Откуда: Тюмень
Re: Применение GRASS в геологии и геофизики
Спасибо за скорый ответ. Но я не могу понять, что нужно делать дальше с 3D гридом? Импортируя в грасс из файла ASCII я получаю набор точек, без поверхности и без раскраски. При этом визуализируя в NVIZ'e ничего не видно...
Буду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e.
P.S. Статья как раз то что мне нужно. Еще раз спасибо!
Буду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e.
P.S. Статья как раз то что мне нужно. Еще раз спасибо!
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Применение GRASS в геологии и геофизики
Пара встречных вопросов:Peter_Kurkin писал(а):Импортируя в грасс из файла ASCII я получаю набор точек, без поверхности и без раскраски. При этом визуализируя в NVIZ'e ничего не видно...
Буду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e.
1) Опишите, как именно вы импортируете ASCII грид, что у вас получается набор точек (это действительно набор точек, а не растр получается?).
2) Немного расшифруйте, что означает "поверхность для просмотра в NVIZ" (не очень понятно, в чем загвоздка, т.к. NVIZ показывает растры без особых проблем...)
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 08 янв 2010, 20:01
- Репутация: 0
- Откуда: Тюмень
Re: Применение GRASS в геологии и геофизики
KolesovDmitry,
В SURFER полученный грид после интерполяции экспортируется в ASCII dat файл, содержащий набор координат с указанием высоты точек (x,y,z). Затем в GRASS данные импортируем модулем v.in.ascii, с укзанием раздилителя, ключа -z и последовательности столбцов (x,y,x). На выходе получаем векторный слой с множеством точек. Пробывал так же импорт того же грида в формате ASCII с помощью модуля r3.in.ascii получил растр с точками, при просмотре которого в NVIZ ничего не видно, но есть продвижение точки имеют разный цвет. Может нужен модуль r.color или интерполяция? Подскажите, может мне нужно идти в друго направлении?
В SURFER полученный грид после интерполяции экспортируется в ASCII dat файл, содержащий набор координат с указанием высоты точек (x,y,z). Затем в GRASS данные импортируем модулем v.in.ascii, с укзанием раздилителя, ключа -z и последовательности столбцов (x,y,x). На выходе получаем векторный слой с множеством точек. Пробывал так же импорт того же грида в формате ASCII с помощью модуля r3.in.ascii получил растр с точками, при просмотре которого в NVIZ ничего не видно, но есть продвижение точки имеют разный цвет. Может нужен модуль r.color или интерполяция? Подскажите, может мне нужно идти в друго направлении?
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Применение GRASS в геологии и геофизики
После импорта модулем v.in.ascii вы получили набор трехмерных векторных точек. Конечно, их можно расскрасить разными цветами в зависимости от высоты, но, скорее всего, вам нужно не это.
Модуль r3.in.ascii создает трехмерный растр, т.е. это не обычный 2.5D грид (прямоугольники на плоскости и в каждый прямоугольник записано числовое значение - высота), а трехмерный грид (прямоугольные параллелепипеды и в каждый такой "кирпичик" записано числовое значение). Как я понимаю, вы хотите получить именно такую модель. Но, как я опять же предполагаю, в качестве входных данных у вас "плоские" гриды (2.5D).
Для этого вам нужно сначала импортировать ваши гриды в виде обычных растров (например, модулем r.in.ascii), а потом из нескольких "плоских" растров можно собрать 3D растр (r.to.rast3).
Возможно, я ошибаюсь в своих предположениях - тогда поправьте меня и поясните свою задачу.
Модуль r3.in.ascii создает трехмерный растр, т.е. это не обычный 2.5D грид (прямоугольники на плоскости и в каждый прямоугольник записано числовое значение - высота), а трехмерный грид (прямоугольные параллелепипеды и в каждый такой "кирпичик" записано числовое значение). Как я понимаю, вы хотите получить именно такую модель. Но, как я опять же предполагаю, в качестве входных данных у вас "плоские" гриды (2.5D).
Для этого вам нужно сначала импортировать ваши гриды в виде обычных растров (например, модулем r.in.ascii), а потом из нескольких "плоских" растров можно собрать 3D растр (r.to.rast3).
Возможно, я ошибаюсь в своих предположениях - тогда поправьте меня и поясните свою задачу.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Применение GRASS в геологии и геофизики
Первое, что надо отметить: для GRASS нет универсального метода построения геологических моделей.
Для этого есть спец.программные комплексы (Geomodeller3D, Petrel, Gocad и т.д.)
Более полный список - на Википедии: Geologic_modelling
GRASS применяется скорее для подготовки данных к визуализации (экспорт данных --> анализ/обработка --> импорт в формат vtk -- > Paraview)
Взято из статьи японцев Development of Visualization Tool for Geologic Information on GRASS GIS. Однако, там нужно доустанавливать какие-то модули (ссылок не дается)
Далее.
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
Для этого есть спец.программные комплексы (Geomodeller3D, Petrel, Gocad и т.д.)
Более полный список - на Википедии: Geologic_modelling
GRASS применяется скорее для подготовки данных к визуализации (экспорт данных --> анализ/обработка --> импорт в формат vtk -- > Paraview)
Насколько я понимаю, NVIZ визуализирует все, что вы туда засунете (растр, растр3D, вектор). Это не самый продвинутый визуализатор (для сложных случаев больше подходят специализированные программы типа Paraview, MayaVi и прочие там VTK). Однако, показать лежащие на разных глубинах поверхности и скважины может и NVIZ:какие действия необходимы для создания модели в NVIZ'е?
Взято из статьи японцев Development of Visualization Tool for Geologic Information on GRASS GIS. Однако, там нужно доустанавливать какие-то модули (ссылок не дается)
Далее.
Использовать только Surfer для построения поверхностей необязательно, это можно сделать в GRASSБуду признателен, если опишиет поэтапно (по модолям), что нужно делать с набором данных ASCII (x,y,z), чтобы получить поверхности для просмотра в NVIZ'e
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
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Применение GRASS в геологии и геофизике
А зачем экспортировать данные серфера в dat-файл? когда можно загрузить изначально растр в виде grd-файла. формат серфера поддерживается гдалом, как бинарный так и текстовый. можно сделать это через кугис, будет очень хорошо визуализировано. Вот единственный вопрос как визуализировать скважины? если к примеру нет инклинометрии то линия скважины будет состоять из 2 точек, которые самому сделать несложно а вот если есть инклинометрия? а вот как вынести геологическую, геофизическую информацию, при наличии инклинометрии?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Применение GRASS в геологии и геофизике
По мне, 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
Как визуализировать скважины? вопрос для маркшейдера-программиста.
Видимо, надо вооружиться формулами:
стр.1
стр.2
стр.3
и копать в сторону r.mapcalc и r3.mapcalc (если представить скважину как трехмерный растр)..
Лично я себе это очень смутно представляю, ибо не специалист. Но может кто-то возьмется?
Выносить геологическую и геофизическую информацию (в смысле подписи) в NVIZ, вроде бы, нельзя. Зато можно в VTK и программах, его использующих (Paraview, ViSit, MayaVi).
Вот нарыл, как делали визуализацию месторождения со скважинами в VTK еще в 90-х годах:
http://books.google.ru/books?id=8tXjD2o ... TK&f=false
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Применение GRASS в геологии и геофизике
Выползает ошибка "cache_queue_enqueue: position not in queue" при построении 3Д. как ее можно устранить.
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Применение GRASS в геологии и геофизике
Мало информации. Поясните, на какой операции вылетает (команда), на каких данных (если можно приведите пример файла), какая версия GRASS.Trace писал(а):Выползает ошибка "cache_queue_enqueue: position not in queue" при построении 3Д. как ее можно устранить.
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Применение GRASS в геологии и геофизике
устанвлен грасс с помощью OSGeo4W grass64_svn7
загружаю файлы из арквью, через формат asc.
с помощью команды r.to.rast3 пытаюсь импортировать набор растров (глубин), в 3Д растр.
сам пример растров выложу в понедельник.
загружаю файлы из арквью, через формат asc.
с помощью команды r.to.rast3 пытаюсь импортировать набор растров (глубин), в 3Д растр.
сам пример растров выложу в понедельник.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Применение GRASS в геологии и геофизике
ошибка звучит: "позиция не в очереди"
согласно мануалу http://grass.itc.it/gdp/html_grass64/r.to.rast3.html, 2D-растры должны располагаться в порядке снизу вверх:
-- выход команды в студию))
3D-регион задать можно примерно так:
согласно мануалу http://grass.itc.it/gdp/html_grass64/r.to.rast3.html, 2D-растры должны располагаться в порядке снизу вверх:
и еще надо проверить, верно ли задан 3D-регион:r.to.rast3 input=raster_300m,raster_250m,raster_200m output=raster3d
Код: Выделить всё
g.region -p3
3D-регион задать можно примерно так:
Код: Выделить всё
g.region b=200 t=300 tbres=20 res3=10
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Применение GRASS в геологии и геофизике
вывод команды (проверка в убунту).
Код: Выделить всё
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
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Применение GRASS в геологии и геофизике
Нужно настроить параметры области. У вас:
Нужно задать пределы изменения области по вертикали (у вас сейчас - в область умещается только один растр) см g.region.Trace писал(а):Код: Выделить всё
GRASS 6.4.0RC6 (UTZ):~ > g.region -p3 ... top: 1.00000000 bottom: 0.00000000 ... tbres: 1
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей