I wish to request a change in the way the weekly planet files get generated. 
The planet files are supposed to contain a weekly snapshot of the OSM database. 
They are generated during a period of time during which users are able to make 
changes to the OSM database. This leaves the weekly planet files in an 
incomplete state. I ran into this when I wrote my own planet file parser and 
found that a few hundred or thousand ways in each file referenced non-existant 
nodes. There are probably also some nodes that have bad locations and some ways 
that reference the wrong nodes but I am not able to detect these issues with my 
parser.

I asked about this problem on the forums and was told the following by Ldp:

"This is expected behaviour from the weekly planet dump. There is no guarantee 
of integrity on any data that was added to the OSM db after the time the planet 
file generation has started.

It takes a few hours to generate the planet file, and when the nodes have been 
dumped to the file, someone can still add a new way and associated new nodes. 
This could then show up only as a way, later in the file.

The only way to get a good file with referential integrity is to take the 
weekly planet dump, and add the next day's daily diff file to that:

1) Fetch the weekly planet (e.g. planet-090708.osm.bz2) and next day's diff 
(e.g. 20090708-20090709.osc.gz)

2) bzcat planet-090708.osm.bz2 | osmosis --rxc 20090708-20090709.osc.gz --rx - 
--ac --wx planet-090709.osm.gz"

This solution would probably work for me although I think it would be faster 
for me to just read the daily diff files myself and apply them while parsing 
the planet file.

A better solution would be for the planet file creation process to wait a day 
and automatically apply the next day's diff file to the database before 
uploading it. The only downside I can see to this change is that we will have 
to wait one more day for the release of the planet files. Considering that this 
will make the planet files 100% complete, I think that this is a worthwhile 
tradeoff. I am assuming that the daily diff file contains an instantaneous 
snapshot of the entire OSM database and does not contain partial edits like the 
planetary files.

One problem that this would solve is that there is currently no way (that I 
know of) to reliably rebuild the older weekly planet files such that they are 
complete. This is because the daily diff files are only archived for about two 
weeks while the planet files are archived for years. It may be possible to 
merge two or more planet files to yield one complete planet file but their is 
no guarantee that this will work 100% of the time since the same nodes or ways 
could have been edited two weeks in a row during the time when the planet file 
is being regenerated. I presume that the weekly planet files are being archived 
for some reason. It would be nice if they were complete snapshots.

-Mark Granger
_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev

Reply via email to