什么是地理围栏

一、地理围栏算法简介

地理围栏(Geo-fencing)是LBS的一种典型应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。地理围栏更侧重于对区域边界的界定,不再是以某点为圆心向外等距离画圆,而是准确勾勒出小区、写字楼等特定坐标的实际形状、区域及面积

1.1 地理围栏判断算法

围栏即一堆位置点,组成一个多边形。问题就可以抽象为判断一个点是否属于一个多边形区域内部。

目前最常见,比较高效的方法是射线法。主要是循环多边形的每条边进行求交运算,大部分边通过简单坐标比对直接排除。

1.2 射线法实现

射线法其实就是从判断点开始,向左边或者右边水平的做一条射线,判断该射线穿过多边形的次数,如果为奇数则认为该点在区域内部,如果为偶数则认为该点在区域外部。

img

实际上,点不需要与每一条边进行交点计算,一些特殊的边可以直接排除掉。

  1. 边与射线平行
  2. 边再射线的上边或下边
  3. 边在射线左边(右射线场景)
  4. 边的端点与射线相交

城市边界一般存储为geojson格式,关于geojson的介绍可以参考这篇文章:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值