.NET 地理定位库

.NET Geolocation Library

我有一组由 post 代码指定的数百个英国位置。我需要在给定英国位置的 n 英里范围内找到那些。我有 google 地图 api,因此我可以将 post 代码转换为 long/lat 坐标。我知道数据库平台具有各种地理空间功能(MsSqlSpatial、PostGIS 等),但我想避免任何特定平台,因为我的应用程序目前与数据库无关(感谢 FluentNHibernate)。

是否有开源库可以让我在内存中查询空间数据集?数据集总是相当小,所有位置都在英国,所以也许我可以使用北距和东距?

对于您不关心查询性能和空间索引(即完全 table 扫描没问题)的小型数据集,只需使用 Haversine formula 计算您的位置和邮政编码之间的距离.

你应该参考this SO question

这不使用 .NET 库,而是使用 SQL 函数。但是,您可以提取数学公式来实现您自己的 "point in circle" 算法。

几个月前我根据自己的需要对其进行了调整,效果非常好。