Answers:
是的,简短的答案。您可以使用r.viewshed在GRASS中执行此操作。
但是,这听起来很像您在进行一些Windfarm ZTV(理论可视性区域)分析。如果正确,您也可以尝试OpenWind。这是一个出色且免费的实用程序,可能就在您的大街上。它不具备三大专有风电场分析软件包的全部功能,即:WindFarmer(由Garrad Hassan设计),WindFarm(ReSoft)或WindPro(EMD)。但是,对于最常见的任务(包括计算ZTV),它做得很好。
对于建筑物和林地,您将必须获取或估算高度,然后在很大程度上取决于您使用的确切系统。有些会解释矢量障碍物,但是如果不是这样,您可以通过添加建筑物和树木的高度来编辑DTM(但是请注意光栅分辨率-这样就不会过分估计障碍物的面积)。
最后,您可能需要重新考虑1.8m的视场高度。1.8m代表一个男人的平均身高...到他们的头顶。眼睛比那更低!除非客户绝对坚持要求或在需要时遵循特定的计划指南,否则我始终将1.5m用作更具代表性的成人眼高。考虑到DTM的可能分辨率和所涉及的距离,这可能不会有太大的区别,但是您可以要求更大的真实感:)
我假设您追求的是一种视域分析工具。查看Wikipedia页面以获取简要介绍。
据我所知,QGIS没有内置此功能,但是在http://pyqgis.org/repo/contributed中有一个可用的插件。不知道该工具是否适用于矢量数据,但是我想您总是可以进行转换。
同样,对于GRASS,有一个名为r.viewshed(http://grass.osgeo.org/wiki/GRASS_AddOns#r.viewshed)的插件应该可以执行此任务,但是我相信它仅适用于栅格数据。
我不能保证使用任何一种工具,但希望这可以为您指明正确的方向。
Sextante具有此功能,您可以在gvSIG,Kosmo或qGIS中使用它。我已将其用于风景秀丽的道路和野火塔的一些视场分析。