0

緯度経度座標を含む原点データがいくつかあり、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

この例は私が表現したいものです。結果の道路はサンフランシスコではないため、コードでそれを特定して削除するにはどうすればよいでしょうか?

4

1 に答える 1