本人现就职于国内某地图导航公司,这篇文章是我前段时间在公司组织技术分享的一个PPT,文章内容也主要由这个PPT的内容为主,通过这篇文章可以很好的帮你了解地图导航这个行业的相关技术。
PPT内容主要包括地图相关专业知识、百度和高德SDK整体框架、数据来源、行业概览等组成。其中关于地图引擎相关的技术知识,我向公司地图引擎开发同事求证过,这个PPT也给他们看过,也帮忙指出了其中的一些问题。
这篇文章主要用于分享,其中如果有什么问题,还请多多指出,谢谢!
地图开发专业知识
经纬度
经纬度
经纬度是一种地理坐标系统,主要用来表示地球的球面坐标系,经纬度可以定位地球的任何一个位置。南北方向的称为纬度,东西方向称为经度。
纬度:赤道纬度最长,离赤道越远纬度周长越短,也就是纬度越小。赤道以南称为南纬,赤道以北称为北纬。纬度取值范围是0-90,赤道纬度为90,两级最小。
经度:经度也叫子午线,任意两条经线长度相等,起始点都在南北极。经度以本初子午线为区分,以东称为东经,以西称为西经,东经为正数,西经为负数。经度取值范围在0-180,本初子午线为0。东经180度也就是西经180度就是白令海峡,白令海峡就是国际换日线,日期相差一天。
按照经度,地球被分为24个时区,每个时区又有分,分又包含秒。
投影
投影
投影
做地图,投影的概念很重要。我们的地球是圆形的,地球的坐标是一个球面坐标,球面坐标是三维坐标(x、y、z),而我们的地图是是二维的(x、y),需要将球面的三维坐标转换为平面的二维坐标。
坐标转换久用到了投影的概念,常用的投影有:圆柱投影、圆锥投影、方位投影,而在我们地图导航中使用墨卡托投影。
墨卡托投影
墨卡托投影
百度、高德、Google都使用墨卡托投影,墨卡托投影有一个很大的弊端,就是在高纬度(南纬、北纬)地区产生巨大的变形。变形比较严重的地方在于俄罗斯、格林兰岛、非洲、南极洲等高纬度地区。
墨卡托投影
上面五个国家分别是:俄罗斯、澳大利亚、中国、巴西、加拿大
我们将这五个国家放在一个纬度,来比较这五个国家,发现相差并不太大。但是如果放在上面那张图中,俄罗斯顶好几个中国大小。
国外开发者开发了一个网站,这个网站可以将不同国家拉到同一个纬度,这时候就能显示出真正比例的国家面积。
古德投影
古德投影
古德投影可以避免地图变形的问题,这种投影将地图分为几个部分,然后沿赤道将几个部分连接在一起。我们发现上面的格林兰岛已经被分为两部分,这种投影并不适合用于开发,而且看起来效果也不太好看。
金字塔模型
金字塔