GPS DMS格式转换成十进制格式的功能
Javascript - GPS DMS format to Decimal format function
我已经搜索了一个javascript函数,可以解析GPS数据,这是在DMS格式到十进制格式。我几乎没有什么帮助,这主要是因为我拥有的GPS数据格式很奇怪。
My Data;
3550.192270N, 01432.026391E
Format;
ddmm.mmmmmmN, ddmm.mmmmmmE
我想把这些值转换成经度和纬度的十进制格式。
提前感谢,琼
SOLVED在网上找到了一个功能,与我的需求相似,并将其转换为只接受日和分钟。
function ConvertDMSToDD(days, minutes) {
var dd = days + minutes / 60;
return dd;
}
我使用这个函数来转换数据,我从Arduino盾牌与GPS模块获取。
Javascript - DMS字符串到十进制格式的函数
var dmsStr = "40° 19′ 22.81″ N 49° 19′ 15.61″ E";
var dmsToLonLatRegex= /[-]{0,1}['d.]*['d]|([NSEW])+/g;
var dmsParsed = dmsStr.match(dmsToLonLatRegex);
>Result => ["40", "19", "22.81", "N", "49", "19", "15.61", "E"];
var dmsParsedObj = {
latitude: {
degree: dmsParsed[0],
minute: dmsParsed[1],
second: dmsParsed[2],
direction: dmsParsed[3]
},
longitude: {
degree: dmsParsed[4],
minute: dmsParsed[5],
second: dmsParsed[6],
direction: dmsParsed[7]
}
}
var dmsToLonLat = function (o) {
var n = NaN;
if (o) {
var t = Number(o.degree),
d = "undefined" != typeof o.minute ? Number(o.minute) / 60 : 0,
l = "undefined" != typeof o.second ? Number(o.second) / 3600 : 0,
r = o.direction || null;
null !== r && /[SW]/i.test(r) && (t = -1 * Math.abs(t)), n = 0 > t ? t - d - l : t + d + l
}
return n
}
var lonLat = [dmsToLonLat(dmsParsedObj.latitude), dmsToLonLat(dmsParsedObj.longitude)];
> Result => [49.321, 40.323]
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 更改angularjs中的日期-时间格式
- 更改日期格式功能
- 用于Office的Javascript API:如何手动触发MS Office'的自动套用格式功能
- 想要一个验证法国车辆号码格式的功能
- $.后编辑JSON格式.得到的功能
- 如何在javascript中以zip文件格式导出功能到shapefile
- js时间戳转换为可读格式..需要复制php功能
- 使用Jquery设置日期格式的内置功能
- GPS DMS格式转换成十进制格式的功能