ArcGIS坐标单位转换(⽶和度分秒之间是如何转换的?)
以度为单位存储的是地理坐标系(球⾯),以⽶为单位存储的是投影坐标系(*⾯)。
常见的地理坐标系有:WGS-84。
常见的投影坐标系有:web墨卡托。
以度为单位的好处是精确。
以⽶为单位的好处是符合⼈类的对单位的认知。
那么两者之间是如何转换的呢?
例如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);37度
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坐标系)。地球每年都是不⼀样的,每年地形变化之后,需要重测。
优点是投影前和投影后的相*的经纬线相互垂直。(投影前在球⾯上的垂直,严格意义上不能算*⾯意义的垂直,但是假设距离较*为*⾯的话是也可以假定为垂直)
⽽且球⾯上⾓度相等的点组成的⼀条线,在投影之后也是⼀条线。球⾯上间隔等⾓度的两条线,投影之后完全*⾏。
这就叫等⾓不变性,在航海中尤为重要。
所以,它不可避免的具有某些缺点,例如⾼纬线的距离被拉长了。
⾼纬度的经线也被拉长了。但是不应该相等。
假设墨卡托投影的坐标系原点为(0,) ,表⽰X轴为⾚道,Y轴则在经度为处垂直于⾚道。墨卡托投影公
式即为:
要显⽰在电脑上肯定都要经过投影,是不是默认的地理投影地理坐标系默认不能显⽰,但是为了显⽰地理坐标系⼜不知道哪个投影就默认度转⽶随便转的。不然地理坐标系是不能显⽰在*⾯上,因为它是球⾯坐标。(就是地理坐标系虽然也能显⽰,但是其实显⽰的是unknown投影坐标系)