以度为单位存储的是地理坐标系(球面),以米为单位存储的是投影坐标系(*面)。
常见的地理坐标系有:WGS-84。
常见的投影坐标系有:web墨卡托。
https://www.jianshu.com/p/0c1cec78c345
以度为单位的好处是精确。
以米为单位的好处是符合人类的对单位的认知。
那么两者之间是如何转换的呢?
例如WGS-84转web墨卡托(度分秒转米制单位):
//经纬度转web墨卡托 public static Point lonLat2WebMercator(double lng, double lat) { Point coords=new Point(); double x = lng * 20037508.34 / 180; var ly = Math.Log(Math.Tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180); var y = ly *20037508.34/180; //var coords = [x,y]; coords.X = x; coords.Y = y; return coords; }
这是最常见的一种墨卡托投影。
其实地球是一个不规则的椭球,所以我们要假设一个规则的椭球对其进行拟合。这样,地球上所有的位置都统一到了同一个椭球体上。那么什么样的椭球体最合适呢?每个国家都希望以自己的国家为标准,这样世界的坐标就不一致了。所以WGS-84是一个最公*的椭球,整体变形最小。以地球的质心为球心。以大地水准面为球面。赤道半径为周长。各地的铅垂线与法向量重合。这种椭球在国内主要有克拉索夫斯基椭球体(1954年北京坐标系)、1975国际椭球(IAG75-xian80坐标系)、WGS84椭球体(1984年)、椭球大地2000椭球(国家2000坐标系)。地球每年都是不一样的,每年地形变化之后,需要重测。
墨卡托投影原理:https://www.cnblogs.com/arxive/p/7472104.html
优点是投影前和投影后的相*的经纬线相互垂直。(投影前在球面上的垂直,严格意义上不能算*面意义的垂直,但是假设距离较*为*面的话是也可以假定为垂直)
而且球面上角度相等的点组成的一条线,在投影之后也是一条线。球面上间隔等角度的两条线,投影之后完全*行。
这就叫等角不变性,在航海中尤为重要。
所以,它不可避免的具有某些缺点,例如高纬线的距离被拉长了。
高纬度的经线也被拉长了。但是不应该相等。
假设墨卡托投影的坐标系原点为(0,) ,表示X轴为赤道,Y轴则在经度为处垂直于赤道。 墨卡托投影公式即为:
要显示在电脑上肯定都要经过投影,是不是默认的地理投影地理坐标系默认不能显示,但是为了显示地理坐标系又不知道哪个投影就默认度转米随便转的。不然地理坐标系是不能显示在*面上,因为它是球面坐标。(就是地理坐标系虽然也能显示,但是其实显示的是unknown投影坐标系)