在不使用栅格的情况下找到相对于多个点的不可访问性


9

我想从代表苏格兰城镇和村庄的一系列观点中找到一个“难以接近的观点”。使用FOSS GIS工具(QGIS,SAGA,GRASS,Postgres / PostGIS ...)。

这是离人口中心最远的地方。这将是不包含城镇的最大圆圈的中心,但边缘将具有城镇。

有一种有效的栅格方法-GDAL 接近滤镜。

有基于VECTOR的方法吗?不需要栅格化的一项?

这是我对栅格的尝试...

  • 从一个点层开始,以米为单位的合适投影(我正在使用OSGB,27700)
  • 添加一个名为“ one”的字段,并将其设置为常数值为1的整数。
  • 向量到栅格,使用-a并使用GEO而不是像素来编辑命令。确保像素为正方形!
  • 在邻近栅格(在本例中为1 km宽)上创建轮廓

这是它的样子。我用手画了一些候选点;-)

在此处输入图片说明

我以为可以解决重复的缓冲区(使用Multi ring缓冲区插件),但是我怀疑我没有足够的内存来使它起作用。

Answers:


7

我猜这是最大半径的三角形外圆的中心,接触不超过3个点。在下面的前11个图片中,显示了这样的中心。它们由其排名编号标记。

在此处输入图片说明

清除掉三角形之外的那些并定义冠军(即图片中的No3)就足够了。

STEVEN FINDING激发的更新:

在此处输入图片说明

上面的结果与在没有脚本(但具有高级许可证)的情况下在ArcGIS中获得的第一个解决方案不同,它可以正常工作!但是,它可能会在研究区域的边缘产生可疑的结果,例如,第1点,即找到的第二个最远点...


1
哇,谢谢分享!我试图通过(1)指向德劳内(遵循QGIS您的工作流程Vector | Delaunay Triangulation),(2)选择冠军三角(计算$area德劳内多边形的属性表上),并保存的最大的一个作为一个新的图层(3)找到外心(Processing | GRASS | Vector | v.voronoi.skeleton上冠军三角)。您认为这种方法正确吗?
Kazuhito

第一步是正确的。我计算了所有三角形的外圆中心。为了找到中心,我为所有3个边的中点构造了向内垂直的线,并找到了交点(组合3,2)。
FelixIP

外接圆的三角形,不外圆。
FelixIP '10

非常感谢!(并且也感谢您提供的精美图片。我越喜欢它的背景,就越能吸引人。)
Kazuhito

1
不错的观察!我将对其进行测试并更新答案。与第一个解决方案不同,它至少在Arcgis中不需要脚本。
FelixIP '10

5

这是跟进。感谢@FelixIP为我指出正确的方向!

使用来自澳大利亚的OSM数据,我能够找到澳大利亚大陆上的“无法到达的地点”-我将其与POINT的Akarnenehe,Bedourie和Mount Dare约260公里,位于POINT(137.234888 -24.966466)

在此处输入图片说明

我在QGIS中发现了一个相当简单的工作流,它结合了栅格方法和矢量方法。我相信类似的方法也可以在其他GIS中使用。

“啊哈”时刻来自于注意到这一点

最大值全部落在voronoi网格上的三点上-voronoi多边形的相邻三元组相交的点。

该方法如下:

  • 以米为单位进行投影。我使用了3857,不是理想的,但是我的OSM数据是这种格式的:)
  • 获取一个表示感兴趣的地方的图层(“城市”,“村庄”,“镇”,“村”)
  • 从这一层创建一个voronoi网格
  • 使用提取节点获取三点
  • 创建邻近栅格(如问题所示)
  • 将栅格裁剪到地形轮廓,因此将海洋像素设置为0。
  • 在提取的节点上对栅格使用点采样工具

然后使用Db Manager虚拟层在栅格上查找距离值最大的节点。

select 
    rowid,
    name,
    proximity2,
    st_astext(st_transform(geometry,4326)) as pt, 
    st_buffer(geometry, proximity2) as geometry
from 
    "samples" 
order by 
    proximity2 desc 
limit 1;
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.