高德地图百度地图纠偏

1、写在前面

在使用高德地图API和百度地图API的时候,如果要加载地图服务如WMS,WMTS等,这些地图服务常用的投影坐标系是EPSG:3857。加载上去会发现存在偏移,因为投影坐标系不一致。

高德的坐标系是GCJ-02,而百度的坐标系是在GCJ-02再次偏移的BD-09,这些坐标系是没有收录在EPSG中的,所以无法用Proj.4库来做坐标转换。

我们是否可以通过整体的偏移来做呢?不行的,因为GCJ-02坐标系相对于WMS坐标系的偏差是非线性随机的。这么做感觉就是在为难国内的开发者,一方面不能不使用WGS坐标,因为这个是国际通用的,另一方面又在设置重重障碍让WGS坐标和GCJ-02坐标难以转化。

不过也不是束手无策的,高德和百度都有提供单点的坐标转换功能,我们可以利用单点的坐标转换来实现切片的偏移。也有一个开源的项目 gcoord 融合了百度高德的转化

2、思路

百度高德在请求切片图层的时候,对于每一个切片来说,切片的BBOX坐标是可以计算出来的。在默认情况下,会使用计算出来的BBOX坐标请求WMS或是WMTS服务,这样是有偏差的。我们可以对计算出来的BBOX坐标进行单点偏移,使用偏移后的BBOX坐标请求地图服务就可以实现地图的吻合。

3、问题

使用gcoord坐标转换时,高德没有什么问题,但是百度转换后出现切片错位的情况,出现这个问题的原因有点棘手。因为百度的坐标是在WGS84坐标的基础上做了两次偏移,直接将百度坐标转为WGS84的坐标是一个近似的结果,切片就会出现错位。

可以想到的一个方法是:

将WMS数据源的坐标系改为百度坐标系,整体做偏移。

高德sdk android加载3857,GCJ02-Correct相关推荐

  1. Android SDK Manager 加载不出tools解决办法

    问题描述 用eclipse配置Android开发环境过程中,下载的Android SDK Manager 加载不出tools,如下图所示: 图片来源于3,2,1,FIGHT! 上述问题不管是设置国内的 ...

  2. ios 高德地图加载瓦片地图_IOS 高德地图 API 加载 WMS 服务

    IOS 高德地图 API 加载 WMS 服务 本文主要介绍通过自定义高德地图 MATileOverlay 接口,添加 WMS 服务到地图上.废话少说,先贴代码. 代码 自定义类 WMSTileOver ...

  3. 关于 android 加载 res 图片 out of memory 问题 解决 同样适用于 sd卡图片

    2019独角兽企业重金招聘Python工程师标准>>> 发现android 加载res图片如果过多也会崩溃 android 也是使用 Bitmap  bm = BitmapFacto ...

  4. Android加载大图片OOM异常解决

    Android加载大图片OOM异常解决 参考文章: (1)Android加载大图片OOM异常解决 (2)https://www.cnblogs.com/jevan/archive/2012/07/05 ...

  5. android如何添加gif,Android加载Gif和ImageView的通用解决方案:android-gif-drawable(1)...

     Android加载Gif和ImageView的通用解决方案:android-gif-drawable(1) Android自己的ImageView或者View不能直接加载运行Gif图片,如果要在 ...

  6. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】...

     Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨 ...

  7. android加载html

    今天写了一个小测试  android加载本地的一个html 首先main目录下新建一个assets 在android studio中新建目录时选中foder的assets 把html放入其中 在and ...

  8. Android手机内存图片读取,有效解决Android加载大图片内存溢出的问题

    今天在交流群里,有人问我他经常遇到加载图片时内存溢出的问题,遇到的情况还是在自己的测试机或者手机里没有问题,做好了, 到了客户手机里就内存溢出了.其实有时候不同的手机和不同的系统对内存的要求不一样,尤 ...

  9. Android加载大图片不OutOfMemoryError

    Android加载图片时,对于分辨率小,配置低的机子,很容易发生OutOfMemoryError.手机的内存比图片的大很多,怎么会这样? 在设置Android虚拟机的内存时: RAM:模拟器的内存空间 ...

  10. android 加载外部矢量图SVG

    转自:http://blog.csdn.net/jiabailong/article/details/53736689 android加载矢量图的方式主要有以下两种: 一.Web方式 利用WebVIe ...

最新文章

  1. python【蓝桥杯vip练习题库】ADV-183分苹果(差分数组 离线区间)
  2. objcopy的详细说明
  3. [Redux/Mobx] Redux怎么添加新的中间件?
  4. linux下源码安装log4cxx
  5. Codeforces 1163A - Eating Soup
  6. ACM大牛总结的线段树专辑
  7. Go语言web开发学习
  8. 白鹭(egret)搜素引擎入门
  9. web前端要学哪些东西?主要做什么
  10. Fashion-mnist数据的读取与保存
  11. 译体验|Qualtrics:客户体验的六大法则
  12. shader学习摘要(八)unity光源类型
  13. Java应用编程_常用类库汇总2(日期类正则表达式国际化程序)
  14. hadoop-ykt(自定义key)
  15. 中北大学计算机研究生学院,【计算机考研】院校信息-中北大学
  16. AI智能语音机器人源码供应批发采购
  17. 物联网将IT安全推向边缘
  18. Proximal Distilled Evolutionary Reinforcement Learning
  19. ubuntu 屏幕取词和词典下载
  20. 计算机错误代码0x8e5e0211,Windows Update的两个简易修复错误代码0x80072efe | MOS86

热门文章

  1. 成都中忻嘉业:抖音小店经营一段时间后能改类目吗
  2. 图灵机器人不再免费(19.9元),获取调用api的key,实名认证遇到413 Request Entity Too Large问题
  3. OpenGL超级宝典 使用缓冲为顶点着色器提供数据
  4. 爸爸去哪儿第三季之刘诺一8.1第四期
  5. Qt for android 移植android studio项目报错activity_main.xml:9: AAPT: error: attribute layout_constraintBott
  6. python语言count什么意思_python中count函数是什么意思?
  7. 新的开始-轩宇的c++学习之路
  8. 计算机怎么接入外接键盘,无线键盘怎么连接电脑 享受无线惬意生活【图文】...
  9. 《解忧杂货店》读后感:路一直都在,进步就是幸福
  10. CentOS cp复制命令覆盖文件不提示 实现直接覆盖