访问量: 199 次浏览
1.GRASS 已经有将近 40 年的历史;
2.GRASS 继续提供创新的 GIS 支持;
3.GRASS 的开源模型使其对研究和企业具有强大的作用;
4.持续支持意味着它可能会继续提供创新的 GIS;
地理资源分析支持系统(GRASS)工具自1982年以来一直在发展, 后经学者制定了美国联邦机构的主动性和忠实用户的一个财团。 它不仅是最古老的持续使用的 GIS 工具之一, 同时还在继续提供创新功能,GRASS 将在未来几年继续成为强大的 GIS 开源项目。
在基本层面上,GRASS 是一个光栅矢量和地理空间处理引擎, 令 GRASS 如此强大的原因在于其可以为用户在不同级别上工作, 对于想要直接使用它或作为其他工具的一部分的用户来说非常灵活。
例如,它可以与QGIS集成,作为后端分析工具, 可从其他软件中的脚本调用使用 GRASS 部署栅格和矢量操作的函数。 实际上,用户可以自由地直接部署栅格和矢量 GIS, 或者将 GRASS 作为其他软件的一部分应用。
对于那些选择直接使用 GRASS 进行 GIS 分析的人, 该工具创建了所谓的位置,这是一个遗留名称, 指的是用户定义的给定地理区域,并创建了存储地理空间数据的空间, 有助于通过分离工作来保持项目和地理参考数据的清洁, 但从 GRASS 8.0 开始,菜单设置将可与 QGIS 和 ArcGIS 等工具相媲美。
GRASS 有自己的矢量和光栅格式,但可以与大多数其他格式一起使用。 与典型的矢量模型不同,其包含一个矢量拓扑模型, 可帮助矢量数据共享公共边界,允许它们关联并了解共享数据, 例如矢量数据中的公共边界。GRASS 矢量模型还可以存储 3D 数据。 可以包含多个属性表并使用此模型动态矢量化栅格数据, 从而更轻松地包含了解其他级别的多个级别的信息。 该应用程序使用GDAL/OGR转换矢量和栅格数据模型并将其导出到外部使用。 例如,可以在 GRASS 矢量模型和普通 shapefile 之间进行转换。
在栅格方面,GRASS 在栅格数据中应用了多层函数, 而不是使更复杂的信息与给定的栅格层相关联。 例如,可以附加颜色表, 多波段航空或卫星图像甚至时间序列数据可以跨应用层链接, 以便其可以在分析中关联。这具有链接类似数据并协助诸如层间平均、 体积测量和其他多层地理空间功能之类的测量的优点。
GRASS 拥有完善的栅格函数库,可以快速计算面积、体积、 能量流入和常见的地质统计指标,甚至包括数据的标准化, 例如用于调整数据中的云覆盖。其他功能包括在 GRASS 使用的 2.5D 栅格模型中合并要素计算,设置表面要素是否包含在表面高程模型中的规则。 它甚至具有内置的建模功能,例如可以在分析中直接链接的地下水模型。
传统 GIS 工具的一个问题是导入过多数据,尤其是栅格数据, 这不仅会显着降低系统速度,还会导致系统崩溃。 为了解决这个问题,GRASS 允许用户注册栅格数据并根据需要使用它们, 从而最大限度地减少性能损失。GRASS 对数据需求敏感, 例如可以在单个视图中导入整个地球的航天飞机雷达地形任务 (SRTM) 高程数据,但使用数据缩减工具压缩数据, 允许在正常情况下可视化 250 GB 的数据桌面内 具有接近所需内存要求的任何地方。
GRASS 还设置为与远程服务器通信以获取栅格和矢量数据, 包括 Web 地图服务 (WMS) 和 Web 要素服务 (WFS) 服务器。 此外,该工具在拓扑 GRASS 引擎和其他非拓扑引擎之间使用 OGR , 并连接到 PostGIS 等数据库工具。为了显示特征数据, GRASS 允许使用 GRASS 监视器等工具可视化信息。 如果需要,可以通过导出信息来合并其他强大的可视化工具, 例如 Matplotlib、Octave、R 和其他工具,以帮助进行数据可视化。
大约三分之一的 GRASS 是用 Python 编写的; 但该工具可以为用户集成和应用其他语言和脚本, 包括 Shell 脚本、C、C++、Octave 和 PHP。 GRASS 应用了一个解析器,它不仅可以解析命令标志, 还可以灵活地给出命令,不需要给定的顺序。 解析器可以为提供的脚本生成输出甚至描述。 另一个特性使 GRASS 能够集成 Actina, 它允许将 Shell 或Python脚本转换为 JSON 数据包。 这允许 GRASS 为用户提供可以导出的各种语言的不同脚本。
未来,GRASS 将继续改进其图形界面, 以便用户可以将该工具用作独立功能, 同时还可以访问其强大的后端功能。 虽然 GRASS 在学术界拥有忠实的追随者,但它也是商界的重要工具。 它在其他工具中的持续支持和集成,同时具有独立的栅格和矢量功能, 可能意味着我们将继续看到 GRASS 在未来几年继续保持其作为重要 GIS 工具的地位。