Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
seisman committed Oct 31, 2016
1 parent 237be57 commit 711e816
Show file tree
Hide file tree
Showing 18 changed files with 207 additions and 141 deletions.
2 changes: 1 addition & 1 deletion scripts/GMT_pens.sh
Expand Up @@ -6,7 +6,7 @@ line=lines.txt

cat << EOF > $line
0 0
10 0
10 0
EOF

gmt psxy -R$R -J$J -P -K -T > $PS
Expand Down
21 changes: 15 additions & 6 deletions source/color.rst
Expand Up @@ -3,7 +3,13 @@
颜色
====

既然是绘图,丰富的颜色是必须的。GMT中,可以通过五种不同的方式来指定颜色。
既然是绘图,丰富的颜色是必须的。GMT中可以通过五种不同的方式来指定颜色,即:

#. 颜色名
#. RGB 值
#. HSV 值
#. CMYK 值
#. 灰度值

颜色名
------
Expand Down Expand Up @@ -57,17 +63,17 @@ CMYK
灰色
----

灰色是日常常见的一种颜色,而灰色有可以根据灰的不同程度细分为不同的灰色。指定灰色的办法很简单,用一个数值表示灰度即可,其取值范围为0到255。例如 ``0`` 表示黑色, ``255`` 表示白色, ``128`` 表示灰色。
灰色是常见的一种颜色,而灰色又可以根据灰的不同程度细分为不同的灰色。指定灰色的办法很简单,用一个数值表示灰度即可,其取值范围为0到255。例如 ``0`` 表示黑色, ``255`` 表示白色, ``128`` 表示灰色。

除了用灰度表示之外,灰色还可以用前面提到的几种形式表示
除了用灰度表示之外,灰色还可以用前面提到的几种形式表示

#. 用RGB表示灰度

灰色本质上就是 ``R=G=B`` 的一种颜色。因而 ``128/128/128`` 代表灰度为 ``128`` , ``200/200/200`` 代表灰度是 ``200`` 。

#. 用GMT颜色名表示灰度

GMT自定义了多个名字来表示灰度,除了前面说过的 ``gray`` 、 ``lightgray`` 和 ``darkgray`` 之外,还有 ``gray0`` 、 ``gray1`` 一直到 ``gray100`` 。其中 ``gray0`` 即黑色, ``gray100`` 即白色。
GMT自定义了多个名字来表示不同程度的灰色,除了前面说过的 ``gray`` 、 ``lightgray`` 和 ``darkgray`` 之外,还有 ``gray0`` 、 ``gray1`` 一直到 ``gray100`` 。其中 ``gray0`` 即黑色, ``gray100`` 即白色。

颜色小结
--------
Expand All @@ -83,6 +89,9 @@ GMT中可以用五种方法指定颜色,分别是:
透明色
------

每一种颜色都可以额外指定不同的透明度。GMT中,可以通过在颜色后加上 ``@`` 再加上透明度来得到不同程度的透明色。透明度的取值范围是0到100,0表示不透明,100表示全透明。例如: ``red@25`` 、 ``30/25/128@60`` 。
每一种颜色都可以额外指定颜色的透明度。GMT中可以通过在颜色后加上 ``@`` 再加上透明度来得到不同程度的透明色。透明度的取值范围是0到100,0表示不透明,100表示全透明。例如: ``red@25`` 、 ``30/25/128@60`` 。

除了可以指定某个颜色的透明度之外,还可以指定整个图层的透明度,见 :doc:`option-t` 。

除了可以指定某个颜色的透明度之外,还可以指定整个图层的透明度。在使用透明特性时,还有一些额外的注意事项,见 :doc:`option-t` 一节。
.. source: http://gmt.soest.hawaii.edu/doc/latest/GMT_Docs.html#specifying-pen-attributes
.. source: http://gmt.soest.hawaii.edu/doc/latest/gmtcolors.html
18 changes: 12 additions & 6 deletions source/fill.rst
Expand Up @@ -3,9 +3,9 @@
填充
====

