For my specific purpose, I need to alter Overpass API's definition of an area
to include all buildings, whether or not they have names (so is_in()
will return these buildings when requested).
To achieve this, I've installed a local copy of the API with 3 specific countries and have modified the os3m script that generates areas to suite my definition -- so far, so good.
Obviously this script will require more memory than the default one as it is handling a lot more ways
. The machine I'm running on has 16GB of RAM
. If I specify 2GB
or less for the script (i.e. element-limit="2073741824"
) then it will run out of memory, but specifying any more (even by 100MB) will always result in the error:
Dispatcher_Client::request_read_and_idx::timeout
after just a few seconds.
The question is, how I can tell the Overpass API/dispatchers that using more than 2GB
is perfectly fine, and in fact, allow it to allocate up to ~15GB
for this query?
You could try to increase both values for
total_available_space
in settings.cc (currently at 4GB) and recompile Overpass API from source.AFAIK nobody has tried to process a huge number of buildings via areas before, so be prepared for further issues. The Overpass API developer list may be a good place to discuss this, also to get Roland's attention (Overpass API developer/maintainer), as he's not around on stackoverflow.