UDST / pandana

Pandas Network Analysis by UrbanSim: fast accessibility metrics and shortest paths, using contraction hierarchies :world_map:
http://udst.github.io/pandana
GNU Affero General Public License v3.0
385 stars 84 forks source link

Issue: the POI Accessibility computation is taking forever #172

Closed myaman17 closed 2 years ago

myaman17 commented 2 years ago

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