地球近似为一个“椭球体”,在不考虑高程的情况下其实经纬度坐标就是描述了某点在球面的位置。在没有电脑、没有数字化地图的时代最实用的是纸质地图,但纸质地图是平面的,要把地“球”展开到地图的“平面“上(把地球在一张纸上“画”出来)就需要投影(Projection)。 地“球”被投影到“平面”后,还有一个最实际的功能就是便于测量。因为投影后的坐标都是在直角平面坐标系下的坐标了(单位一般为米)。比如计算两点间的距离,直接用勾股定理即可。 已知球面上两点经纬度也是可以计算距离的,准确说是大圆(GreatCircle)距离,后面我们还会提到一般采用 Haversine 公式。 Web墨卡托投影墨卡托投影是正轴等角圆柱投影。 假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,就形成以一幅墨卡托投影的世界地图。 Google基于墨卡托投影设计了 Web墨卡托投影 (Web Mercator)。 首先,将基于椭球体的墨卡托投影简化为“正球体”,半球取WGS84椭球体的长半轴 6378137 m。其次,由于墨卡托圆柱投影的方式必然导致当纬度φ接近两极,即90°时,投影后平面坐标的Y值趋向于无穷大。但沿赤道展开的X轴的范围是固定的,即 [-πr,πr] = [-20037508.342789244,20037508.342789244] 。 为了让投影后的平面能正好在一个正方形内表示,即让投影后的Y轴范围也是[-20037508.342789244,20037508.342789244],反算出纬度的限制范围约为:[-85.06,85.06]。 那我们在墨卡托投影的平面上连接投影后两点得到的直线(如下图蓝线)又是什么呢? 这条蓝线与各个经线(绿色)的夹角是不变的,在这个例子中约为119.6°。这条线就叫做等角航线(rhumb line)也称恒向线,即地球上两点之间与经线处处保持角度相等(等方位)的曲线。 把大圆航线和等角航线再在地球和墨卡托投影平面上对比观察,尤其观察他们与经线(绿色)的夹角。 还可以看到,墨卡托投影虽然能保持等角不变,但投影后的面积变化很大,尤其纬度越高的地区。最典型的就是格陵兰岛,在墨卡托投影上看几乎和非洲大陆的面积差不多了。而真实情况却是:非洲面积约是3020万平方千米,格陵兰岛面积约是217万平方千米;非洲的面积约是格陵兰岛的14倍。 这就引出了地图投影的一类分类体系,即按投影变形的性质,地图投影可分为: (1)等角投影 投影面上两条方向线所夹角度与球面上对应的两条方向线所夹的角度相等。 (2)等积投影 球面上的面状图形轮廓经投影后,仍保持面积不变。 (3)任意投影 既不等角也不等积,角度、面积、长度三种变形同时存在。在任意投影中,比较常见的一种是等距投影。所谓等距投影,并不是说这类投影不存在长度变形,而是沿某一特定方向的距离,经过投影之后保持不变。 森城市:一键生成3D城市,内置多种模板,自由编辑 • 森城市支持不同类型城市数据的插入和自动融合,并提供友好而强大的场景编辑能力和性能处理能力,无需具备GIS、建模等专业技能,就可以轻松DIY自己的酷炫城市三维场景。 • 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。 低代码ThingJS:低代码灵活开发数字孪生可视化应用 • 低代码ThingJS提供了丰富的3D开发API、完善的开发文档和视频教程,熟悉基础的JavaScript前端知识即可上手数字孪生3D可视化应用开发。 • 低代码ThingJS是纯H5的WebGL架构,可在各类主流网页浏览器中自如运行,包括可在移动端直接访问运行。 • 低代码ThingJS提供全生命周期的开发组件,大大提升数字孪生可视化项目开发效率。 |
2022-07-01
2021-05-31
2022-07-20
2021-03-22
2022-07-01