The Karlsruhe Hacking Weekend is over. 18 people were there at least part of the time. I had a lot of fun and even got a little bit of work done: As mention I worked on Taginfo and on the second day I worked a bit on the statistics for my upcoming talk at the FOSSGIS conference. I am using Osmium and full-history planet dumps to see what has been happening in OSM. I’ll publish some code and graphics at some point.
One subject that came up in discussions on this weekend several times was how unhappy many people are with Osm2pgsql, because of its messy code that has been evolving over a long time. Maybe a clean re-implementation based on Osmium would be possible. Osmium already supports a lot of the parts needed for a next generation Osm2pgsql, but there are many parts missing. And I don’t want to wade through the Osm2pgsql code to find out what Osm2pgsql is actually doing so that I can re-implement it. Osm2pgsql is a major part of the OSM infrastructure and it is the only program that can do diff updates for a rendering database, so I do think it is important to work on a next generation. I will probably slowly add some features to Osmium bit by bit that would make a new Osm2psql based on Osmium possible. But thats not something for the immediate future.
Roland gave me a behind the scenes introduction into the Overpass API code. There is a lot of interesting and flexible code in there (albeit woefully undocumented) that could also be used in other applications. I have often thought about extending Osmium to have more ways of storing bits and pieces of OSM data. Maybe I could use some of the Overpass database code for that.