用彩色的画笔绘制了圆形或多边形之后,还需要为其填充颜色。在GMT模块的语法介绍中,一般用 ``<fill>`` 表示需要指定填充属性,读者在见到 ``<fill>`` 时应自动联想到本节介绍的内容。
用画笔绘制了圆形或多边形之后,还需要为其填充颜色。在GMT模块的语法介绍中,一般用 ``<fill>`` 表示需要指定填充属性,读者在见到 ``<fill>`` 时应自动联想到本节介绍的内容。

填充 ``<fill>`` 有两种方式/形式:填充颜色和填充图案。GMT中通常使用 ``-G<fill>`` 选项来填充颜色,本节以该选项为例。
填充 ``<fill>`` 有两种方式/形式:填充颜色和填充图案。GMT 的模块中通常使用 ``-G<fill>`` 选项来填充颜色,本节以该选项为例。

填充颜色
--------
Expand All @@ -30,7 +30,7 @@

对于GMT预定义的图案以及用户自定义的1位位图来说,可以用 ``:B<color>[F<color>]`` 设置图案的前景色和背景色,以分别替换默认的黑色和白色像素点。若设置前景色或背景色为 ``-`` ,则视为前景色或背景色为透明。

下图列出了GMT中预定义的90种位图图案(右键查看大图),所有图案都是使用默认的黑白色在 ``<dpi>`` 取300的环境下生成的。
下图列出了GMT中预定义的90种位图图案(右键查看大图并放大才能看到差异),所有图案都是使用默认的黑白色在 ``<dpi>`` 取300的环境下生成的。每张小图中左半部分使用 ``-Gp`` 绘制,右半部分使用 ``-GP`` 绘制

.. figure:: /images/GMT_patterns.png
:width: 600 px
Expand Down Expand Up @@ -58,7 +58,13 @@ GMT中通常使用 ``-G`` 选项填充多边形或符号。有两种填充方式
- ``-Gp300/7:BredF-``
- ``-Gp100/marble.ras``

说明:
读者可以将下面命令中的 ``<fill>`` 修改为不同的值并查看效果以理解这一节的内容::

#. 由于PostScript实现的限制, ``-G`` 选项里使用的光栅图片必须小于146x146像素;若要使用更大的图像,需要使用 ``psimage``
#. 在PostScript Level 1下,图案填充是通过使用多边形做路径裁剪实现的。复杂的裁剪路径会需要更多的内存,因而可能导致某些PS解释器由于内存不足而退出。在这种情况下,建议使用灰度填充区域。
echo 5 5 | gmt psxy -JX10c/10c -R0/10/0/10 -Baf -Sc2c -G<fill> > test.ps

.. note::

#. 由于PostScript实现的限制, ``-G`` 选项里使用的光栅图片必须小于146x146像素;若要使用更大的图像,需要使用 ``psimage``
#. 在PostScript Level 1下,图案填充是通过使用多边形做路径裁剪实现的。复杂的裁剪路径会需要更多的内存,因而可能导致某些PS解释器由于内存不足而退出。在这种情况下,建议使用灰度填充区域。

.. source: http://gmt.soest.hawaii.edu/doc/latest/GMT_Docs.html#specifying-area-fill-attributes
23 changes: 13 additions & 10 deletions source/format.rst
@@ -1,17 +1,18 @@
数据格式
========

既然是个画图工具,肯定要输入一些数据,这就牵涉到数据格式的问题了。
GMT 作为一个画图工具,肯定要输入一些数据,同时作为一个数据处理工具,也会输出一些数据。这就牵涉到数据格式的问题了。

GMT可以绘制一般的笛卡尔坐标轴、地图的经纬度轴以及绝对时间轴、相对时间轴。对于不同的坐标轴,需要的数据格式也不同。


地理坐标
~~~~~~~~

地理坐标(即经纬度)有两种表示方式:

