我有一个以lat和long格式存储位置的关系数据库。根据当前给定的点,我必须从db中找到位于给定位置“x”kms范围内的位置。任何指针如何开始? Places API?
答案 0 :(得分:0)
在Microsoft SQL Server上,您有geographic functions。您可以使用这样的T-SQL脚本:
DECLARE @givenLatitude float
, @givenLongitude float
, @givenLocation geography
, @maximumDistance float ;
SET @givenLatitude = ... ;
SET @givenLongitude = ... ;
SET @givenLocation = geography::STGeomFromText('POINT(' + CAST(@givenLongitude AS VARCHAR(20)) + ' ' +
CAST(@givenLatitude AS VARCHAR(20)) + ')', 4326) ;
SELECT *
FROM Locations
WHERE geography::STGeomFromText('POINT(' + CAST([Longitude] AS VARCHAR(20)) + ' ' +
CAST([Latitude] AS VARCHAR(20)) + ')', 4326)
.STDistance(@givenLocation) <= @maximumDistance ;