欢迎光临散文网 会员登陆 & 注册

GIS开发:地图中的数学计算(Mercator)

2022-07-20 08:57 作者:地理信息技术杂谈  | 我要投稿

在地图的开发中,会涉及到各种的数学计算,比如距离、角度计算等,经纬度坐标系的情况下,地图使用的坐标是经纬度的形式,单位是度,而计算距离的时候,结果是米制单位,这就需要其中有一个转换,或者存在对应的计算公式,本文对web mercator坐标系的地图中数学计算进行一个简单说明。

坐标系的说明,参见以下网址:
http://epsg.io/3857通过坐标系的说明,可以看到Mercator坐标系单位是米,投影坐标系范围是-20026376.39 -20048966.10;20026376.39 20048966.10,经纬度的范围是-180.0 -85.06;180.0 85.06。

高德、百度、openstreetmap这些常用的互联网地图,都是基于web Mercator的坐标系,在此坐标系的地图上,我们要做数学计算时,可以将使用的经纬度坐标,转成Mercator的投影坐标进行计算,以地图东西向为横轴、南北向为纵轴,建立坐标系进行计算。
经纬度和Mercator互转网上有开源库:
https://github.com/CAfor2015/WGS84_WebMercator

简单的数学计算方式例子:

  •  坐标点的x、y方向移动N米:将坐标转换之后,加减对应的米数,在转换成经纬度坐标标绘点;

  •  地图上N米半径画圆:设定圆上点数,按照三角函数sin、cos相乘半径,计算x、y方向移动的距离,连成面状图层;

  • 地图上点到直线的最近距离:点连接线的起点成直线,和已知直线计算夹角,根据点到起点的距离,计算点到直接的最近距离;

  • ...其他的可参见数学函数的方式计算

转换Mercator的投影坐标,变换可计算的坐标系值,就能很方便的进行计算了。对于cgcs2000和球面的经纬度数学计算,以后有时间进行分享。



GIS开发:地图中的数学计算(Mercator)的评论 (共 条)

分享到微博请遵守国家法律