经纬度格式通常以度分秒(Degrees minutes seconds, DMS)形式和小数点(Decimal Degrees, DD)表示。在GIS软件中,利用经纬度生成坐标点一般都需要将度分秒形式的经纬度转换为小数点形式,如何方便的进行转换呢?网上有许多网页小程序可是实现转换,但很难批量完成;EXCEL也可以,但每次都要修改很多公式,且经常报错。在R语言中ggmap绘制地图时,通常需将经纬度小数点形式转换为度分秒形式。
手动计算方式
from DMS to DD
Decimal Degrees = Degrees + minutes/60 + seconds/3600
例:57°55'56.6" =57+55/60+56.6/3600=57.9323888888888°
from DD to DMS
例:205.395583333332°=205°23'44.1"
直接读取"度":205
(205.395583333332-205)*60=23.734999999920 得到"分":23
(23.734999999920-23)*60=44.099999995200 得到"秒":44.1
下文介绍R语言的函数实现经纬度格式度分秒(Degrees minutes seconds)和小数点(Decimal Degrees)互相转换,代码如下:
具体详见https://mp.weixin.qq.com/s/oRiqBac2hjQQWkIyVnsSjw