如何在QGIS或R中创建连续区域制图?


21

这是我想要实现的(右侧):

http://junkcharts.typepad.com/.a/6a00d8341e992c53ef0162fd6913e8970d-pi

我正在寻找一种工具或方法来将shapefile(使用QGIS或R)转换为这种形式。并且请注意:这不仅是剪切六边形网格或六边形网格!每个六边形应代表一个度量的相等数量(例如,每个六边形代表5,000棵树)。

也许您知道替!http://scapetoad.choros.ch/ 因此,我基本上想产生与scapetoad类似的输出-但具有受限制的grid(?)。

编辑:提到QGis和R并不是一个限制-它只是我在寻找解决方案的地方。我当然对任何工具,方法或建议感到满意!


4
您引用的图像上的标题为您命名(至少是通用名称);该scapetoad页面的标题也是如此:它是“图表”。更具体地说,它是使用六边形元素的(连续)区域制图
ub

此参考对我在[r]中执行此操作非常有用!
jsta

Answers:


7

稍微令人满意的过程:

  1. 使用“基于扩散”的方法(如替身蟾蜍)制作制图。

    在QGis中:

  2. 创建六边形层[插件> Qmarxan>创建计划网格](使用适当/所需数量的六边形)。编辑:根据地图的目的,Qmarxans网格的质量可能令人怀疑。该mmqgis插件产生更好的结果(多边形完全一致)。

  3. 将六边形层与制图相连[矢量>数据管理工具>按位置连接属性]

  4. 现在,新的六边形层具有制图的所有属性/属性,并且可以单独访问每个子单元。

  5. 为了更好地保持子单元的形状,可以进行一些手动调整:选择六边形并直接在属性表中更改属性。如果图层是半透明的,并且原始的基于扩散的制图如下所示,则此步骤效果最佳。

  6. 将一个子单元的六边形合并为一个单元:1.选择一个子单元的所有六边形(如果有很多,请使用属性表进行选择)。2.“切换编辑”>“合并所选功能”。

主要缺点b)仍然存在-但是a)已经解决,并且在某种程度上c)不再是大问题,b / c这种方法并不需要那么多时间。

编辑:步骤4。(然后着色)导致此结果(顶部为透明六边形层,下方为“基于扩散的”制图): “边界问题”的插图

明亮的绿色六边形显然占据了很多...

有什么想法可以实现“联接属性”的更好/定制的匹配吗?-我正在寻找一种为算法提供某种阈值的方法(例如:> 50%的面积)。


我可以保证这种方法,我已经成功完成了。没有找到令人满意的方式将六边形在空间上连接到具有最大重叠的多边形;我怀疑这需要postgresql / postgis(按位置加入属性刚匹配它找到的第一个,可能不是最佳选择)
Steven Kay

2

同时,我将介绍到目前为止的想法:

  1. 使用“基于扩散”的方法(如替身蟾蜍)制作制图。

    在QGis中:

  2. 创建一个点层[矢量>研究工具>正则点]。

  3. 带有地图的裁剪点层。

  4. 创建六边形层[插件> Qmarxan>创建计划网格](使用适当/所需数量的六边形)。

  5. 计算每个多边形的点数[矢量>分析工具>多边形中的点]。

  6. 在六边形层的层属性中:应用基于规则的标记(或剪切)[过滤器:“ PKTCNT”> = 1]。

到目前为止,这就是我所拥有的。

缺点是:

a)这只是整体形状(必须再次计算出子单元...)

b)六边形的数量在某种程度上与实际度量有关,并且更糟

c)如果我想更改度量单位(例如,而不是每个六角形5000棵树,现在我希望每个六角形100000棵树=进一步降低复杂性/细节),则必须再次执行整个过程。

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.