[OSM-dev] problem with osmosis to apply changeset to postgresql db
frederik at remote.org
Sun Dec 18 21:19:08 GMT 2011
On 12/18/2011 09:23 PM, Oon Arfiandwi wrote:
> osmosis --read-xml-change file="asiadiff.osc" --read-pbf
> file="asia.10des.sorted.osm.pbf" --apply-change --write-apidb
> dbType="postgresql" database="osm" user="osm" password="xxx"
There is a logic problem here.
You have an OSM file O1 (10 December) and an OSM file O2 (17 December).
You compute a change file C so that O1 + C1 = O2.
Your database has O1 loaded.
You wish to update your database to O2.
The only thing your database needs, therefore, is C.
But above, you try and feed O1 *as well as* C into the database.
The correct way to apply file C to your database is
osmosis --read-xml-change asiadiff.osc --write-apidb-change
dbType="postgresql" database="osm" user="osm" password="xxx"
Be aware that an APIDB database records object history, i.e. it can have
old versions of each object, but the approach you are following does not
give you the full history - if an object was at version 1 on 10 December
and at version 5 on 17 December, then after updating your database will
only contain versions 1 and 5, not versions 1,2,3,4,5.
If you need all historic versions then you will have to find another way
to update your database, working from the "replication diffs" that you
can download. I have never done that and cannot say if/how well it works.
If you don't need historic versions at all, then you might as well
import the 17 December file anew instead of computing and applying an
Frederik Ramm ## eMail frederik at remote.org ## N49°00'09" E008°23'33"
More information about the dev