Скажем, если у меня есть геолокации некоторых водителей, это точки с широтой и долготой, у меня есть две задачи для этих данных.
- Я хочу рассчитать движение каждого из водителей областей, буферизуя эти точки (например, с расстоянием = 10) и перекрывая их
- После этого я также хочу получить общие области между каждым из драйверов на основе буферизованных областей, рассчитанных из приведенного выше
Я сделал некоторые данные для этих задач:
#------------------------------------------------------------------------------
# import libraries
#------------------------------------------------------------------------------
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
#------------------------------------------------------------------------------
# df to gdf
#------------------------------------------------------------------------------
d = {'driver':['a','a','a','a','a','b','b','b','b','b','c','c','c','c','c'],
'lat':[41,46,39,43,51,43,45,58,49,42,40,42,48,50,46],
'lon':[-78,-73,-66,-75,-80,-78,-70,-76,-68,-80,-72,-60,-62,-74,-72]}
df = pd.DataFrame(data=d)
gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df.lat, df.lon))
gdf.head()
В частности, мои вопросы: 1. как рассчитать зоны движения для водителя a, b и c используя буфер (например, расстояние = 10) и оверлей? 2. как рассчитать области перекрытия между водителем a и b, водителем a и c и водителем b и c на основе их областей движения из последнего шага? Высоко оценен.