openlayers3应用“四’”:百度地图坐标纠偏续

续前一篇,上一篇提到百度地图纠偏的基本思路,经过经过一天的努力,实现了百度地图坐标偏移参数的提取,步骤以及实现效果如下:

1、数据来源:四川省的省道矢量数据

2、提取坐标偏移参数的过程如下:

A、将四川省地图范围按一定的范围划分成多个相同的网格

B、为网格准备纠偏数据:读取四川省省道矢量数据,并将矢量数据分配到划分的网格

C、加载百度在线或者离线地图,绘制矢量数据,使用页面上的按钮,将省道图形移动到正确的位置,记录偏移参数。

D、采用查表法对地图进行“纠偏”:将需要添加到地图上的坐标,采用查表法找到该坐标所在的区域,加上坐标偏移参数后,绘制到地图上。

准备的纠偏数据:

本人较熟悉GIS基础算法和常用地图文件读取,在此不详细介绍生成过程。

“纠偏”页面:

如上图所示,输入id点击加载,在地图上绘制线路,并通过上下左右几个按钮,对图形就行移动,并记录纠偏参数,纠偏后如下图所示:

经过纠偏并记录纠偏参数后,形成如下文件:

纠偏后的效果:

上面几张图,展示了不同地点纠偏后的效果图,可以看出基本实现了坐标纠偏。

存在的主要问题:

工作量:目前我只做了四川省的纠偏参数,因为要一个个在页面上移动数据并记录纠偏参数,所以效率较低。大概获取一个省的纠偏参数,需要大半天到1天时间。因为时间关系,暂时不做其他省市的纠偏参数提取。有兴趣的朋友可以联系索取其他省市的数据,我的QQ:8313632

时间: 2024-10-27 00:33:17

openlayers3应用“四’”:百度地图坐标纠偏续的相关文章

openlayers3应用“三’”:百度地图坐标纠偏

前两篇文章介绍了openlayers3加载百度在线和离线瓦片地图,页面上能够正常显示.地图加载后在地图上显示一条GPS轨迹,发现离实际位置相差太远,如下图所示: 轨迹形状和实际形状相同,但是位移太远,采用坐标加偏移的方法(在原有经纬度坐标基础上进行数值增减),得到和实际轨迹完全重新的新的轨迹,如下图所示: 在地图上添加另外一条车辆轨迹,发现使用相同的坐标偏移量后,第二条轨迹又存在偏差,第二条轨迹未做偏移前如图所示: 经过坐标偏移后如下图: 可以看到地图上两条轨迹,使用相同的坐标偏移量,不能进行"

百度地图+Marker纠偏

百度地图+Marker纠偏 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=

php 将其他地图位置坐标 转换成 百度地图坐标

PHP关于其他坐标转换为百度地图坐标 百度地图api格式:         http://api.map.baidu.com/geoconv/v1/coords=116.440488,39.920026;114.21892734521,29.575429778924&output=xml&from=3&to=5&ak=你的ak 当然,在这里如果想把原坐标点改为传入的位置,可以写成 http://api.map.baidu.com/geoconv/v1/?coords={$l

百度地图坐标获取器

直接把百度地图坐标获取器放到dom里面有时会 引起js失效:用iframe标签就会涉及到父窗口的操作 代码如下 父窗口 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv=&

微信开发之附近商家地理位置计算和腾讯地图坐标转百度地图坐标的方法

原文:微信开发之附近商家地理位置计算和腾讯地图坐标转百度地图坐标的方法 腾讯地图坐标转百度坐标 案例:本次开发的系统是一个商家联盟积分系统.在全国各地都有商家联盟的网点. 要求实现的功能 a.微信粉丝通过微信号就能查看附近的商家 b.我的联盟系统统计在2公里之内的商家网点 c.并标出商家和粉丝位置的距离是多少米. d.在商家的详细介绍页面设置百度地图接入步行.公交.驾车一键导航功能 那么现在问题来了: 问题1:在做微信O2O开发的过程中,通过微信地理位置功能事件获得的是腾讯地图坐标.而我们的导航

根据城市名获取百度地图坐标API

最近项目中百度地图的相关操作当没有坐标的时候默认通过城市名称获取中心点,不过感觉有点慢到网上搜索了一下也没类似的城市对应的价格的数据库.所以自己就建了一个.现公开出来供大家使用接口调用方法 http://2.ibtf.sinaapp.com/map/?city=北京返回json串 {"x":"116.403874","y":"39.914889"} 注1.城市名请用UTF-8编码否则会出错2.如返回 please reload

iOS关于百度地图坐标偏移的处理

定义一个宏来转换 #define CBCoorConvert(coor) BMKCoorDictionaryDecode(BMKBaiduCoorForGcj(coor)) 使用 - (id)initWithJson:(NSDictionary *)json { if (self = [super initWithJson:json]) { self.mileageNew = [json objectForKey:@"newMileage"]; CLLocationCoordinate

微信JS-SDK坐标位置转换为百度地图坐标

微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转换过来的位置,蓝色图标是周边位置.首先从微信开发流程讲解. 1.微信JS-SDK开发文档 首先进入官网的帮助文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN 可对文档进行详细的研读,要获取位置信息,分以下步骤:

从百度地图API中抠出来的一个js方法,计算百度地图坐标距离

从百度地图api(http://developer.baidu.com/map/jsdemo.htm#a6_1)中抠出来的一个js方法,计算百度地图坐标距离 可读行还没还原,能用就行~ function fD(a, b, c) { for (; a > c;) a -= c - b; for (; a < b;) a += c - b; return a; }; function jD(a, b, c) { b != null && (a = Math.max(a, b));