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