我可以帮助您翻译以下内容:
我有两个GPS坐标,想要计算它们之间的距离,但是在SQL服务器上的结果与C#中的结果完全不同。我搜索了一下并发现这两种方法都返回以米为单位的距离,但是这种差异让我感到很困扰。
SQL SERVER查询
select geography::Point(25.3132666, 55.2994054 ,4326)
.STDistance(geography::Point(25.25434, 55.32820,4326)) as Distance;
Web API
String format = "POINT(25.25434 55.32820)";
DbGeography myLocation = DbGeography.PointFromText(format, 4326);
var users = context.Users.Select(u => new
{
fullName = u.name,
lat = u.location.Latitude,
lng = u.location.Longitude,
distance = myLocation.Distance(u.location)
}).ToList();
响应
,{"fullName":"jons smith","lat":25.3132666,"lng":55.2994054,"distance":4133581.8647264037}
提前致谢。