C# 检查坐标是否在区域内

C# 检查坐标是否在区域内,c#,coordinates,latitude-longitude,area,C#,Coordinates,Latitude Longitude,Area,我有一个房地产面临的问题 我有一个真实世界的地址,我正在转换为地球坐标(例如“伦敦眼”到“-0.119543;51.503324”) 我还得到了我要搜索的周界或区域(例如,“10”是“10公里”) 现在我得到了一组坐标(在地球上完全随机),我想检查当前坐标是否在伦敦眼坐标的10公里范围内 有什么解决办法吗?或者我甚至可能面临一个问题?这似乎可以帮助您: 它基于,允许计算点之间的距离。不过,别相信我的话,我也没用过。有一个众所周知的解决方案 我想你也可以搜索同样的C代码。希望有帮助。您可以使用哈

我有一个房地产面临的问题

我有一个真实世界的地址,我正在转换为地球坐标(例如“伦敦眼”到“-0.119543;51.503324”)

我还得到了我要搜索的周界或区域(例如,“10”是“10公里”)

现在我得到了一组坐标(在地球上完全随机),我想检查当前坐标是否在伦敦眼坐标的10公里范围内


有什么解决办法吗?或者我甚至可能面临一个问题?

这似乎可以帮助您:


它基于,允许计算点之间的距离。不过,别相信我的话,我也没用过。

有一个众所周知的解决方案


我想你也可以搜索同样的C代码。希望有帮助。

您可以使用哈弗公式计算两点之间的距离:


但是对于速度,我认为您需要计算最大/最小经度和纬度值(即伦敦眼周围的一个正方形),因为如果要检查的点很多,计算速度会快得多。然后在这个小的点子集(在你的正方形内)上使用哈弗森公式,找出10公里内的点。

你可以用毕达哥拉斯公式来确定两点之间的距离——你就这么问了吗?还是你在寻求一种快速的方法?(你有数百万个点要检查吗?)或者你需要在坐标系之间转换吗?@MatthewWatson这不是关于路线或任何事情,我只是想“在我的中心点周围画一个n大小(例如:10公里)的圆圈,并检查我正在检查的任何其他点是否在该圆圈内”这对我帮助很大,谢谢。我现在只是测量点之间的距离,并认为它们是理所当然的。