#. 以浮点型的度数表示:比如 ``-123.45`` 代表-123.45度
#. 度分秒表示: ``ddd[:mm[:ss[.xxx[W|E|S|N]]]]`` 。其中, ``ddd`` 、 ``mm`` 、 ``ss`` 、 ``xxx`` 分别表示弧度、弧分、弧秒、弧毫秒。 ``W`` 、 ``E`` 、 ``S`` 、 ``N`` 分别代表西经、东经、北纬、南纬。例如 ``123:27:15.120W`` 表示西经123度27分15.12秒。
#. 度分秒表示: ``ddd[:mm[:ss[.xxx[W|E|S|N]]]]`` 。其中, ``ddd`` 、 ``mm`` 、 ``ss`` 、 ``xxx`` 分别表示弧度、弧分、弧秒、弧毫秒。 ``W`` 、 ``E`` 、 ``S`` 、 ``N`` 分别代表西经、东经、北纬、南纬。例如 ``123:27W`` 代表西经123度27分, ``123:27:15.120W`` 表示西经123度27分15.12秒。

绝对时间坐标
~~~~~~~~~~~~
Expand All @@ -24,15 +25,15 @@ GMT可以绘制一般的笛卡尔坐标轴、地图的经纬度轴以及绝对
#. ``yyyy[-jjj]`` :年-一年中的第几日,例如 ``2015-040``
#. ``yyyy[-Www[-d]]`` :年-第几周-该周内第几天,例如 ``2014-W01-3`` 、 ``2014-W01``

时间 ``<clock>`` 的格式为 ``hh:mm:ss.xxx`` ,例如 ``10:10:35.120`` 。
时间 ``<clock>`` 的格式为 ``hh:[mm:[ss[.xxx]]]`` ,例如 ``10:10:35.120`` 。

使用过程中需要注意:

#. GMT的时间数据的输入/输出格式默认为 ``yyyy-mm-ddThh:mm:ss.xxx`` 。若想要输入其他格式的时间数据,需要修改 :ref:`FORMAT_DATE_IN <FORMAT_DATE_IN>` 和 :ref:`FORMAT_CLOCK_IN <FORMAT_CLOCK_IN>` ;若想要输出其他格式的时间数据,需要修改 :ref:`FORMAT_DATE_OUT <FORMAT_DATE_OUT>` 和 :ref:`FORMAT_CLOCK_OUT <FORMAT_CLOCK_OUT>`
#. 若未指定 ``<date>`` 则假定 ``<date>`` 为今日
#. 若未指定 ``<clock>`` 则认为是 ``00:00:00``
#. 若指定了 ``<clock>`` 则必须要加 ``T``
#. 所有绝对时间在内部都会被转换成相对于某一时刻的秒数
#. 若指定了 ``<clock>`` 则必须要加 ``T`` ,比如 ``T10:20:34`` 表示今天的早晨10点多
#. 所有绝对时间在程序内部都会被转换成相对于特定时刻的秒数

下面举几个绝对日期的例子:

Expand All @@ -43,21 +44,23 @@ GMT可以绘制一般的笛卡尔坐标轴、地图的经纬度轴以及绝对
相对时间坐标
~~~~~~~~~~~~

相对时间坐标即相对于某个参考时刻的秒数、小时数、天数或年数。因而在使用相对时间时,首先要给定两个参数:参考时刻以及相对时间的单位
相对时间坐标即某个时间相对于参考时刻的秒数、小时数、天数或年数。因而在使用相对时间时,首先要给定两个参数:参考时刻以及相对时间所使用的单位

GMT参数 :ref:`TIME_EPOCH <TIME_EPOCH>` 用于指定参考时刻, :ref:`TIME_UNIT <TIME_UNIT>` 用于指定相对时间的单位。也可以用参数 :ref:`TIME_SYSTEM <TIME_SYSTEM>` 同时指定这两个参数。默认的参考时刻为1970年1月1日午夜,默认的相对时间单位为秒。

在指定了参考时刻后,相对时间就跟一般的浮点数没什么区别了。那如何区分一般的浮点数与相对时间呢?有两种方式:

