我遇到了房地产问题。
我有一个真实的地址,我正在转换为地球坐标(例如“伦敦眼”到“-0.119543; 51.503324”)。
我还要搜索一个周边或区域(例如“10”是“10公里”)。
现在我得到了一堆坐标(地球上完全随机),我想检查当前坐标是否在伦敦眼坐标的10公里范围内。
有没有解决方案,或者我甚至面对x-y-problem?
答案 0 :(得分:1)
这似乎可以帮到你: http://www.doogal.co.uk/dotnetcoords.php
它基于http://www.jstott.me.uk/jcoord,允许点之间的距离计算。不要相信我的话,也没用过。
答案 1 :(得分:1)
您可以使用Haversine公式计算两点之间的距离:
http://www.stormconsultancy.co.uk/blog/development/code-snippets/the-haversine-formula-in-c-and-sql/
Nearest GPS coordinate based on distance from a given point
然而,对于速度,我认为您需要计算最大/最小经度和纬度值(即伦敦眼周围的方形),因为如果有很多要检查的点,这将更快地计算。然后在这个小的点子集(在你的方块内)使用Haversine公式来找到10公里内的点。
答案 2 :(得分:0)
这个问题有一个众所周知的解决方案。 Haversine_formula
我认为您也可以搜索相同的C#代码。希望它有所帮助。