将经纬度坐标批量导入Google Earth的方法

  看了昨晚的数模题,发现B题与经纬度定位及定价有关,容易想到订单价格和执行情况可能和它的位置分布有一定关系,如果能把所有坐标都导入地图,就可以直观地看出它们的特点了。
  Google Earth中地标等信息主要是用XML/XMZ文件存储的,我们可以将Google Earth里的路径或地标导出为XML文件,也可以将自己的XML在Google Earth中打开。该方法的主要途径就是把自己的坐标信息转换成XML文件,再在Google Earth中打开。根据CSV文件生成XML文件需要借助GlobalMapper软件,它可以读取包含坐标信息的CSV文件并导出为XML,网上版本很多,因为我英语比较渣为了节省时间找了一款汉化版的(Global Mapper V14.1 http://www.pc6.com/softview/SoftView_102125.html)。
  Google Earth采用的是 ddd°mm’ss”格式的坐标,而数据提供的是ddd.ddddd °格式的,直接导入原格式总是定位失败,所以需要先把原数据转换成度分秒格式的,方法很简单,例如要把(205.395583333332,57.9323888888888)转换成(205°23’44.1”,57°55’56.6”),步骤如下:

  1. 直接读取“度”:205
  2. (205.395583333332-205)*60=23.734999999920 得到“分”:23
  3. (23.734999999920-23)*60=44.099999995200 得到“秒”:44.1

同理可以得到纬度坐标:57°55’56.6”
根据以上原理,可以通过软件或编程把所有坐标转换成度分秒格式,因为XML文件坐标尾还含有一个表示经纬度的字符‘E、W、N、S’,为了一次性写入,这里用Python实现,核心语句如下:

tempE = str(int(E)) +"°"+ str(int((E - int(E))*60)) +"'" + str((((E - int(E))*60) -int((E - int(E))*60))*60) + "''"+' '+ 'E'

其中E为从原表中读到的经纬度数据,tempE为转换得到度分秒坐标。为了区分执行情况,可以加一些判断语句,将成功订单和失败订单分开,最终结果如下图所示:

之后将表格另存为CSV格式,用GlobalMapper打开

文件格式选择CSV,并打开对应文件

选择只有点

下一

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值