抽象问题:在 map 上定义一些(非矩形,非圆形)拓扑封闭区域。找出查询该 map 的方法,如果经度/纬度在边界内,它会返回 true。
应用问题:
假设我们正在处理报童的报道。为每个报童定义了一个覆盖区域,我查询每个房屋地址以查找谁为哪个地址提供服务。
我正在寻找关于如何最好地做到这一点的建议/提示/技巧(现实世界,非常有用的 API 和工具将不胜感激)。
因此,首先定义边界,然后允许地址查询特定边界内的成员资格。
最佳答案
我们有一个 map 软件在工作,我们解决了这个确切的问题(显然与报童报道在不同的领域)。我们找不到开箱即用的解决方案,因此我们实现了自己的解决方案。
我们通过将地理区域定义为点集(以纬度和经度给出)并在多边形方法中使用光线转换点来解决这个问题。
http://en.wikipedia.org/wiki/Point_in_polygon
数学并不太复杂,但涉及相当多的设置工作。
Google 快速搜索显示了这个示例代码以供实现:
http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html#The%20C%20Code
祝你好运!如果需要,我很乐意澄清任何事情。
关于algorithm - 用于创建和检查地址是否位于 map 上指定边界内的工具/建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6247573/