我现在做的一个软件需要把地理位置的经纬度坐标转换为unity3d的系统坐标,请问如何实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我现在做的一个软件需要把地理位置的经纬度坐标转换为unity3d的系统坐标,请问如何实现?相关的知识,希望对你有一定的参考价值。
从北京坐标系可以直接转换到BJ-54椭球下的大地坐标(B,L,H),但是无法直接转换到WGS84下的大地坐标,因为这两者所属椭球不一样,需要一个转换参数(七参数OR四参数OR三参数)。如果你有这些已知条件的话,推荐给你一个软件 “COORD”,在网站可以搜索到,或者你直接进“中海达”网站,从他们的下载专区下载一个“HDS2003数据后处理软件”,里面自带一个 COORD转换工具,这个是目前测量界用得比较多的软件。可以满足你同一椭球或者不同椭球之间的转换。 参考技术A 这个的话各个项目的处理不同,先定一个坐标原点,之后的映射最简单的就是将位置映射到球上,也可以将经纬度当做xy值,映射到平面。本回答被提问者采纳android编程怎么把GPS坐标转换为百度地图坐标
实现将一组GPS模块获取的经纬度数据在百度地图上绘制轨迹/**
* 标准的GPS经纬度坐标直接在地图上绘制会有偏移,这是测绘局和地图商设置的加密,要转换成百度地图坐标
*
* @return 百度地图坐标
*/
publicGeoPoint gpsToBaidu(String data) //data格式 nmea标准数据 ddmm.mmmmm,ddmm.mmmm 如3030.90909,11449.1234
String[] p = data.split(",");
intlat = (int) (((int) (Float.valueOf(p[0]) /100) + (100* (Float//将ddmm.mmmm格式转成dd.ddddd
.valueOf(p[0]) /100.0- (int) (Float.valueOf(p[0]) /100)) /60.0)) * 1E6);
intlon = (int) (((int) (Float.valueOf(p[1]) /100) + (100* (Float
.valueOf(p[1]) /100.0- (int) (Float.valueOf(p[1]) /100)) /60.0)) * 1E6);
GeoPoint pt =newGeoPoint(lat, lon);
returnCoordinateConvert.fromWgs84ToBaidu(pt);//转成百度坐标
参考技术A 你调用百度地图或者高德地图的时候会自动转换,这涉及到底层的代码,都被封装好了,我们只需要直接调用就好了
以上是关于我现在做的一个软件需要把地理位置的经纬度坐标转换为unity3d的系统坐标,请问如何实现?的主要内容,如果未能解决你的问题,请参考以下文章