目录
1、情况介绍
正如标题所言,在gis应用中的地理坐标一般是使用度分秒格式或者十进制格式,而这两种格式之间的转换关系也十分简单。以下是其转换关系的描述:
例如,对于经纬度113°40'35'',应转换为113.6764度。
转换公式为:度数 + (分/60) + (秒/3600),即113.6764=113+40/60+35/3600。
写本文的动机是基于前篇文章的应用需要,也就是说在获得度分秒格式的经纬度坐标后,如何快速将其转换成arcgis能够导入识别的十进制格式,用于生成矢量要素。
对于小数量的转换,通过逐一计算也基本能够满足,然而对于大批量的转换往往还是需要借助工具,当然网上在线转换也能够满足。我这里借助excel给出一个快速转换的小技巧。
2、excel快速转换方法
首先,需要将度分秒格式的经纬度坐标数据存放在excel表中,在Excel中,将经度和纬度分别作为两个独立的列输入;
然后使用Excel中的MID函数来提取度和分秒,并使用上述转换公式将其转换为十进制格式。其中用的公式为:
例如,对于经度,可以使用公式
=MID(D2,1,3)+MID(D2,5,2)/60+MID(D2,8,2)/3600
(假设D2单元格包含度分秒格式的经度值)。纬度处理方式相同。对于MID函数介绍:
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
语法
MID(text,start_num,num_chars)
Text 是包含要提取字符的文本字符串。
Start_num 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推。
Num_chars 指定希望 MID 从文本中返回字符的个数。说明
■ 如果 start_num 大于文本长度,则 MID 返回空文本 ()。
■ 如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
■ 如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
■ 如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
MID(字符串,开始位置,字符个数) 这个函数则是表明将输入的度分秒格式的坐标值当成字符串处理,从前到尾依次获取对应位置上的值进行计算。
那么使用上述公式就需要注意:“开始位置和字符个数”这两个参数了,为了能够复用公式,那么保持输入的经纬度格式一致:即注意数值的位数,如果达不到需要使用相对应数量的空格。
如此就可以得到对应的十进制格式的坐标值了:
这里面,在获取B2=MID(D2,1,3)+MID(D2,5,2)/60+MID(D2,8,5)/3600后,则可以向下拖拉单元格右下角来获取B3~B5的值,同理向右拖拉单元格右下角来获取C2的值,再通过C2获取C3~C5的值了。
上面在转换一个单元格的格式后,就可以快速获取其他单元格的十进制值了,那么对于大批量的数据也可以快速获取了。
在获取到十进制的地理坐标后,就可以在arcgis中导入数据生成矢量数据。以下就可以进行博文将经纬度坐标在ArcGIS软件中生成系列矢量数据_arcgis按经纬度生成线要素-CSDN博客的步骤了。