1. 首页 > 生活日常 > 经纬度换算度分秒计算器(经纬度度分秒计算器)

经纬度换算度分秒计算器(经纬度度分秒计算器)

经纬度度分秒计算器

什么是经纬度

经纬度是一种地理坐标系统,用于描述地球上每一个位置的具体坐标。其中,经度为东西方向,纬度为南北方向,都是由角度度数来表示的。

度分秒与度的转换

经纬度表示时,有时候会使用度分秒的形式来表示。例如:116°13′11.98″即为116度13分11.98秒。而在计算时,我们常常需要将度分秒转换成度数或者将度数转化为度分秒。以下为相应的转换公式:

度分秒转度数
度数=度+分/60+秒/3600

度数转度分秒
度=整数部分(度数)
分=整数部分((度数-度)*60)
秒=(度数-度-分/60)*3600

经纬度换算计算器

在实际的计算过程中,我们可以使用经纬度换算计算器来方便地进行度、分、秒的转换以及度数之间的相互转换。同时,这样的计算器还可以帮助我们快速地计算两点之间的距离和方位角。以下是一款简单的经纬度计算器的代码实现:



经纬度换算计算器


经纬度换算计算器



























functionGetDegree(){ varlat=Number(document.getElementById(\"lat\").value); varlng=Number(document.getElementById(\"lng\").value); vardeg=lng<0?lng+360:lng; document.getElementById(\"deg\").value=deg.toFixed(6)+\",\"+lat.toFixed(6); } functionGetDMS(){ varlat=Number(document.getElementById(\"lat\").value); varlng=Number(document.getElementById(\"lng\").value); varlatDegree=Math.abs(Math.floor(lat)); varlatMinute=Math.floor((Math.abs(lat)-latDegree)*60); varlatSecond=((Math.abs(lat)-latDegree-latMinute/60)*3600).toFixed(2); varlngDegree=Math.abs(Math.floor(lng)); varlngMinute=Math.floor((Math.abs(lng)-lngDegree)*60); varlngSecond=((Math.abs(lng)-lngDegree-lngMinute/60)*3600).toFixed(2); varDMS=latDegree+\"°\"+latMinute+\"′\"+latSecond+\"″,\"+lngDegree+\"°\"+lngMinute+\"′\"+lngSecond+\"″\"; document.getElementById('dms').value=DMS; } functionGetDistanceAndAzimuth(){ varlatA=Number(document.getElementById(\"latA\").value); varlngA=Number(document.getElementById(\"lngA\").value); varlatB=Number(document.getElementById(\"latB\").value); varlngB=Number(document.getElementById(\"lngB\").value); varR=6371;//地球半径 varradLatA=latA*Math.PI/180; varradLngA=lngA*Math.PI/180; varradLatB=latB*Math.PI/180; varradLngB=lngB*Math.PI/180; vara=radLatA-radLatB; varb=radLngA-radLngB; vars=2*R*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)+Math.cos(radLatA)*Math.cos(radLatB)*Math.pow(Math.sin(b/2),2))); vardistance=s.toFixed(2); document.getElementById(\"distance\").value=distance+\"km\"; vary=Math.sin(radLngB-radLngA)*Math.cos(radLatB); varx=Math.cos(radLatA)*Math.sin(radLatB)-Math.sin(radLatA)*Math.cos(radLatB)*Math.cos(radLngB-radLngA); varazimuth=Math.atan2(y,x)*180/Math.PI; if(azimuth<0){ azimuth+=360; } document.getElementById(\"azimuth\").value=azimuth.toFixed(2)+\"°\"; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至p@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:10:00-18:30,节假日休息