我正在尝试查找用户经纬度为的X半径内的商店。我已经阅读了很多关于这个主题的问题,答案和文章。我的结果不必是针点准确的,但可能会出现误报,因为您可能会在地理栏中使用过滤器,这是不可接受的。纬度和长地理半径查询
鉴于上述要求,我没有看到需要使用地理数据类型并添加空间索引。我也不需要一个完美的圆半径。换句话说,一个边界框是可以接受的。所以我决定在这个来自Alastaira的solution谁有关于主题的非常丰富的会议here.
现在我的应用程序是使用CF EF4和SQL 2008R2的MVC。我本来想这样做的LINQ操作就像我会任何其他数据库的交互,但我诚实地在几步如难倒:
DECLARE @point geography = geography::Point(40.7316, -73.9920, 4326);
我不认为EF4支持地理数据类型,以便将肯定会使事情复杂化。
然后我开始思考......因为db是有点适合这种类型的计算,我应该只是将TSQL包装在一个SP中,然后我可以使用LINQ打开一个记录集?
这是我的第一个空间数据库操作,所以任何想法或建议是受欢迎的,将不胜感激。
如果sp是一个可行的解决方案,最好的实现方式的建议将会很好。