C#GPS坐标转百度地图坐标
国际经纬度坐标标准为WGS-84,国内要求必须至少使用国测局制定的GCJ- 02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施。百度对外接口的坐标系并不是GPS采集的真实经 纬度,需要通过坐标转换接口进行转换。
所以在进行百度地图开发时,如果我们手上的数据是GPS数据的话,需要进行坐标转换,转换方法如下:
URL: http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=longitude&y=latitude
其中:
from: 来源坐标系 (0表示原始GPS坐标,2表示Google坐标)
to: 转换后的坐标 (4就是百度坐标)
x: GPS经度
y: GPS纬度
返回的结果是一个json字符串:
{"error":0,"x":"MTIwLjAxMTYxNjkwMTA0","y":"MzYuMDA2NDI2NDI0Mzc1"}
其中:
error:是结果是否出错,"0"表示OK
x: 百度坐标系的经度(Base64加密)
y: 百度坐标系的纬度(Base64加密)
下面上代码:
public static double[] getBaiducoor(double[] coord)//坐标转换的方法{double longitude = coord[0];double latitude = coord[1];//需要转的gps经纬度string convertUrl = "http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=" + longitude + "&y=" + latitude + "";HttpWebRequest request = (HttpWebRequest)System.Net.HttpWebRequest.Create(convertUrl);//创建http请求HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream responseStream = response.GetResponseStream();StreamReader sr = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));string responseTxt = sr.ReadToEnd();sr.Close();sr.Dispose();CoorConvert mapconvert = new CoorConvert();//创建存放结果的对象mapconvert = JsonConvert.DeserializeObject<CoorConvert>(responseTxt);//赋值string lon = mapconvert.x;string lat = mapconvert.y;byte[] xBuffer = Convert.FromBase64String(lon);//坐标base64解密string strX = Encoding.UTF8.GetString(xBuffer, 0, xBuffer.Length);byte[] yBuffer = Convert.FromBase64String(lat);string strY = Encoding.UTF8.GetString(yBuffer, 0, xBuffer.Length);double[] coor = new double[2];coor[0] = Convert.ToDouble(strX);coor[1] = Convert.ToDouble(strY);return coor;}//创建一个对象存储结果public class CoorConvert{public string error { get; set; }public string x { get; set; }public string y { get; set; }}
需要添加Newtonsoft.Json引用解析返回的json结果字符串,此方法输入的参数是存储经纬度的double数组,返回结果也是double数组。
C#GPS坐标转百度地图坐标相关推荐
- 真实GPS坐标信息转百度地图坐标
第一次写博客,记录自己成长的过程.如有是错误的地方,请大家提出. 做了一个小的项目,遇到通过模块获得的真实的GPS信息,需要转换到百度地图上显示.后来在网上查阅, 真实标准坐标即我们获取到的坐标,真实 ...
- GPS坐标转百度地图坐标的方法
转自:GPS坐标转百度地图坐标的方法 - 程序员大本营 首先需要认识一下GPS的坐标系.GPS坐标系遵循WGS-84标准,在这个标准下,GPS芯片可以发出不同的数据包格式.根据其数据帧帧头的不同,GP ...
- gps数据转坐标c语言,GPS原始坐标转百度地图坐标(纯C代码)
一.环境介绍 GPS模块型号:中科微电子GPS模块 GPS输出的原始数据帧: $GNGGA,114955.000,2842.4158,N,11549.5439,E,1,05,3.8,54.8,M,0. ...
- 百度地图批量转换 GPS坐标转百度地图坐标 问题
百度地图的官方网址 官方批量转换的demo 花了几天时间了解了一下百度地图,之前是后端的一个小伙伴在负责,他跟我吐槽这是前端的东西,让我来写(之前他们老大交给他了,我也以为是后端的任务(๑′ᴗ‵๑). ...
- 照片提取GPS 转成百度地图坐标
感谢: 小慧only http://www.cnblogs.com/zhaohuionly/p/3142623.html GPS转化坐标方法 大胡子青松 http://www.cnblogs.com ...
- html5 gps 坐标转高德地图坐标,GPS坐标转百度地图坐标的方法
首先需要认识一下GPS的坐标系.GPS坐标系遵循WGS-84标准,在这个标准下,GPS芯片可以发出不同的数据包格式.根据其数据帧帧头的不同,GPS数据可以分类为GPGGA.GPGSA.GPGSV.GP ...
- android gps 火星坐标,GPS真实坐标与火星地图坐标/百度地图坐标的转换
#include #include #include static const uint32_t GPSBaud = 9600; TinyGPSPlus gps; HardwareSerial ss( ...
- 微信JS-SDK坐标位置转换为百度地图坐标
原文:微信JS-SDK坐标位置转换为百度地图坐标 微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转 ...
- 高德地图与百度地图坐标相互转化
高德地图与百度地图坐标相互转化 1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于WGS-84坐标 ...
最新文章
- SQL Server创建存储过程
- 用命令行执行java代码
- 500位全球算法开发者零奖金参加阿里云天池大赛 AI预测台风助力防灾减灾
- 【TensorFlow】TensorFlow函数精讲之tf.nn.max_pool()和tf.nn.avg_pool()
- Git最好的CRLF(回车,换行)处理策略是什么?
- 《博弈论与生活》思维导图
- 别扔掉你的登机牌,黑客可以用它获取个人信息
- 行走的Linux——将ubuntu装入移动硬盘
- 解决python同时执行多个程序的方案
- 关于Facebook发币,FB元老级员工们有话说
- 电脑关机倒计时(与前端无关的电脑使用技巧)
- 数据可视化大屏(柱状图、条形图、情感分析饼图、地域图、词云图、数据表格图、涟漪散点图)
- 当一个程序员表情夸张,双手在键盘上疯狂敲击,你真的以为是在敲代码!!?
- .net core linux服务器部署
- 【运筹优化】求解TSP问题的算法合辑 + Java代码实现
- 华为od统一考试B卷【阿里巴巴找黄金宝箱(II)】Python 实现
- oracle12c安装卡住_oracle 12c 安装指南(各种问题总结)
- “国有-非国有”是否真的好用?
- CSS之布局系列--静态布局、流式布局、自适应布局、响应式布局的概念及区别
- COM域名多少钱一年?腾讯云和阿里云对比来了