#. 在数据后加上小写的 ``t`` ,比如 ``30t`` 表示相对时间30,单位由 :ref:`TIME_UNIT <TIME_UNIT>` 决定
#. 在数据后加上小写的 ``t`` ,比如 ``30t`` 表示相对于 :ref:`TIME_EPOCH <TIME_EPOCH>` 间隔了 30 个 :ref:`TIME_UNIT <TIME_UNIT>` 时间单位的时刻
#. 在命令行中使用 ``-ft`` 选项表明当前数据是相对时间,此时不需要在数字后加 ``t``

其他坐标
~~~~~~~~
一般坐标值
~~~~~~~~~~

除了上面提到的地理坐标、绝对时间坐标、相对时间坐标之外的其他数据,都简单地用浮点数表示,而不去在意其物理含义及单位。比如,5牛顿的力,5千克的质量,在GMT看来都只是浮点数 ``5`` 。
在绘制常规的笛卡尔坐标轴时,即输入数据不是地理坐标、绝对时间或相对时间时,输入数据可以直接用浮点数表示,而不去在意其物理含义及单位。比如,5牛顿的力,5千克的质量,在 GMT 看来都只是浮点数 ``5`` 。

这些浮点数坐标可以用两种方式表示:

#. 一般表示: ``xxx.xxx`` ,比如 ``123.45``
#. 指数表示: ``xxx.xxExx`` ,其中 ``E`` 可以用 ``e`` 、 ``D`` 、 ``d`` 替换,比如 ``1.23E10``

.. source: http://gmt.soest.hawaii.edu/doc/latest/GMT_Docs.html#data-domain-or-map-region-the-r-option
2 changes: 1 addition & 1 deletion source/glossary.rst
@@ -1,7 +1,7 @@
词汇表
======

在GMT中有不少与绘图有关的专业词汇。这些英文词汇没有固定的中文翻译,因而这里统一给出本文所使用的中文翻译,并在图中指出这次词汇的含义
在GMT中有不少与绘图有关的专业词汇。这些英文词汇没有固定的中文翻译,因而这里统一给出本文所使用的中文翻译,并在图中指出这些词汇的含义

.. figure:: /images/GMT_glossary.*
:align: center
Expand Down
Binary file modified source/images/GMT_pens.pdf
Binary file not shown.
11 changes: 4 additions & 7 deletions source/index.rst
Expand Up @@ -10,7 +10,7 @@ GMT |version| 参考手册
\listoftables
\cleardoublepage

欢迎来到 GMT(Generic Mapping Tools)的世界。
欢迎来到 `GMT <http://gmt.soest.hawaii.edu>`_ (Generic Mapping Tools)的世界。

本项目是GMT中文社区维护的GMT中文手册,既可以作为入门读物,也可以作为日常参考。希望通过阅读本手册,能够让用户尽快掌握GMT的用法。

Expand All @@ -19,13 +19,15 @@ GMT |version| 参考手册
- 社区主页:http://gmt-china.org
- 项目主页:http://docs.gmt-china.org
- 项目源码:https://github.com/gmt-china/GMT_Docs
- GMT官方主页:http://gmt.soest.hawaii.edu
- GMT官方手册:http://gmt.soest.hawaii.edu/doc/latest/index.html
- GMT模块手册: http://modules.gmt-china.org
- GMT图库: http://gmt-china.org/gallery/

**本手册的章节结构如下:**

- :doc:`preface`\ :介绍本文档的起源、文档约定以及阅读方式
- :doc:`introductions`\ :简单介绍GMT的基本信息
- :doc:`tutorial`\ :通过一些简单的示例帮助初学者快速入门
- :doc:`basics`\ :介绍GMT中的基础知识
- :doc:`advances`\ :介绍GMT中的进阶知识
- :doc:`options`\ :介绍GMT所有模块的通用选项
Expand All @@ -34,11 +36,6 @@ GMT |version| 参考手册
- :doc:`appendix`\ :与GMT相关但很少用到的一些知识
- :ref:`索引 <genindex>`\ :关键词索引,方便通过关键字查找

**除了本手册之外,还可以阅读GMT中文社区的其他资源:**

- GMT模块手册: http://modules.gmt-china.org
- GMT示例: http://gmt-china.org/gallery/

