../_images/logo_grass.png ../_images/OSGeo_project.png

GRASS GIS Quickstart

草地地理信息系统是一个强大的地理信息系统,让您可视化,管理,分析和编辑地理空间数据。

开始吃草

  1. 单击中的“草地”链接 Geospatial ‣ Desktop GIS 菜单。
  2. 在“Welcome to GRASS GIS”窗口中,为位置选择nc_basic_spm_grass7数据集,为地图集选择“user1”
  3. 点击 Start GRASS session .
screenshot

这会把草放进 graphical user interface (written in wxPython) .

小技巧

如果您使用的是具有非常小的显示(800x600分辨率)的上网本,则启动屏幕可能会出现一些问题,并且位置和地图集列表后面隐藏了[Start Grass]按钮。如果这种情况发生在你身上,解决方法就是拖动窗口的一角,使其变大一点。您可能需要将窗口向上移动一点,使其越过屏幕顶部才能进入房间(按住alt键并左键单击拖动窗口以移动它)。

显示地图

screenshot

进入后,从永久性地图集中选择显示栅格地图图层,例如“elevation”。

  1. 进入 GIS Layer Manager 窗口。
  2. 单击棋盘工具栏上带有“+”的按钮。
  3. 从“ 要显示的地图 ”下拉列表,然后单击 Ok .
  4. 单击工具栏按钮上的“+”和一条弯曲的多边形线,看起来有点像“V”。
  5. 从永久地图集中选择“RoadsMain”矢量图层,然后单击 Ok .

如果需要,右键单击栅格地图层,然后选择“缩放到选定地图”。

现在应该可以看到显示的地图了。

绘制立面轮廓

screenshot

回到 GIS Layer Manager 窗口点击 elevation 要选择的栅格图名称。然后在 Map Display 窗口,在缩放按钮的右侧 Map Display 工具栏是一个图标,上面有一个折线图和棋盘。点击并选择 剖面曲面图. 将自动搜索“@permanent”映射集。如果地图没有自动列出,请再次选择 elevation 映射为栅格层并按 Ok . 在 GRASS Profile Analysis Tool 窗口从左侧选择第二个按钮,它允许您设置轮廓线,单击它,然后在 Map Display 帆布。完成后,返回配置文件窗口。单击最右边的I/O按钮关闭配置文件窗口。

调整栅格图颜色

现在,您将看到新的栅格地图与高程栅格地图一起添加到图层列表中,但这次它将位于“用户1”工作地图集中。你可以取消勾选 elevation 图层的可见性复选框,这样两个栅格图层就不会相互绘制在一起了。如果新地图不自动渲染,请单击复选框以查看它。颜色可能不符合您的要求,所以让我们改变它们。在图层列表中选择分形DEM后,右键单击此栅格地图图层名称并选择“设置颜色表”。作为替代方案,您可以在 Raster 菜单选择 Manage colors ‣ Color tables . 在“定义”选项卡中,单击下拉列表中的“颜色表名称”选项,然后从列表中选择一个。“地形”或“SRTM”是不错的选择。完成后,单击[运行]按钮并关闭 r.colors 对话框窗口。然后颜色应该自动更新。

创建阴影地形图

screenshot

接下来,我们将创建一个我们之前看到的“海拔”层的阴影地形图。首先验证 computational region 在永久地图集中与感兴趣的栅格地图“高程”匹配。要执行此操作,请确保它已加载到主目录的层列表中。 GIS Layer Manager 窗口,右键单击其名称并选择“从选定地图设置计算区域”。您将注意到图层管理选项卡将切换到文本控制台以显示新设置。单击底部的“layers”选项卡返回图层列表。

Raster 菜单选择 Terrain analysis ‣ Compute shaded relief (地形分析大约在 Raster 菜单),将出现模块控制对话框。选择“Elevation”@Permanent*地图作为输入名称,并指定“Shaded_Relief”作为输出地图。完成后,单击[*运行]。现在你应该找到新的 shaded_relief *@用户1*地图添加到图层列表中。取消勾选其他栅格图层以仅显示新创建的着色浮雕栅格图层。

添加流域和溪流

