我有一个大的csv,其中包含1s间隔内每个点的行程数据信息:lon、lat、时间戳和街道id。 我的目标是将街道分割为10米长的路段,并根据其位置为每个点指定唯一的路段id
下面是使用df.head()
时我的数据的一个示例:
timestamp Lat Lon street_id
0 4/1/2014 0:11:00 40.7690 -73.9549 140
1 4/1/2014 0:17:00 40.7267 -74.0345 50
我使用以下方法获得空间数据帧:
from geopandas import GeoDataFrame
from shapely.geometry import Point
geometry = [Point(xy) for xy in zip(df.Lon, df.Lat)]
df = df.drop(['Lon', 'Lat'], axis=1)
gdf = GeoDataFrame(df, crs="EPSG:4326", geometry=geometry)
我只是不知道如何开始,我知道我必须按街道分组,然后计算每个点与街道起点之间的距离,但我没有找到如何做到这一点
预期结果应如下所示:
timestamp Lat Lon street_id segment_id
0 4/1/2014 0:11:00 40.7690 -73.9549 140 5
1 4/1/2014 0:17:00 40.7267 -74.0345 50 1
路段id应为每段10m长街道的唯一标识符
10米分辨率对应于纬度或经度中第四位数字的变化。因此,您甚至不必按
street_id
对点进行分组,只需为元组的所有不同组合(纬度、经度)分配唯一id即可:相关问题 更多 >
编程相关推荐