用Python还原《三体》中的二向箔——地球表面的二维投影
在刘慈欣的《三体》中,最终将太阳系文明带入毁灭的是歌者文明向地球方向投掷的一片小小的二向箔。整个太阳系,作为无可争议的三维存在,却被撕扯着,渐次掉入由二向箔展开而成的二维画卷中。作为地球的前后两任执剑人,罗辑在画内,程心在画外。飞船载着嚎啕的眼泪驶向更深的夜空,引擎的火焰向着正在坠入深渊的地球家园宣示着最为深情而热烈的告别。
在被刘慈欣的想象力所折服的同时,测绘出身的你我,想必眼前已经开始浮现大地测量学老师那聘婷的背影和熟悉的脸庞,这不就是她课上讲的地图投影吗?
没错!我们今天就要用python实现地图投影的可视化。保证比课本上这样的黑白插页要直观、美观得多。
地图投影的课本黑白插图
用Python复习下投影吧
◆ ◆ ◆
众所周知,投影主要分为三种:方位投影、圆锥投影和圆柱投影。
方位投影就是用一个平面,将椭球面向该平面的法方向进行正射投影,椭球上,离平面越近的点变形越小,越远的点变形越大(相同的纬度差,在投影面上的距离,和实际的球面距离相差更远)。在下图中,红色的点位于地球上,黄色的点是投影点。
当然,该平面和椭球的关系可以是相离、也可以是相切,还可以是相交。据此进行投影的效果也是略有差异。
然后就是圆锥投影,圆锥投影就是将一个倒扣的圆锥放在地球附近,然后将地球椭球面上的点投影到圆锥面上,同理,圆锥面和地球椭球的关系也分为相切、相离、相交三种。兰伯特投影就是一种圆锥投影。
最后就是圆柱投影,就是用一个圆柱将地球椭球包住,将地球椭球面上的点投影到圆柱面上。圆柱面和地球椭球的关系也分为相离、相切、相交三种。
最常用的高斯克吕格投影和UTM投影就属于圆柱投影。下图中显示的是高斯克吕格投影,其中红色代表地球表面的点,深绿色代表投影面上的点。
高斯克吕格是按照3度带或者6度带来进行分带投影的,在投影之后,中央子午线的长度保持不变,从图上看,子午线由曲线变成直线,在垂直方向上显得更长了。
如果是从三度带(或者六度带)的法方向看过去,就是所有地面点和投影点的叠加。看上去,有一种模糊而清晰的美感。
喜欢《霍金评价三体》吗?喜欢吗?喜欢就用力顶一下吧!