再次选择 elevation *@永久*地图。如果在上一步之后更改了区域,请再次右键单击层名称并单击 Set computational region from selected map(s) 从上下文菜单中考虑用于Watsershed计算的完整映射。

注解

WXGUI地图显示的视图和缩放是独立的,不影响处理计算。随时检查计算区域 Settings ‣ Region ‣ Display Region ;这对任何栅格网格操作都至关重要。不同边界和分辨率的栅格图将被实时重采样到当前的计算区域。

下一步,在 Raster 菜单选择 Hydrologic modeling ‣ Watershed analysis . 这将打开 r.watershed 模块。选择 elevation 图层作为输入地图,在相同的“输入”选项卡中设置“外部流域的最小尺寸” threshold 到10000个单元格,然后在“输出”选项卡中输入“高程流域”作为“流域名称栅格图” basins 选项和“输出流段栅格图名称”的“高程流” streams 选项就在下面。然后单击[运行]。

回到 GIS Layer Manager 窗口检查这两个新的栅格图是否在图层列表中,并确保在图层名称左侧的框中勾选显示盆地地图。你现在可以解开溪流地图。下一步,右键单击“Elev.Basins”栅格地图图层名称,然后选择“Change Opacity Level”。将其设置为大约50%,这将重新呈现地图显示。如果您希望将地图图层绘制在流域地图图层的后面,请将地图图层(如先前创建的着色地形图)拖动到图层列表中的下方,并确保勾选其可见性框以将其作为背景查看。

screenshot

GIS Layer Manager 窗口点击 Add various overlays 按钮和 Add grid layer. 对于网格大小,输入5000(以地图单位表示,这里是米)。一次压榨 OK . 也可以更改网格线和文本标签的颜色。

要添加scaleBar,请转到 Map Display 窗口并按“添加地图元素”按钮,在先前选择配置文件工具的位置右侧,然后选择“显示/隐藏scalebar”,然后单击 Ok . 比例尺将显示在地图画布的左上角。向下拖动到右下角。

