摘要: GRASS GIS (Geographic Resources Analysis Support System,地理资源分析支持系统) 是一个免费、开放源代码的地理信息系统(GIS),可用于处理栅格、拓扑矢量、影像和图表数据。 GRASS 在GPL下发布,可以...
GRASS GIS (Geographic Resources Analysis Support System,地理资源分析支持系统) 是一个免费、开放源代码的地理信息系统(GIS),可用于处理栅格、拓扑矢量、影像和图表数据。
GRASS 在GPL下发布,可以在多个平台上运行,包括Mac OS X、Windows和Linux。用户可以通过图形用户界面(内置的基于 X Window系统的 GUI 或通过 Quantum GIS)使用该软件的功能;也可以通过改进的 shell 直接使用它的模块。
当前的 GRASS 6 版本采用新的拓扑 2D/3D 矢量引擎并支持矢量网络分析。属性数据通过 .dbf 文件或基于 SQL 的数据库管理系统(如 MySQL、PostgreSQL/PostGIS 和 SQLite)来管理。该系统可以胜任3D矢量图形数据和立体像素的可视化。通过与 GDAL/OGR库的绑定,GRASS 支持多种栅格和矢量格式。其中包括 OGC-conformal简单要素,以实现与其他 GIS 软件的互操作。它也支持线性参考系统。
GRASS 开发团队是一个由来自很多地区的开发者组成的跨国群体。GRASS 是开源地理空间基金会最初的八个软件项目之一。
简介
GRASS (Geographic Resources Analysis Support System,地理资源分析支持系统)是最负盛名的开源地理信息系统(GIS)。以下是它的一些特点:
- GRASS 已经包含了 GIS 的所有桌面应用,功能强大。有人评价认为Grass的功能已经不弱于鼎鼎大名的ArcGIS,是否如此有待于用户自己去体验。
- Grass是遵守GPL的自由软件,因此任何人都可以免费的在网上下载使用,并且可以得到不断的更新和技术支持。这点尤其适合于教育系统,所以国外很多大学和科研机构都使用Grass来进行GIS教学和应用。相对于那些动辄需要几十万元人民币一套的具有知识产权的商业软件而言,GRASS 极具优势。
- Grass也具备GPL的第二个特点:不仅软件本身可以自由使用,而且提供整个软件的源代码。任何学校和科研单位都可以在 GRASS 基础上进行二次开发,开发者可以在二次开发的基础上拥有属于自己的知识产权作为教学,科研和商业上的用途。
- GRASS 可以和其它标准的GIS 应用方案兼容,例如 ARC/info 和MapInfo 等,可以相互交换数据,从而保证了学校原来投资的设备和应用方案仍然可以发挥作用,不会造成浪费。5) GRASS 是一个基于类UNIX 操作系统的GIS 应用方案,这可能是制约Grass更为广泛传播的一个重要原因。但我们要理解类UNIX系统是一个功能强大而稳定的操作系统,世界上最著名的服务器厂商如苹果、SUN、HP等都采用以UNIX 为基础的操作系统,对于 GIS 这样需要处理大量数据的应用程序使用UNIX 操作系统是最好的选择。Grass目前正在积极开发能直接运行在Windows操作系统上的版本。
- GRASS以前只以标准命令行输入方式运行,这种操作方式会让Windows用户很不习惯。但现在的Grass也可以运行图形用户界面。 不过高手们仍然更乐意以字符方式来操作GRASS。
GRASS GIS的官方网站: http://grass.itc.it
GRASS GIS网站中国镜像: http://grass.osgeo.cn
架构
GRASS 支持二维和三维的栅格和矢量数据。矢量数据模型是拓扑的,意味着面是由边界和形心定义的;在单一图层中边界不能互相重叠。
GRASS 被设计成一个运行环境,执行特定 GIS 计算的工具在其中被执行。不同于典型的应用软件,一开始执行 GRASS,用户就会面对一个 UNIX shell,其中包括一个为执行 GRASS 命令(被称为模块)提供支持的改良的环境。这个环境有一个状态,其中包括一些参数如覆盖的地理区域和使用的地图投影。所有的 GRASS 模块被执行时会读取这个状态,并被额外地赋予一些特定的参数(如输入和输出的地图,或者计算中使用的值)。多数 GRASS 模块和功能可以通过 GUI 操作,作为通过 shell 操作地理数据的另外一个选择。GRASS 发行版中包含超过 300 个核心模块,此外 GRASS 网站上提供了超过 100 个用户创建的附加模块。GRASS库和核心模块用C写成,其他的模块用C、C++、Python、UNIX shell、Tcl 或其他脚本语言写成。GRASS 模块在 Unix哲学下设计,因此可以被没有C语言编程知识的用户用 shell 脚本联合起来以创建更加复杂或专业的模块。
历史
GRASS 的开发可以追溯到 1982 年[1]。美国陆军工程兵团的一个分支——美国陆军建筑工程研究实验室(USA-CERL,1982-1995)开始开发 GRASS 以满足美国军方土地管理和环境规划软件的需要。在 1982 年到 1995 年间,USA-CERL 领导了许多美国联邦政府机构、大学和私人公司进行了 GRASS 的开发, 在其基础上开发了 GRASS 的核心组件。USA-CERL 在 1992 年完成了 GRASS 4.1,并在 1995 年之前发布了这个版本的五个更新和补丁。USA-CERL 也开发了 GRASS 5.0 浮点版本的核心组件。
USA-CERL 在 GRASS 4.1 版(1995)之后正式终止参与 GRASS。贝勒大学的一个团队接管了软件的开发,发布了 GRASS 4.2 版本。1999 年十月,从版本 5 开始,GRASS 软件原先的公有领域授权被更换为 GPL。
如今 GRASS 被用于全世界许多学术和商业领域,还有许多政府部门,包括 NASA、NOAA、USDA、DLR、CSIRO、美国国家公园管理局等。
现在 GRASS 的开发被分为稳定分支(6.4)、开发分支(6.5)和试验分支(7.0)。对于大多数用户推荐使用稳定分支。6.5/7.0 分支用于新特性的试验。