I wanted to use overpass with custom data using the .osm format.

Overpass does not consider negative node IDs, so I added a prefix, staying <63 bits.

ex. : node id = "540000000000001" (in the .osm file)

But I have this error when I want to import data :

Reading XML file ... finished reading nodes. Flushing to database
..terminate called after throwing an instance of 'std::bad_alloc'
what():  std::bad_alloc
./bin/init_osm3s.sh: line 44:  2007 Broken pipe
bunzip2 < $PLANET_FILE 2008 Aborted
(core dumped) | $EXEC_DIR/bin/update_database --db-dir=$DB_DIR/$META $COMPRESSION

If I delete a few zeros, it works (ex. : node id = 9900000000001).

I've read that de value of node ids must be encoded in 64bits (signed). It seems that overpass allows less. What is its max value ?


1 Answer 1


There's no explicit max value except for the 64 bit limit. However, the current implementation needs too much main memory to handle very large node ids.

I have created a bug report here: https://github.com/drolbr/Overpass-API/issues/465

  • Thank you for the report. Ive noticed the performance issue with large node ids too.
    – Fanch
    Mar 7, 2018 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.