现在你可能在想这些字体有点裸露。很容易固定在 GIS Layer Manager 菜单打开 Settings ‣ Preferences 在“地图显示”选项卡中,单击“[设置字体”按钮,选择一个(例如dajvu sans-bold),然后在“首选项”窗口中选择“保存”或“仅保存此会话”。您必须进行完整的重新渲染才能看到更改,因此请单击“重新渲染”按钮中的第一个 Map Display 窗口。现在字体会更漂亮。

使用向量模块

上述任务仅涵盖了几个栅格模块。不要让这给你一个想法,格拉斯地理信息系统只是为栅格地图-矢量引擎和模块是每一位功能齐全的栅格。格拉斯地理信息系统保持一个完全拓扑矢量引擎,允许各种非常强大的分析。

screenshot

继续上面创建的流域,接下来我们将把它们转换成矢量多边形。在 Raster 菜单选择 Map type conversions ‣ Raster to vector . 在 r.to.vect 打开的对话框确保 elev.basins @user1 为输入映射选择,为输出映射提供一个类似的名称 basins_areas (矢量图名称必须符合SQL,因此不允许所有字符),并将“输出特征类型”更改为 area. 在 Attributes 选项卡勾选该框,以使用栅格值作为类别编号(即ID),因为这些值将与先前创建的流段栅格图中的值匹配。然后单击[运行]。显示新的矢量图后,可以在 Layer Manager 列出并将其不透明度级别更改为50%。

调整矢量地图颜色

正如我们之前对栅格图所做的那样,我们将更改新流域流域矢量图的颜色表。与 basins_areas 在图层列表中选择,右键单击此矢量地图图层名称并选择“设置颜色表”。在“定义”选项卡中,单击下拉列表中的“颜色表名称”选项,然后从列表中选择例如“bcyr”(蓝-蓝-黄-红)。完成后,单击[运行]按钮并关闭 v.colors 对话框窗口。您可能需要重新绘制地图以查看彩色矢量地图。

screenshot

管理属性

接下来,我们将向这些新区域添加一些属性,其中包含每个流域的平均高程。在“向量”菜单中,选择 Update attributes ‣ Update area attributes from raster . 使用 basin_areas 作为矢量多边形映射,并选择 elevation 用于计算统计数据的栅格图;将“新属性列的列前缀”设置为 elev ,然后单击“[运行”;完成后关闭对话框。您可以在 Map Display 窗口,使用左侧的第四个图标,并在验证是否在 Layer List, 单击地图画布中的向量区域。

现在,您可以使用 v.colors 模块。在“向量”菜单中,选择 Manage colors ‣ Color tables . 选择 basin_areas 对于输入矢量图,作为“源值”选择 attr 而不是 cat . 然后,在“定义”选项卡中选择 elev_average 包含数值范围的列的属性列。我们要复制的颜色 elevation 栅格图,所以我们选择它作为“从中复制颜色表的栅格图”的名称。单击[运行]后,需要刷新地图显示(左起的第一个图标)以查看更新的流域地图。

现在让我们更详细地看一下属性表和SQL生成器。在 Layer Manager 单击表格图标(“显示所选矢量图的属性数据”),它是最下面一行左边的第二个。这将打开附加到所选矢量图的数据库表的视图。现在我们只做一个 Simple 数据库查询,查找流域,但没有太多变化。在哪里说 SELECT * FROM basin_areas WHERE 挑选 elev_stddev 从标准偏差统计的下拉列表中,选择 < 从关系列表和文本框中输入 < 50 然后单击[应用]。您将注意到窗口底部信息栏中加载的记录数已经减少,并且标准偏差(标准偏差)值较大的所有行现在都已从显示的表中消失。右键单击表数据并选择 Select all . 再次右键单击表数据,这次选择 Highlight selected features . 您应该看到,例如冲积洪水盆地和台地出现在 Map Display .

查看三维可视化

screenshot

要启动3D可视化套件,请选择 elevation 在中映射为栅格高程 Layer list 另外突出显示条目,然后在 Map Display 打开“3D视图”(位于工具栏右端)。加载三维显示界面后,您将看到三维视图显示控件的几个选项卡。接下来选择“数据”选项卡并将精细分辨率设置为“1”(值越低,分辨率越细),然后在“视图”选项卡上移动定位圆盘和高度滑块以获得不同的视图。

要在DEM顶部覆盖地图、卫星或航空图像,请在“数据”选项卡中选择作为DEM的名称。 Surface Attributes 在永久地图集中绘制覆盖图“土地用途”是一个不错的选择。新视图将立即呈现。由于该区域相对平坦,可以返回“视图”选项卡并增加Z放大(“Z-exag”)。

为了在三维视图中轻松导航,请打开地图显示工具栏中的“旋转三维场景”,然后使用鼠标移动视图。

尝试的东西

虽然这里没有介绍,但是您可能希望尝试使用magraphic Composer和面向对象的图形建模工具(提供了导出到Python的功能)。您将在 Layer Manager window. Further details can be found in the wxGUI 帮助页面。

API

wxgui是用python编写的,如果您是python编程的爱好者,那么您可以使用许多优秀的工具和API。在底部的 Layer Manager 窗口点击 Python shell 标签和类型 help(grass.core) 查看核心gis python库中可用的许多函数的列表。除了核心的地理信息系统功能外,还有 array (努皮) db (数据库) raster, 和 vector 可用的库。供高级使用 Pythons Ctypes 支持允许Python程序员直接访问Grass GIS的大量C库。有关编程选项的详细说明,请参阅手册页。

命令行

在GRASS终端会话中,通过输入“v.clean--help`”来尝试一个GRASS模块,这将为您提供一个模块选项列表。GRASS命令行是GIS真正强大的地方。GRASS被设计成允许在脚本中将所有命令绑定在一起,以执行大批量处理作业。流行的脚本语言是bourneshell和Python,其中包含了许多帮助简化脚本编写的巧妙技巧。有了这些工具,您只需花费5分钟的代码就可以创建一个新的GRASS模块,并配有强大的解析器、GUI和帮助页面模板。

g.manual -i “将使用模块帮助页启动Web浏览器。完成后,关闭浏览器并在Grass终端提示处键入“exit”以离开GIS环境。

接下来呢?