pgRouting / osm2pgrouting

Import tool for OpenStreetMap data to pgRouting database
https://pgrouting.org
GNU General Public License v2.0
288 stars 112 forks source link

Develop #212

Closed cvvergara closed 6 years ago

cvvergara commented 6 years ago

@cayetanobv

Can you make a final test to develop and post here if there is no problem so that I can merge to master and make the 2.3.3 release, please

cayetanobv commented 6 years ago

Hi @cvvergara ,

I have tested with the big osm file and all is fine (below results).

I ran another test with new osmium tool (getrestrictions) and it works well. I've found 2 warnings (unsuported member role) in output (below osm2pgrouting).

I've added this PR https://github.com/pgRouting/osm2pgrouting/pull/213 to develop branch to solve the schema fail launching getrestrictions CLI.

You can merge.

Results with all flags from osm2pgrouting:

***************************************************
           COMMAND LINE CONFIGURATION             *
***************************************************
Filename = /tmp/output_data.osm
Configuration file = /usr/share/osm2pgrouting/mapconfig.xml
host = localhost
port = 5437
dbname = routing
username = postgres
password = postgres
schema= test_schema
prefix = 
suffix = 
Drop tables
Don't create indexes
Add OSM nodes
***************************************************
Testing database connection: routing
database connection successful: routing
Connecting to the database
connection success

Dropping tables...
TABLE: test_schema.ways dropped ... OK.
TABLE: test_schema.ways_vertices_pgr dropped ... OK.
TABLE: test_schema.pointsofinterest dropped ... OK.
TABLE: test_schema.configuration dropped ... OK.
TABLE: test_schema.osm_nodes dropped ... OK.
TABLE: test_schema.osm_ways dropped ... OK.
TABLE: test_schema.osm_relations dropped ... OK.

Creating tables...
TABLE: test_schema.ways_vertices_pgr created ... OK.
TABLE: test_schema.ways created ... OK.
TABLE: test_schema.pointsofinterest created ... OK.
TABLE: test_schema.configuration created ... OK.
TABLE: test_schema.osm_nodes created ... OK.
TABLE: test_schema.osm_ways created ... OK.
TABLE: test_schema.osm_relations created ... OK.
Opening configuration file: /usr/share/osm2pgrouting/mapconfig.xml
    Parsing configuration

Exporting configuration ...
  - Done 
Counting lines ...
  - Done 
Opening data file: /tmp/output_data.osm total lines: 5150594
    Parsing data

Current osm_nodes:  1580000
Final osm_nodes:    1599211
Current osm_ways:   160000
Final osm_ways: 177210

Final osm_relations:    101
End Of file

    Finish Parsing data

Adding auxiliary tables to database...

Export Ways ...
    Processing 177210 ways:
[*****|                                             ] (11%) Total processed: 20000   Vertices inserted: 37850   Split ways inserted 37539
[***********|                                       ] (22%) Total processed: 40000   Vertices inserted: 19201   Split ways inserted 23557
[****************|                                  ] (33%) Total processed: 60000   Vertices inserted: 18650   Split ways inserted 23188
[**********************|                            ] (45%) Total processed: 80000   Vertices inserted: 11938   Split ways inserted 18677
[****************************|                      ] (56%) Total processed: 100000  Vertices inserted: 8092    Split ways inserted 14336
[*********************************|                 ] (67%) Total processed: 120000  Vertices inserted: 7311    Split ways inserted 12987
[***************************************|           ] (79%) Total processed: 140000  Vertices inserted: 6809    Split ways inserted 12312
[*********************************************|     ] (90%) Total processed: 160000  Vertices inserted: 5026    Split ways inserted 9346
[**************************************************|] (100%) Total processed: 177210     Vertices inserted: 4094    Split ways inserted 9414

Creating indexes ...

Processing Points of Interest ...

Adding functions for processing Points of Interest ...

To process pointsOfInterest table:
osm2pgr_pois_update(radius default 200, within default 50)

  - Using areas of (radius)mts on POIS
  - Using edges that are at least (within) mts of each POI
POIS that do not have a closest edge is considered as too far
#########################
size of streets: 177210
#########################

getrestrictions results:

processing: /tmp/output_data.osm
results at: /tmp/output_data_restrictions.sql

Pass 1...
Pass 1 done
Memory:
  nR  = m_relations.capacity() ........... =         2048
  nMN = m_member_meta[NODE].capacity() ... =         2048
  nMW = m_member_meta[WAY].capacity() .... =         4096
  nMR = m_member_meta[RELATION].capacity() =            0
  nM  = m_member_meta[*].capacity() ...... =         6144
  sRM = sizeof(RelationMeta) ............. =           16
  sMM = sizeof(MemberMeta) ............... =           40

  nR * sRM ............................... =        32768
  nM * sMM ............................... =       245760
  relations_buffer_capacity .............. =      1048576
  members_buffer_capacity ................ =      1048576
  total .................................. =      2375680
  =======================================================
Pass 2...
Found currently unsuported member role: '' on restriction: 7145707
Found currently unsuported member role: ' location_hint' on restriction: 5553164
Pass 2 done
Memory:
  nR  = m_relations.capacity() ........... =         2048
  nMN = m_member_meta[NODE].capacity() ... =         2048
  nMW = m_member_meta[WAY].capacity() .... =         4096
  nMR = m_member_meta[RELATION].capacity() =            0
  nM  = m_member_meta[*].capacity() ...... =         6144
  sRM = sizeof(RelationMeta) ............. =           16
  sMM = sizeof(MemberMeta) ............... =           40

  nR * sRM ............................... =        32768
  nM * sMM ............................... =       245760
  relations_buffer_capacity .............. =      1048576
  members_buffer_capacity ................ =      1048576
  total .................................. =      2375680
  =======================================================
hetongde commented 6 years ago

CREATE SCHEMA IF NOT EXISTS foo;

CREATE TABLE IF NOT EXISTS foo.osm_restrictions( osm_id BIGINT PRIMARY KEY, osm_from BIGINT[], osm_to BIGINT[], osm_via BIGINT[], via_type char, osm_location_hint BIGINT, attributes hstore, tags hstore);

My 2.3.3 conversion big data still appeared, already contains the above code

cayetanobv commented 6 years ago

Hi @hetongde , this is a merged pull request. Could you open an issue with your problem and you can add more details about the problem?

hetongde commented 6 years ago

Not familiar with these operations, I will provide detailed operation, thank you

cayetanobv commented 6 years ago

Ok, perfect.