Sql 计算公制区域内的所有纬度和经度
我知道从lat/long到公制的计算有很多线索。这解决了我问题的第一部分 我的问题的第二个(主要部分)是:Sql 计算公制区域内的所有纬度和经度,sql,google-maps,google-maps-api-3,geolocation,distance,Sql,Google Maps,Google Maps Api 3,Geolocation,Distance,我知道从lat/long到公制的计算有很多线索。这解决了我问题的第一部分 我的问题的第二个(主要部分)是: 我有谷歌地图作为地图应用 我有一对长的a点 我有一个公制距离,比如说30米 我需要一些要点来执行sql查询 为什么? 我有许多POI记录,可以通过这对lat和long来定位。我不想得到所有的结果(原因:更好的性能) 有没有一种方法可以做到: select * from myTable where lat> .... and lat < ... and long > .
- 我有谷歌地图作为地图应用
- 我有一对长的a点
- 我有一个公制距离,比如说30米
- 我需要一些要点来执行sql查询
select * from myTable where lat> .... and lat < ... and long > ... and long < ...?
从lat>所在的myTable中选择*。。。。和拉丁美洲。。。和长>。。。还有长。。。?
这可能吗?如果是,我如何在…
中获取这些值
问候 看看这篇文章: 问题是:
以下是一个示例查询,返回供应商lat/lng和lat/lng对数据库之间的距离:
DECLARE
@Latitude float,
@Longitude float
SET @Latitude = 46.51257000000000
SET @Longitude = -84.33660900000000
DECLARE @SampleData TABLE
(
Name varchar(100),
Lat float,
Lng float
)
INSERT INTO @SampleData
(Name, Lat, Lng)
SELECT 'Point1', 46.52450048415351,-84.35223018530274
UNION
SELECT 'Point2', 46.51835838382206,-84.30279170874024
UNION
SELECT 'Point3', 46.522138220045285,-84.2622796237793
UNION
SELECT 'Point4', 46.54056115608927,-84.223140829834
SELECT
Name,
Lat,
Lng,
-- using spherical law of cosines, where 6371 is the earth's radius in km. Returns km.
Distance = ACOS(SIN(RADIANS(@Latitude))*SIN(RADIANS(Lat))+COS(RADIANS(@Latitude))*COS(RADIANS(Lat))*COS(RADIANS(Lng-@Longitude)))*6371
FROM
@SampleData
好的,看起来和我的问题很相似。(但解决办法并没有那么好。)总之。谢谢+1.