osmupdate - Man Page

Update OSM files


osmupdate options [oldfile] [newfile]


This program cares about updating an .osm, .o5m or .pbf file. It will download and apply OSM Change files (.osc) from the servers of "planet.openstreetmap.org". It also can assemble a new .osc or .o5c file which can be used to update your OSM data file at a later time.


To run this program, please download and install two other programs first: "osmconvert" and "wget".


Two command line arguments are mandatory: the name of the old and the name of the new OSM data file. If the old data file does not have a file timestamp, you may want to specify this timestamp manually on the command line. If you do not, the program will try to determine the timestamp by examining the whole old data file. Instead of the second parameter, you alternatively may specify the name of a change file (.osc or .o5c). In this case, you also may replace the name of the old OSM data file by a timestamp. Command line arguments which are not recognized by osmupdate will be passed to osmconvert. Use this opportunity to supply a bounding box or a bounding polygon if you are going to update a regional change file. You also may exclude unneeded meta data from your file by specifying this osmconvert option: --drop-author


The program osmupdate recognizes a few command line options:


By default, the maximum time range for to assemble a cumulated changefile is 250 days. You can change this by giving a different maximum number of days, for example 300. If you do, please ensure that there are daily change files available for such a wide range of time.

--minute --hour --day --sporadic

By default, osmupdate uses a combination of minutely, hourly and daily changefiles. If you want to limit these changefile categories, use one or two of these options and choose that category/ies you want to be used. The option --sporadic allows processing changefile sources which do not have the usual "minute", "hour" and "day" subdirectories.


The subprogram osmconvert is able to merge more than two changefiles in one run. This ability increases merging speed. Unfortunately, every changefile consumes about 200 MB of main memory while being processed. For this reason, the number of parallelly processable changefiles is limited. Use this commandline argument to determine the maximum number of parallelly processed changefiles. The default value is 7.

-t=TEMPPATH --tempfiles=TEMPPATH

On order to cache changefiles, osmupdate needs a separate directory. This parameter defines the name of this directory, including the prefix of the tempfiles' names. The default value is "osmupdate_temp/temp".


Use this option if you want to keep local copies of every downloaded file. This is strongly recommended if you are going to assemble different changefiles which overlap in time ranges. Your data traffic will be minimized. Do not invoke this option if you are going to use different change file sources (option --base-url). This would cause severe data corruption.


Use this option if you want to use the saved local copies of already downloaded changefiles without checking their lengths against to their server-hosted originals. Downloads will be limited to files not saved yet. Do not invoke this option if you suspect incomplete downloads.


Define level for gzip compression. Values between 1 (low compression, but fast) and 9 (high compression, but slow).


To accelerate downloads or to get regional file updates you may specify an alternative download location. Please enter its URL, or simply the word "mirror" if you want to use gwdg's planet server.


To use old planet URLs, you may need to add the suffix "-replicate" because it was custom to have this word in the URL, right after the period identifier "day" etc.

-v --verbose

With activated 'verbose' mode, some statistical data and diagnosis data will be displayed. If -v resp. --verbose is the first parameter in the line, osmupdate will display all input parameters.


This program is for experimental use. Expect malfunctions and data loss. Do not use the program in productive or commercial systems.

There is NO WARRANTY, to the extent permitted by law. Please send any bug reports to marqqs@gmx.eu


osmupdate old_file.o5m new_file.o5m
osmupdate old_file.pbf new_file.pbf
osmupdate old_file.osm new_file.osm

The old OSM data will be updated and written as new_file.o5m or new_file.o5m. For safety reasons osmupdate will not delete the old file. If you do not need it as backup file, please delete it by yourself.

osmupdate old_file.osm 2011-07-15T23:30:00Z new_file.osm
osmupdate old_file.osm NOW-86400 new_file.osm

If your old OSM data file does not contain a file timestamp, or you do not want to rely on this timestamp, it can be specified manually. Relative times are in seconds to NOW.

osmupdate old_file.o5m change_file.o5c
osmupdate old_file.osm change_file.osc
osmupdate 2011-07-15T23:30:00Z change_file.o5c
osmupdate 2011-07-15T23:30:00Z change_file.osc.gz
osmupdate NOW-3600 change_file.osc.gz

Here, the old OSM data file is not updated directly. An OSM changefile is written instead. This changefile can be used to update the OSM data file afterwards. You will have recognized the extension .gz in the last example. In this case, the OSM Change file will be written with gzip compression. To accomplish this, you need to have the program gzip installed on your system.

./osmupdate london_old.o5m london_new.o5m -B=london.poly

The OSM data file london_old.o5m will be updated. Hence the downloaded OSM changefiles contain not only London, but the whole planet, a lot of unneeded data will be added to this regional file. The -B= argument will clip these superfluous data.

See Also

osmconvert(1), osmfilter(1)


osmconvert was written by Markus Weber

Referenced By

osmconvert(1), osmfilter(1).

September 2013