Posts Tagged ‘GMT’

Построение стереограмм в linux

Август 12, 2008

Построение стереограмм трещиноватости является повседневной задачей в структурной геологии. Для её решения уже разработано большое количество программных средств под Windows, но под Linux специальной утилиты пока не существует. Есть лишь небольшое количество малофункциональных программ.

Но так как строить такие стереограммы мне необходимо, да еще и в больших количествах, я написал скрипт, осуществляющий такие построения, используя функционал GMT.

#!/bin/bash
fig=test.ps
title=»Проверка»
grid=test.grd
cpt=test.cpt

gmtset CHAR_ENCODING ISO-8859-5

echo ‘0, -90’ | psxy -R0/360/-90/0 \
-JS0/-90/16c -Sx0.4c -Ba90f90/g90:.$title: \
—BASEMAP_TYPE=plain -K -V > $fig

#рисуем нормали к плоскостям
cat test_n.txt | awk -F»\t» ‘{print $1, $2-90}’ \
| psxy -R -J -Sc0.2c -N -Gblack -Wwhite -O -K >> $fig

#рисуем направления смещений по плоскостям
cat test_v.txt | awk -F»\t» ‘{print $1, $2-90, -$3+90, «1»}’ \
| psxy -R -J -SV0.08/0.3c/0.12c -N -Gblack -O -K >> $fig

echo «50 5 12 0 0 CT Тестовая стереограмма» | pstext -R0/50/0/50 -JX16c -N -O >> $fig

Результатом выполнения скрипта будет вот такая стереограмма:

Реклама

Начало работы с GMT

Март 19, 2008

На сайте gis-lab опубликована статья «Начало работы с GMT«, в которой показаны основы работы с этим пакетом. Спасибо Максиму Дубинину за помощь и терпеливую корректировку сего опуса.

Установка GMT в Debian/Ububtu

Февраль 1, 2008

Не знаю как в других дистрибутивах, но у меня в Debian4.0 (дома) и в Ubuntu7.10 (на работе) команда sudo apt-get install gmt устанавливает GMT не полностью и не до конца. Данные высокого разрешения по береговым линиям и границам государств отсутствуют, и путь к GMT в системе не прописан. Поэтому, чтобы можно было нормально работать, после установки этой программы аптгетом нужно сделать следующее:

  • Прописать в системе путь к GMT. Просто вставляем в конец файла ~/.bashrc строчки:

export GMTHOME=/usr/lib/gmt/
export PATH=/usr/lib/gmt/bin/:$PATH

  • Установить данные о береговых линиях континентов высоко разрешения (взято с сache.ath.cx/Linux/map):

cd /tmp
ftp ftp.geologi.uio.no
username ftp
password guest
cd pub/gmt/3
get GMT3_high.tar.gz
get GMT3_full.tar.gz
quit
tar -xzvf GMT3_high.tar.gz
tar -xzvf GMT3_full.tar.gz
cd share
sudo mv share/*.cdf /usr/share/gmt

После этих действий GMT наконец будет установлена правильно.

GMT: Как это работает

Январь 17, 2008

Как таковой, программы GMT нет. Это просто набор небольших консольных программ (модулей) каждая из которых на стандартный выход передает содержимое ps-файла ими сгенерированного. Например, программа psbasemap рисует рамку и координатную сетку, программа pscoast рисует линию побережья, grdimage — растровую карту, psxy — точки и линии. Всего таких программ около 60-ти, и для каждой картографической задачи можно подыскать соответствующую. Читать далее…

GMT — консольная ГИС для картографических целей

Январь 10, 2008

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

Экспорт растровой карты из GRASS в .xyz

Декабрь 18, 2007

Популярным форматом обмена пространственных матриц в ГИС является простой ascii-файл в формате xyz, строки в котором содержат три колонки — значения x,y и z. По умолчанию, GRASS не может экспортировать свои растровые карты в этот формат, вместо этого он экспортирует в GRASS ASCII или ARCINFO ASCII GRID. Если же нам необходимо получить файл xyz (для дальнейшего использования в GMT например), то на помощь приходит богатый инструментарий командной строки UNIX. Внутренняя команда GRASS r.stats может выводить на экран значение каждой ячейки если указан флаг -l, и дополнительно может печатать координаты каждой ячейки, если указан флаг -g Если указан флаг -x, команда будет печатать порядковые номера ячейки (x,y).

Таким образом, команда r.stats -lg elevation.30sec nv=»-9999″ выводит на экран информацию о карте как раз в формате xyz (nv=[string] — опция, задающая значение [string] в каждой ячейке с отсутствием данных). Осталось направить вывод команды в файл, и экспорт готов:

r.stats -lg elevation.30sec nv=»-9999″ > elevation.xyz

Рецепт взят из книги Open Source Gis: A GRASS GIS APPROACH