緯度経度座標を含む原点データがいくつかあり、osmnx の get_nearest_edges メソッドを使用するときに、指定された都市 (この例ではサンフランシスコ) にない座標をフィルター処理したいと考えています。この機能を実装する便利な方法はありますか?
ここに私のコードの一部があります:
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
この例は私が表現したいものです。結果の道路はサンフランシスコではないため、コードでそれを特定して削除するにはどうすればよいでしょうか?