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

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

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

基于Mercator坐标系的数学计算

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值