Ticket #84 (closed bug report: fixed)

Opened 3 years ago

Last modified 3 years ago

Building Topology on MassGIS dataset takes > 48 hours

Reported by: crschmidt Owned by: anton
Priority: major Milestone:
Component: pgRouting package Version: 1.0
Keywords: Cc:

Description

Following the FOSS4G workshop, I attepmted to mimic the steps done for the Victoria dataset for a MassGIS statewide dataset.

After loading the data, I attempted to run the following: SELECT assign_vertex_id('mass_roads', 0.001, 'the_geom', 'gid');

Initially, after about 5 hours, it gave up, complaining about a null geometry. I then deleted all rows from the table that had null geometry columns.

I then tried again, and let it run for 48 hours, before giving up and killing it. No indication of completeness was presented.

The dataset is available for download from:  ftp://data.massgis.state.ma.us/pub/shape/eotroads/eotroads.exe

A smaller shapefile (city level) loaded fine:

 ftp://data.massgis.state.ma.us/pub/shape/eotroads/eotroads_49.exe

Change History

Changed 3 years ago by anton

  • owner changed from somebody to anton
  • status changed from new to assigned
  • version changed from 1.0.0a to 1.0
  • component changed from Dijkstra to pgRouting package

Changed 3 years ago by anton

  • status changed from assigned to closed
  • resolution set to fixed

Hi Christopher,

Well, yeah, usually it takes time to build a topology. Here are some suggestions on how to make it faster:

1. Make a small table out of your huge one. It should contain only gid and geometry columns. Then add source and target columns.

2. Make indexes on gid and the_geom columns. It's essential!

3. Try the new version of routing_core_wrappers.sql from SVN. I added some indication for assign_vertex_id() function - it may entertain you a little bit.

I tryed your dataset and after 1 hour I have 49870 out of 468368 edges processed. So, as I can estimate, it will take about 10 hours to complete the topology (it's getting slower with each new edge).

Note: See TracTickets for help on using tickets.