点与多边形的叠加分析

一个点图层与一个多边形图层叠加,计算每个多边形中有多少个点,是一个很长见的操作。但是如果没有意识到点落在多边形边界上的特殊情况,很可能,你会得到一个错误的结果。


的

比如看这个情景,多边形代表一些地区,点表示房产,每个点有个hhsize的属性,表示这个房产中有多少人。最后需要计算每个地区中的人数。

上图,把hhsize符号化表示出来。


具体方法很多,但比较“标准”的做法,是使用spatail join,如下图



比较重要的就是对hhsize使用merge rule,对于这个结果,有个地方可以注意到,hhsize的总和,变化了,原本是1621,但是在做了sptial join以后,竟然是1670,变多了,显然是有的hhsize被重复计算了



回过头来,看原始的数据,

这样看,就一目了然了,蓝色的八角星,就表示了位于边界上的点,这样的点上的hhsize就被重复计算,具体来说点A,位于5和6的边界上,A的hhsize就被重复计算了


那么怎么解决这个问题??


首先先定义这个问题,其实如果能够保持没有这样的意外的点,spatial join可以工作的很好,所以,首先看这种不好的点,是否存在



当然,在arcgis里这个问题很简单,使用select by location就可以解决


如果无法修改数据的话,那就要另一种方法来解决这个问题了,就是临近工具


arcgis 的临近工具,如near和generate near table,都有一个很有意思的特性,当如有两个feature是一样的距离的时候,他会随机的选择一个,作为最佳的选择,因此,就可以利用这一点来解决这个问题。



好,上图就是解决这个问题的model


最后,可以总结一下,

1,用Select By Location来判断是否有会引起错误的点

2,如果没有这样的点,Spatail join运行的很好

3,如果有这样的点,可以考虑使用这个model

4,注意使用统计功能来验证输入与输出




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值