将度坐标转换为十进制

时间:2015-08-24 00:20:28

标签: linux bash unix coordinates

我有两个包含以下lat / lon(度)坐标的文本文件:

拉特:

161N
168N
174N
182N
190N
198N
203N
207N
210N
213N
216N
220N
222N
224N

伦斯:

609W
636W
663W
692W
720W
747W
768W
790W
808W
827W
845W
865W
882W
899W

我需要将这些度数坐标变为十进制格式。

前:

161N> 16.1N
609W> -60.9W

2 个答案:

答案 0 :(得分:0)

您可以使用sed

sed "s/\([0-9][ENSW]\)$/.\1/" file.txt

这使用正则表达式将字符串中的最后一个数字分组,最后一个字母是E,N,S或W,并在它们之前插入一个句点。

答案 1 :(得分:0)

我用以下方法取得了预期的结果:

sed -i 's/.$//' ${model}_lats_tmp
sed -i 's/.$//' ${model}_lons_tmp

awk '{print $1/10}' ${model}_lats_tmp > ${model}_lats_new
awk '{print $1/10}' ${model}_lons_tmp > ${model}_lons_new