如何计算QGIS中的影响范围?


10

我正在尝试创建一个显示与最近商店相对应的多边形的多边形图层。

对于一组30个商店位置,结果应为具有30个要素的面图层,每个商店一个。每个要素将代表一个区域,在该区域中对应的商店最近。例如,多边形12内的地址表示商店12最近。

我的商店位置图层和OSM街道图层具有“最大速度”列。生成的多边形层应基于OSM街道层,而不仅仅是线性区域。

这个想法是,给定一组固定的商店和道路,最近的商店应在地图上的任何给定点保持不变。因此,我希望最终的多边形层将无间隙。

这段 Maptitude软件的视频提供了我要完成的工作的完美示例(快进视频的1:55)。或者,请参见下面的图像作为示例:

距医院最近的Maptitude地区

对于每个医院,都有一个相应的区域,该区域内的任何东西都最靠近该区域内的医院。

如何使用QGIS复制此内容?

Answers:


8

草算法v.net.alloc可以生成子网-您可以从“处理”工具箱中对其进行调用(已在QGIS 2.16中进行了测试)

您将需要一个点层(用于设施)和一个带有成本(时间/长度)的线层。它将创建一个新的线层cat,其中包含一个名为add 的字段,这将是最近的设施的ID。

这是一个基于到最近酒吧的步行距离的示例。每个线段均cat使用随机颜色进行着色:-

v.net.alloc示例

请注意,有时相邻的两个酒吧的道路网络会显示非常相似的颜色;如果标记了它们,您将看到它确实起作用。

至于获得上面显示的无间隙多边形,我很困惑。如果您在结果上“提取节点”并应用“凸包”(按类别分组),则将存在间隙和重叠。

编辑

您确实可以获得预期的结果。正如您在评论中建议的那样,您可以执行以下操作。

  • 在v.net.alloc的输出上运行Extract节点
  • 在提取节点层上运行Voronoi多边形
  • 在其上运行固定距离缓冲区,以确保多边形重叠(例如,缓冲区长1米)
  • 使用“ cat”字段在缓冲层上运行Dissolve

结果是...这不是完美的,有时您会看到部分道路网络误入相邻的多边形。

在此处输入图片说明

新的2.16 GUI中有一个“陷阱”,用于解决问题。我设置了领域,但似乎可以解决所有问题。您需要记住取消选中“全部溶解”复选框,否则该字段设置将被忽略。


这很有用,我当然可以在应用程序中使用结果。我将暂时关闭此窗口,以查看是否有一种以多边形结尾的方法。使用Voroni多边形工具是否有帮助?
ge0m3try 2013年

在您设施上的Voronoi只会根据“乌鸦飞过”时的欧几里得距离给出一个近似值,因此它实际上会忽略您的路网。
史蒂文·凯

我很好奇我是否要提取v.net.alloc结果上的节点,然后进行设置,然后根据唯一的设施标识符来分解投票多边形。道路数据集的大小非常大,因此我无法快速进行测试,但是与此同时,也许会有一些想法可能无法解决这个问题。
ge0m3try

实际上,您的直觉是正确的-尝试过。
史蒂文·凯

2
重要说明:此工作流程有些烦人之处,我想出了解决方法。不需要固定距离缓冲工具。SAGA Dissolve工具似乎比等效的QGIS快得多。而且,似乎还可以更快地Voronoicat字段划分图层,然后dissolve分别划分每个区域。Merge他们一起回来。然后,运行GRASS v.clean并选择该工具rmdupl以删除重复的节点。这一点很重要,否则其他过程(例如剪切,空间连接)将无法在合并的溶解的voronoi lauyer上正常工作。
ge0m3try
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.