.. toctree::
:maxdepth: 3
:numbered: 3
Expand Down
4 changes: 4 additions & 0 deletions source/install-windows.rst
Expand Up @@ -29,3 +29,7 @@ GMT 为 Windows 用户提供了安装包,可以直接安装使用。Windows
3. 安装gsview

双击直接安装即可。

4. 安装 UnixTools

解压压缩包,并将解压得到的 exe 文件移动到 GMT 的 bin 目录即可。
4 changes: 2 additions & 2 deletions source/intro-docs.rst
Expand Up @@ -14,7 +14,7 @@

因而,我于2014年开始写针对GMT5的中文文档。新的GMT中文文档具有如下特点:

#. 开源:源代码用rST语言写成,并在GitHub上开源
#. 开源:源代码用 `rST <http://www.sphinx-doc.org/en/latest/rest.html>`_ 语言写成,并在GitHub上开源
#. 高质量排版:文档有网页版和PDF版,保证高质量的排版
#. 完整性:尽可能覆盖GMT的方方面面,成为一个完整的参考手册
#. 协同合作:依托强大的GitHub和Git,使得多人合作共同编辑同一份文档变得很简单
Expand All @@ -23,7 +23,7 @@

经过两年努力,文档的整体结构已经大体完成。我希望文档今后能够持续更新,不断完善,能随着GMT版本的升级而不断更新,但这些已非我一人之力所能完成。故而成立GMT中文社区,将维护工作转移至社区,希望能够有更多的志愿者加入到文档的维护工作中来。

本文档会针对每一个GMT版本发布相应的文档。目前最新的版本是GMT 5.3.1,读者可以从社区主页的 `下载页面 <http://gmt-china.org/download/>`_ 下载网页版和PDF版的文档供离线阅读。
本文档会针对每一个GMT版本发布相应的文档。目前最新的版本是GMT |GMT5_latest_release|,读者可以从社区主页的 `下载页面 <http://gmt-china.org/download/>`_ 下载网页版和PDF版的文档供离线阅读。

本文档会不断更新, `项目主页 <http://docs.gmt-china.org/>`_ 中总是展示最新最完善的网页版版本。

Expand Down
10 changes: 3 additions & 7 deletions source/io.rst
Expand Up @@ -13,11 +13,9 @@ GMT 每个模块都有很多输入和输出。总的来说,输入输出可以
表数据
------

英文称为table data,也称为列数据或多列数据,常用于表示点和线。
英文称为table data,也称为列数据或多列数据,常用于表示点和线。表数据中有N个记录,每个记录都有M个字段。

表数据中有N个记录,每个记录都有M个字段。表数据可以有三种形式:ASCII表、二进制表和netCDF表。

最常用的表数据形式是ASCII表,可以用编辑器直接编辑。ASCII表中有N行M列,每行是一个记录,每列是一个字段。一个记录内的字段之间用空格、制表符、逗号或分号分隔。
表数据可以有三种形式:ASCII表、二进制表和netCDF表。最常用的表数据形式是ASCII表,可以用编辑器直接编辑。ASCII表中有N行M列,每行是一个记录,每列是一个字段。一个记录内的字段之间用空格、制表符、逗号或分号分隔。

下面这个ASCII表数据有10行3列,三列数据分别代表经度、纬度和深度::

Expand Down Expand Up @@ -61,9 +59,7 @@ CPT文件的作用在于定义了任意一个Z值所对应的颜色,常用于
PostScript 代码
---------------

GMT的绘图模块会生成 PS 代码到标准输出流。为了将结果保存到 PS 文件中,需要将 PS 代码重定向到 PS 文件中。

PS代码几乎只能作为GMT模块的输出,偶尔可以作为输入。
GMT的绘图模块会生成 PS 代码到标准输出流。为了将结果保存到 PS 文件中,需要将 PS 代码重定向到 PS 文件中。PS代码几乎只能作为GMT模块的输出,偶尔可以作为输入。

警告和错误消息
--------------
Expand Down

0 comments on commit 711e816

Please sign in to comment.