У меня есть некоторые исходные данные, которые содержат координаты широты и долготы, и когда я использую метод get_nearest_edges от osmnx, я хочу отфильтровать те координаты, которые не находятся в данном городе (в данном примере это Сан-Франциско). Есть ли удобный способ реализовать эту функцию?
Вот часть моего кода:
roadId = ox.utils.get_nearest_edges(G, df['longitude'], df['latitude'], method='balltree')
df['startId'] = roadId[:,0]
df['endId'] = roadId[:,1]
startId = roadId[:,0]
endId = roadId[:,1]
gdf_nodes, gdf_edges = ox.graph_to_gdfs(G)
startInfo = gdf_nodes.loc[startId]
endInfo = gdf_nodes.loc[endId]
df['startLat'] = startInfo.loc[:, ['y']].values
df['startLon'] = startInfo.loc[:, ['x']].values
df['endLat'] = endInfo.loc[:, ['y']].values
df['endLon'] = endInfo.loc[:, ['x']].values
G первой строки от этого:
G = ox.graph_from_place('San Francisco, California, USA', network_type='drive')
И выходной файл выглядит так:
latitude 37.61549
longitude -122.38821
startId 65365765
endId 65365766
startLat 37.708957
startLon -122.392803
endLat 37.708785
endLon -122.393012
Этот пример я хочу выразить, потому что путь в результате находится не в Сан-Франциско, как я могу идентифицировать его в коде и удалить его?