使用QGIS执行多标准分析?


11

我必须进行多标准分析才能回答以下问题:“这是开发的最佳批次”。

一些标准是:

  • 最近的公交车站的距离(带有公交车站的点图层)
  • 最近的商店的距离(商店的点层)
  • 什么是洪水危险(多边形层,危险等级属性为1到4)
  • 自然保护区(多边形层)中的地段
  • 是所有者已经在自己的地盘上计划一些东西(在地块属性中手动输入的信息),依此类推...

我以为可以尝试使用QGIS,这是我的工作方式:

  1. 在我的地物图层属性表中添加以下列:

    • “ analysis_BUS”
    • “ analysis_SHOPS”
    • “ analysis_FLOOD”
    • “ analysis_PROJECT”
    • “ ...”
    • “ analysis_MEAN”
  2. 使用“多边形到质心”将地段转换为点

  3. 运行“距离矩阵”工具

  4. 打开CSV文件以在excel中运行操作(如果巴士站的坡度小于200m,则为1.0;如果超过750m,则为0.0;但我无法在QGIS中找到MIN()函数)

  5. 将生成的CSV重新加入QGIS中

  6. 对商店重复相同的步骤

  7. 运行“多边形中的点”工具以选择自然保护区中的所有点

  8. 将所有选定点设置为0.0

  9. 重复其他“在...区域”的条件

  10. 运行“空间连接”工具以合并洪水危险区域信息

  11. 使用列计算器运行计算以得到平均成绩(对每个标准使用确定的因子)

  12. 完成所有操作后,为每个条件重新添加一次BUILDING LOTS shapefile

  13. 对于每个条件,在LOT ID上加入转换后的图层(带质心的图层)

  14. 根据相应的标准属性和“平均等级”属性,将显示设置为从红色到绿色的渐变

现在,经过2天的辛苦工作,我现在将所有标准显示为绿色(如果是构建的好选择),红色则显示为(如果不好的选择),并且我将自己的所有标准汇总在一张美丽的红绿色地图中。(而且我的“ shapefiles”文件夹中也有很多乱七八糟的东西)

现在的问题。

如果 :

  • 我想在另一个公交车网络场景中尝试相同的分析吗?
  • 我收到一个更新的手形文件(假设所有13000个手形中有13个修改)
  • 我想为我的标准测试不同的重量吗?

我是否必须重新开始?

我正确使用了错误的工具,还是我正确使用了错误的工具?

使用商业GIS软件会更容易吗?


我明白了答复者/评论者的意思,但我并没有真正考虑使用栅格。

但是,主要问题更多地是在于尝试不同场景或更新基础数据而不必从头开始重新启动所有过程的能力。

似乎您的建议没有我建议的灵活(甚至可能更复杂),因为您有新闻步骤:-(针对每个标准)栅格化。-(最后)采样(如果要包括部分重叠,则非常复杂)


那个Sextante模型构建器看起来很棒。实际上,我在发表我的最后评论时确实在想类似的事情。

我已经大量使用了Grasshopper3D(与GIS软件无关),它是Rhino3D建模器的一个很好的插件,并且使用相同的节点图工作流构建概念。(示例:http : //designreform.net/2009/07/rhino-grasshopper-parametric-truss

这似乎非常适合许多GIS数据分析,以至于我希望看到GIS软件确实围绕这种节点图工具构建。

我期待尝试Sextante Modeler,并让您知道它的工作原理。我希望自己通过谷歌搜索找到它,但是我不知道关键字“模型构建器”。


2
重新更新:这里可能有一个正确的观点,但它的后半部分似乎使操作员的能力与软件的能力相混淆(请原谅我这么说)。该社区有许多活跃的成员,他们可以为您提供有关自动化程序的出色的,经验丰富的建议。我怀疑其中大多数人甚至都没有读完整个问题:这很长,而且大多数与您真正想知道的内容无关。您为什么不重新阅读有关如何提出良好问题的常见问题解答并相应地对此问题进行编辑?
ub

几年前进行了多标准分析。在上面写了一篇博客文章。可能对您有用。thadwester.com/1/post/2011/02/power-of-gis.html
Thad

Answers:


11

我建议为每个标准使用一个栅格层的栅格方法:

  • 公交车质量(从像素中心到最近的公交车站的距离)
  • 购物质量(到最近的商店的距离)
  • 洪水危险(栅格化多边形层,危险等级属性为1到4)
  • 保护区域(栅格化多边形层)

然后,您可以根据需要对各层进行合并和称重,并在您感兴趣的任何位置采样。

但是,主要问题更多地是在于尝试不同场景或更新基础数据而不必从头开始重新启动所有过程的能力。

如果有新场景,例如说“不同的总线网络”,则只需要重新计算一个栅格(总线栅格),然后让组合再次运行即可。那只是两个交互。

同样,一旦Sextante模型构建器稳定后,就应该可以构建一个模型来自动化所有步骤。您甚至可以立即对其进行测试。


然后,通过这种方法,您只需将栅格乘以权重(0-1)就可以根据需要添加权重
Ian Turton

同意使用栅格方法。同样,一旦确定了工作流程,就可以使用GRASS命令自动执行整个过程,并可以使用不同的输入来运行。grass.osgeo.org/wiki/...
spatialthoughts

4

就像iant所说的那样,具有地图代数的栅格可能是最简单的方法。

根据我的经验,在将所有输入数据转换成栅格后,您应该使用两种不同的类型进行一些重新分类:因素和条件

因子将介于最小值和最大值之间,从不太理想的值到更高理想的值(您可能会对所有值使用相同的值范围),例如:

F1-公交距离:1-非常远;2-很远;3-关闭;4-非常接近

F2-洪水危险:1-很高;2-高;3-低;4-非常低

条件将是仅具有零和一的二进制栅格(不适合,适合),例如:

C1-保护区:0-是;1-否

对于每个因素,您都应根据自己认为该因素在决策中的重要性给予权重:公交距离W1 = 0.4和洪水危险W2 = 0.6

最后使用地图代数,您要做的就是:

(C1 x ... x Cm)x(W1 x F1 + W2 x F2 + ... + Wn x Fn)

在获得第一个结果之后,您可能需要调整权重甚至因子值,因为多标准分​​析通常是高度主观的分析。



2

另请参见:GRASS GIS中的多标准决策分析(MCDA)支持,网址http://grass.osgeo.org/wiki/MCDA_in_GRASS

有一组专用于GRASS GIS 6的插件:ELECTRE(r.mcda.electre),REGIME(r.mcda.regime)和FUZZY(r.mcda.fuzzy)算法。此外,还有r.roughset模块,用于地理粗糙集分析和知识发现。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.