请问QGIS和GRASS在应用上有什么区别?


QGIS和GRASS是两块比较出名的开源GIS软件。新的项目打算使用其中一个作为基本的地图显示,但是不知道这两款软件各有什么侧重点,哪种用起来更为方便。

gis 区别 qgis grass

小虎逗你玩 10 years, 8 months ago

QGIS是一个很不错的开源桌面GIS软件

既然是开源GIS就和PostGIS有很好的结合.QGIS可以将Shapefile导入PostgreSQL,这样比在cmd里敲代码要舒服多了.QGIS还可以直接打开一个PostGIS图层,你可以检查shp导入是否完整正确,也可以直接编辑保存,并且可另存为一个Shapefile.这样就可以完全用QGIS来处理Shapefile在PostGIS里的导入导出和编辑.

QGIS和GRASS据说有很大的渊源,至少都是C语系的开源GIS.QGIS第一次使用要指定你在机器上安装GRASS的目录.我装了,但从没用过.我不知道不装GRASS能不能用QGIS.在QGIS里打开一个矢量图层后,选择图层菜单下的Toggle editing就可以开始编辑了,编辑完后再次选择Toggle editing会询问你是否保存更改.QGIS里每次新加一个要素都会跳出一个窗口让你填写属性,有点不习惯.

这里说一下QGIS里编辑要素的捕捉功能,网上似乎没有说明,有人还说没有这个功能.在制图里捕捉是一个很常用也很重要的功能,QGIS是有捕捉这个功能的,至少1.0.2版有.QGIS有两个捕捉选项设置.一个就是通常意义上的捕捉,比如把一个线的某个节点捕捉到另一个线的节点上,在设置菜单->项目属性->普通里面的Snapping options里设置; 另外一个是设置选择时候的捕获容差,你要选择一个节点的时候不可能很好的选在那个点上,所以设置一个容差,当你鼠标点在距某个点一定距离时就认为你是在选那个点,在设置菜单->选项->数字化里的Snapping设置.

这两个设置其实和ArcMap里是一样的,但ArcMap里分的比较清楚,前者叫Snap后者叫Selection Tolerance.QGIS两个都叫snap很容易把人搞混.不过有一点区别,ArcMap里Selection Tolerance是以像素为计算单位的,QGIS是以地图单位为单位,所以放大了选择可能很讨厌,动不动就选上了;ArcMap里Snap是以cm为单位,但我怀疑他是以屏幕上的距离而不是地图距离,因为我以一个平面坐标系的图层去试,放大到很大,snap还是要靠到比较近才捕上,地图上的距离其实已经很小了,QGIS还是以地图单位为单位,这样会导致缩小的时候很难捕捉上.看来商业软件还是要老练很多,很小的一个单位设置可能会对用户操作体验产生巨大的影响.另外在放大到很大后,比如比例尺大于100:1,QGIS需要较长的刷新时间,ArcMap要稍微好一些.

以上仅是自己操作的一些总结,不一定对.

至少到目前为止,对以数据生产为主要业务之一的单位来说,用QGIS来工作还是不合适的,更不要说生产后期的要素空间关系检查和快速处理了.

liu-tc answered 9 years, 10 months ago

Your Answer