1.首先定义一个点与点之间测算距离的方法 2.然后定义找出基本点和集合中最近的一个点的方法 3.取第一条数据即是最近的点的坐标 public class Location { public int id { set; get; }//地点的id public double lat { set; get; } public double lng { set; get; } public double distance { set; get; }//地点的距离 } private const dou
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { /// <summary> /// 公用的特殊函数 /// </summary> public class SpecialFunctions { #region 构造函数 /// <summary> /// 构造函数 /// </s
SQL 语句:select location.* from (select *,round(6378.138*2*asin(sqrt(pow(sin( (36.668530*pi()/180-px_lat*pi()/180)/2),2)+cos(36.668530*pi()/180)*cos(px_lat*pi()/180)* pow(sin( (117.020359*pi()/180-px_lon*pi()/180)/2),2)))*1000) as distance from bsx_tra
自定义经纬度索引(非RTree.Morton Code[z order curve].Geohash的方式) Custom Indexing for Latitude-Longitude Data 网络上有一些经纬度索引的文章,讨论的方法是用Geohash.RTree.Z-Order Curve(morton Code)等算法来将经纬度由二维变为一维的索引. 这篇文章介绍一种使用二维数据索引的方式来创建经纬度索引.前半部分讨论一种自定义的.使用二维数组的方式将经纬度变为一维数据,来加快索引. 文