First of all, thank you for this great Pandana library.
I am having an issue with the computation of the POI accessibility.
When I run the following code, it takes too much time (more than six hours), and therefore, I never completed the computation. About my data: POI (49,460 points), edges (1,321,510 links), and nodes (1,324,602 points).
When I used a smaller dataset with POI (13,137 points), edges (199,085 links), and nodes (170,732 points), it ran perfectly and finished in 662 seconds.
Is there any way to improve the computation speed?
import pandas as pdimport geopandas as gpdimport pandana
First of all, thank you for this great Pandana library.
I am having an issue with the computation of the POI accessibility. When I run the following code, it takes too much time (more than six hours), and therefore, I never completed the computation. About my data: POI (49,460 points), edges (1,321,510 links), and nodes (1,324,602 points).
When I used a smaller dataset with POI (13,137 points), edges (199,085 links), and nodes (170,732 points), it ran perfectly and finished in 662 seconds.
Is there any way to improve the computation speed?
import pandas as pd
import geopandas as gpd
import pandana
edges = pd.read_csv('edges.csv')
nodes = pd.read_csv('nodes.csv',index_col=0)
poi = pd.read_csv('poi.csv')
travel_speed = 15000/60 #cycling speed 15 km/hour to m/min
edges['travel_time'] = edges['length'] / travel_speed
edges['travel_time'] = edges['travel_time'].astype('long')
network = pandana.Network(nodes['x'], nodes['y'], edges['u'], edges['v'], edges[['travel_time']])
poi_nodes = network.get_node_ids(poi.lon, poi.lat)
network.set(poi_nodes, name = 'POIs')
accessibility = network.aggregate(distance = 30, type='count',name = 'POIs')
Here is the link to my data https://drive.google.com/file/d/1bPVuoZBeTXs_qn8ud7E1E1sJPiFAs1iG/view?usp=sharing