2024-05-16 15:17:10 发布
网友
我试图创建一个基本的起点/终点线地图。我的数据具有以下结构:
ID lon_origin lat_origin lon_destination lat_destination 0 -116.284 43.617 -116.304 43.608 1 -116.291 43.610 -116.304 43.608
关于如何连接出发地和目的地有什么想法吗?我试过压缩它们,但我不能让geopandas同时识别两个几何列。在
最后我放弃了drawgreatcircle函数,因为在我使用的比例下,它不会非常大或很圆。plt.绘图做了我想做的事: Code & Output
如果您只想计算距离,这里有一个解决方案:
from geopy.distance import lonlat, distance data = """ id lon_origin lat_origin lon_destination lat_destination 0 -116.284 43.617 -116.304 43.608 1 -116.291 43.610 -116.304 43.608 """ df = pd.read_csv(pd.compat.StringIO(data), sep='\s+') df['KM'] = df.apply( (lambda row:distance(lonlat(row['lon_origin'], row['lat_origin']), lonlat(row['lon_destination'], row['lat_destination'])).km), axis=1) print(df)
输出:
如果要使用英里数,只需更改度量:
df['MILES'] = df.apply( (lambda row:distance(lonlat(row['lon_origin'], row['lat_origin']), lonlat(row['lon_destination'], row['lat_destination'])).miles), axis=1) id lon_origin lat_origin lon_destination lat_destination MILES 0 0 -116.284 43.617 -116.304 43.608 1.180046 1 1 -116.291 43.610 -116.304 43.608 0.666588
最后我放弃了drawgreatcircle函数,因为在我使用的比例下,它不会非常大或很圆。plt.绘图做了我想做的事: Code & Output
如果您只想计算距离,这里有一个解决方案:
输出:
^{pr2}$如果要使用英里数,只需更改度量:
相关问题 更多 >
编程相关推荐