度分秒转换十进制度 之Excel实现
我们都知道,1°=60′,1′=60″,1°=3600″。
那么,轻而易举容易计算:112°18′37.6″=112+18/60+37.6/3600≈112.3104444°
这当然是有参考价值的,比如爬下一张只有度分秒形式的经纬度表格,但是,我们的GIS软件只认十进制度(原因无非就是十进制好算),那么通过Excel的字符串操作函数,就可以轻松转换为十进制度。更多有关GIS的技术、代码经验见小专栏:https://xiaozhuanlan.com/topic/0593271846
【注意】伸手党(划掉)急着要结果的同学可以看第4小节,拉最后有完整的公式给出,不必看1、2、3小节这些过程。
1 预备知识(三个函数)
1.1 FIND()函数
FIND函数可以找到某个字符(串)在指定字符串的哪里。
我们说,CHINA中字母N在第4个,那么
=FIND("N","CHINA")
如果CHINA在单元格A1,那么
=FIND("N",A1)
// FIND函数还有第三个参数,此处不讨论
即得出结论:
I = FIND(S,D)
I——S在D的位置
S——查找的字符()串
D——被查找的字符串
1.2 LEFT()函数
LEFT()函数可以获取从左边开始数的第n个字符,通俗点讲就是在第n个处切开,前n个留下形成结果字符串,其他的扔了。即:
LEFT("CHINA", 3)="CHI"
LEFT("CHINA", 1)="C"
1.3 MID()函数
与LEFT类似,从左往右第i个起算,取j个,头和尾不要了。
MID("CHINA",3,2)="IN"
MID("CHINA",1,4)="CHIN"
2. 提取度&分&秒的数值
OK,有了上部分的预备,那么我们就要对[112°18′37.6″]中括号内的字符串进行切割,把度分秒分别切出来。
首先,我们要获取°号、′号、″号的位置:
A1=°′37.6″
A2=FIND("°", A1) //结果是4
A3=FIND("′", A1) //结果是7
A4=FIND("″", A1) //结果是12,小数点也占一位字符
然后,使用LEFT取到度(注意是到°号之前的2,不是到度号):
B1=LEFT(A1,A2) //结果错误,是112°,并不是我们想要的112
B1=LEFT(A1,A2-) //结果是112
用MID取到分的数值。
注意,起点不是°号了,是度号往右一个,即A2+1。
要取多少个数字呢?这里分的数值是两位,则A3-A2-1刚好是2:
B2=MID(A1,A2+,A3-A2-) //结果是18
用MID取到秒的数值(起点数字,和取长,与分的数值同理):
B3=MID(A1,A3+,A4-A3-) //结果是37.
如果不太能理解A3-A2-1为啥刚好是分的数值的位数,自己稍微动一下脑筋就想出来了,用位数的顺序相减呗。
3. 拼接
这一步就简单了,使用简单的数学四则运算:
C1=B1+B2/+B3/ //结果是112.

4. 整合所有公式到一个单元格
分步列公式是为了清晰过程,实际只需要一个单元格就可以计算,总结一下:
十进制度
=取度+取分/+取秒/
=B1 + B2/ + B3/
=LEFT(A1,A2-) + MID(A1,A2+,A3-A2-) + MID(A1,A3+,A4-A3-)
=LEFT(A1, FIND("°", A1)-1)
+
MID(A1, FIND("°", A1)+1, FIND("′", A1)-FIND("°", A1)-1)/60
+
MID(A1, FIND("′", A1)+1, FIND("″", A1)-FIND("′", A1)-1)/3600
如果不写成换行,那么结果就会是:
// A1是度分秒形式的坐标值单元格
=LEFT(A1, FIND("°", A1)-1) + MID(A1, FIND("°", A1)+1, FIND("′", A1)-FIND("°", A1)-1)/60 + MID(A1, FIND("′", A1)+1, FIND("″", A1)-FIND("′", A1)-1)/3600
如下图所示:

