首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换

一、简介   主流被使用的地理坐标系并不统一,常用的有WGS84、GCJ02(火星坐标系)、BD09(百度坐标系)以及百度地图中保存矢量信息的web墨卡托,本文利用Python编写相关类以实现4种坐标系统之间的互相转换...向BD09坐标系的转换 :param lng: GCJ02坐标系下的经度 :param lat: GCJ02坐标系下的纬度 :return: 转换后的BD09...坐标系向GCJ02坐标系的转换 :param bd_lng: BD09坐标系下的经度 :param bd_lat: BD09坐标系下的纬度 :return...坐标系向WGS84坐标系的转换 :param gcj_lng: GCJ02坐标系下的经度 :param gcj_lat: GCJ02坐标系下的纬度 :return...坐标系向WGS84坐标系的转换 :param bd_lng: BD09坐标系下的经度 :param bd_lat: BD09坐标系下的纬度 :return

7.3K74
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WebGis技术汇总

    Web上的Map API主要分类如下几类: Charts:以D3.js,Echarts等为代表。 LBS:以高德/谷歌/百度地图等为代表。...WebGIS商业API:ESRI的ArcGIS API For JS,超图的IClient。 WebGIS开源API:Leaflet,OpenLayers,Cesium,MapboxGL等。...BD09:只有百度地图没有使用这种加密算法,而是使用的是BD09,从名字上可以看出,GCJ02是2002年提出来的算法,BD09则是2009年提出来的,虽然百度地图没有使用GCJ02加密算法,但是他却是在...GCJ02基础上做了一个二次加密,所以说,从WGS84坐标系不能直接转BD09,中间需要跨越一个GCJ02,反过来,需要将GCJ02或者BD09转为WGS84就是纠偏算法,相当于逆向解密,同样的DB09...转大地坐标wgs84、大地坐标wgs84转百度坐标bd09进行书写, 如果你了解坐标之间的关系,你大概就能猜到: 只需要借助wgs84->gcj02->bd09就能实现wgs84->bd09的实现。

    75430

    常用坐标系

    使用一个统一的代号(已有如54004、41001之类的代号)900913(也形似 Google),并与同年9月11日在OpenLayers的OpenLayers/Layer/SphericalMercator.js...这里的GCJ02经纬度投影,也就是在WGS84经纬度的基础之上,进行GCJ-02加偏。...这里的GCJ02 Web 墨卡托,也就是在标准Web默卡托的基础之上,进行GCJ-02加偏。...(五)BD09 经纬度投影     BD09经纬度投影属于百度坐标系,它是在标准经纬度的基础上进行GCJ-02加偏之后,再加上百度自身的加偏算法,也就是在标准经纬度的基础之上进行了两次加偏。     ...(六)BD09 Web 墨卡托影     BD09 Web 墨卡托属于百度坐标系,它是在标准Web墨卡托的基础上进行GCJ-02加偏之后,再加上百度自身的加偏算法,也就是在Web墨卡托的基础之上进行了两次加偏

    2.7K20

    gis经纬度坐标转换多格式兼容:支持字符串数组GeoJSON

    . * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 * https://www.npmjs.com/package/coordinate-convert... WGS84 GPS全球定位系统使用的坐标系统,GPS设备直接返回的坐标即为WGS84,另外Google地图使用的也是WGS84坐标 GCJ02 由中国国家测绘局制定的地理信息系统的坐标,国内出版的各种地图坐标系统...(包括电子地图),必须至少采用GCJ02对WGS84进行首次加密。 ...BD09 百度在GCJ02的基础上进行的二次加密格式 */// 定义一些常量const x_PI = 3.14159265358979324 * 3000.0 / 180.0const PI = 3.1415926535897932384626const...let bd_lat = z * Math.sin(theta) + 0.006    return this.toFixed([bd_lng, bd_lat])  }  /**   * WGS84转GCj02

    78410

    涨姿势 | App定位和地图的那些坑

    目前常见的坐标系有三种:地球坐标(WGS84,国际公认坐标),火星坐标(GCJ02,国家标准,适用于高德百度地图大陆+港澳部分、Google地图大陆部分),百度坐标(BD09,适用于百度地图大陆+港澳台部分...高德SDK没有坐标系参数设定,在大陆和港澳地区获取的坐标系即为GCJ02坐标系,在中国台湾和海外地区都是WGS84坐标系;百度SDK可以自行设定坐标系参数,即返回WGS84坐标系,还是GCJ02坐标系或者...BD09坐标系(注意BD09坐标系只适用于百度地图),如果设定的是GCJ02坐标系,它在大陆+港澳台地区获取的坐标系都是GCJ02坐标系。...最坑的是iOS地图使用的数据源和当前手机所处的位置是相关的: 1)如果手机在大陆地区,iOS地图使用的是高德地图数据源:此时用户查看大陆和港澳台地图细节信息时,使用的是GCJ02火星坐标系,同时地图显示精度很高...2)如果手机在港澳台和海外地区,iOS地图使用的是TomTom地图数据源,该地图匹配的是WGS84地球坐标系,如果用户在海外查看国内地图,同时你的POI打点坐标系是GCJ02火星坐标系,那么就会产生偏差

    6.3K60

    python实现地理位置类数据爬取与geohash应用初探

    坐标系 谷歌地图采用的是WGS84地理坐标系(中国范围除外) 谷歌中国地图、搜搜中国地图、高德地图采用的是GCJ02地理坐标系 百度采用的是BD09坐标系。...为什么不统一用WGS84地理坐标系这就是国家地理测绘总局对于出版地图的要求,出版地图必须符合GCJ02坐标系标准,也就是国家规定不能直接使用WGS84地理坐标系。...GCJ02:又称火星坐标系,是由中国国家测绘局制定的地理坐标系统,是由WGS84加密后得到的坐标系。 BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。...= z * math.sin(theta) return [gg_lng, gg_lat] def wgs84_to_gcj02(lng, lat): """ WGS84转GCJ02...+ dlat mglng = lng + dlng return [mglng, mglat] def gcj02_to_wgs84(lng, lat): """ GCJ02

    3.6K40
    领券