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

64bit OSM id #220

Closed manutor1 closed 6 years ago

manutor1 commented 6 years ago

Hi,

The Osm2pgrouting wiki page announces that this program does not work well anymore : "This plugin no longer works correctly with current OSM data, as it internally converts object ID's to signed int, and truncation to 32-bit occurs during import to a PostGIS database, causing unexpected overwrites or breaking geometries of unrelated objects. See 64-bit Identifiers for more information." source : https://wiki.openstreetmap.org/wiki/Osm2pgrouting Is that bug already corrected ?

Best regards,

Emmanuel

cayetanobv commented 6 years ago

Hi @manutor1 ,

This is not true because OSM ID's are inserted to PostgreSQL database as bigint data type. This data type is a large-range integer (8 bytes) which can holds OSM ID's 64 bit range: -9223372036854775808 to +9223372036854775807. On the other hand OSM ID's are typed as int64_t in C++ code.

I have manually inserted a lot of new ways (and other elements) in OSM without problem with osm2pgrouting translation.

There are two old issues related to this problem:

I think we need to change OSM wiki page: https://wiki.openstreetmap.org/wiki/Osm2pgrouting

@pgRouting/admins what do you think about it?

Thanks,

dkastl commented 6 years ago

I updated the OSM Wiki and removed the false warning. Thank you for the notice!

cayetanobv commented 6 years ago

Thanks @dkastl . I have also updated this page from OSM wiki related to software and how they handle 64 bit OSM ID's: https://wiki.openstreetmap.org/wiki/64-bit_Identifiers

You can see the change in routing section: https://wiki.openstreetmap.org/wiki/64-bit_Identifiers#Routing

I close again the issue.