度分秒转换十进制度 之Excel实现的更多相关文章
- Excel中使用VBA进行度分秒与十进制度的转换
发现Excel的VBA功能真是批量处理的一把利刃,工作中小试牛刀了一把,将Excel中度分秒形式的坐标批量处理成十进制度形式,处理完后用于GIS展点制图. 原Excel数据如下: VBA代码如下: S ...
- GPS整数。度分秒转换
例如30.453280 104.2018怎么把度数转换为度分秒的格式要详细换算方法 例如30.453280°,30.453280°,则有30°0.453280°×60= 27.1968′则有27′0. ...
- C#: 数字经纬度和度分秒经纬度间的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- 经纬度、时分秒转换的C#类
一:新建一个包含经纬度.时间转换的类optaDataConvert public class optaDataConvert { /// <summary> /// 时间转换 /// &l ...
- java android 将小数度数转换为度分秒格式
/** * 将小数度数转换为度分秒格式 * @param numStr (主要用于图片中存储经纬度) * @return */ public static String convertToSexage ...
- Kettle 事务、转换内顺序、excel模版、使用踩坑
kettle中转换和作业的执行顺序: 1.一个作业内的转换,是顺序执行的. 2.一个转换内的步骤是并行执行的. 3.作业内不支持事务,转换内支持事务. 根据业务需要,通常需要在 ...
- 【九度OJ】题目1023:EXCEL排序 解题报告
[九度OJ]题目1023:EXCEL排序 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1023 题目描述: E ...
- EXCEL数据处理-经纬度转换:度分秒转换为小数
背景:工作中遇见此问题,整理了一下,花点时间随便总结下,希望能帮助到大家! 业务描述:红框内110°10′15"这种格式的经度,我想转换为110.36534这种格式. 步骤: 1.现将110 ...
- testlink用例转换小工具(excel转为xml,python版)
前面文章记录了testlink的安装方法(CentOS 7下安装xampp和testlink),由于testlink仅支持xml格式的用例导入,研究了下excel转xml的方法, 从网上其他网友那里借 ...
随机推荐
- Python_替换当前目录下文件类型
''' 将当前目录的所有扩展名为html的文件重命名为扩展名为htm的文件 方法一 ''' import os file_list=os.listdir('.') for filename in fi ...
- python_方法说明
方法用来描述对象所具有的行为,例如,列表对象的追加元素.插入元素.删除原宿.排序,字符串对象的分隔.连接.排版.替换.烤箱的温度设置.烘烤,等等 在类中定义的方法可以粗略分为四大类:公有方法.私有方法 ...
- Pattern recognition and machine learning 疑难处汇总
不断更新ing......... p141 para 1. 当一个x对应的t值不止一个时,Gaussian nosie assumption就不合适了.因为Gaussian 是unimodal的,这意 ...
- SSM-MyBatis-15:Mybatis中关联查询(多表操作)
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先简单提及一下关联查询的分类 1.一对多 1.1单条SQL操作的 1.2多条SQL操作的 2.多对一 2.1单 ...
- RESTful规范
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...
- vue项目如何刷新当前页面
1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求. 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.rel ...
- 在单用户模式下修改CentOS的root密码
我们在使用CentOS的过程中可能会发生忘记root用户密码的情况,本文就从应用的角度简单介绍一下如何在单用户模式下修改root用户的密码. 开启CentOS,进入系统启动菜单 将光标停留在系统开机时 ...
- 推荐《用Python进行自然语言处理》中文翻译-NLTK配套书
NLTK配套书<用Python进行自然语言处理>(Natural Language Processing with Python)已经出版好几年了,但是国内一直没有翻译的中文版,虽然读英文 ...
- DUBBO报错分析—1(连接zookeeper成功,调用方法无反应,不报错)
思路分析 调用方法时,最后调用执行的是mapper的sql语句,既然调用对应的方法无法获取返回值,多是sql错误,但是并未报sql错误,说明可能是与sql相关的数据源配置错误. 过程调试 经尝试,当直 ...
- QM1_Time value of Money
总体框架 Time Value Interest Rate rf: 无风险收益率 (CFA中一般认为是美国短期国债T-bill的收益率) Nominal risk-free rate: 名义无风险税 ...