| 
 | 
 
 
发表于 2021-9-10 06:02:34
|
显示全部楼层
 
 
 
 本帖最后由 blahblahfc 于 2021-9-10 06:09 编辑  
 
试试 
 
- def geodesic_m(*args):
 
 -     r = [geodesic(lat_long1, lat_long2).m
 
 -          for lat_long1, lat_long2 in zip(args, args[1:])]
 
 -     if len(args)==2:
 
 -         return r[0]
 
 -     else:
 
 -         return r
 
  复制代码 
- lat_long_list = [(39.9408499,116.38358),
 
 -                  (39.94080063,116.3836432),
 
 -                  (39.94077965,116.3836613),
 
 -                  (39.94076545,116.3836884),
 
 -                  (39.94075841,116.3836974),
 
 -                  (39.94075125,116.3837155),
 
 -                  (39.94073693,116.3837516),
 
 -                  (39.94072964,116.3837786),
 
 -                  (39.9407226,116.3837877),
 
 -                  (39.9406868,116.3838779)]
 
  
- geodesic_m((39.9408499,116.38358),
 
 -            (39.94080063,116.3836432))
 
 - geodesic_m((39.9408499,116.38358),
 
 -            (39.94080063,116.3836432),
 
 -            (39.94077965,116.3836613))
 
 - geodesic_m(*lat_long_list)
 
  复制代码 
 
如果要用 geodistance 函数,把第2行中的 geodesic(lat_long1, lat_long2).m 改为 geodistance(*reversed(lat_long1), *reversed(lat_long2)) 就行。 |   
 
 
 
 |