一个较难和算法问题. 已经一组经纬度数据(1W多条). 现在输入一个经纬度,找一个离此点最近的点
已经一组经纬度数据(1W多条).
现在输入一个经纬度,找一个离此点最近的点
经度 纬度
112.92248 28.17778
112.92274 28.17356
112.92089 28.1767
112.90476 28.22937
112.93131 28.23108
112.92346 28.22899
112.92125 28.22906
112.91535 28.22881
112.90412 28.22702
112.90625 28.22825
112.91412 28.22786
112.91149 28.22641
112.9106 28.22407
112.90894 28.21994
112.91038 28.22209
112.91143 28.22254
112.91611 28.22273
112.9229 28.22221
112.92581 28.22132
112.92729 28.2212
112.9289 28.21983
112.94791 28.18694
112.94635 28.1873
112.94581 28.18741
当然一条条计算距离行...那得计算机1W多次....有没有好一点的算法做呢?
------解决方案--------------------到112.95 28.18最近的
select top 1 * from tablename
order by SQUARE(经度-112.95)+SQUARE(纬度-28.18)
------解决方案--------------------计算机多少次是数据库生产商要解决的啊,我们就一句sql语句查出来就可以了
------解决方案--------------------关注一下