[OSM-dev] OWL / API hacking this weekend

Paweł Paprota ppawel at fastmail.fm
Wed Oct 24 11:13:50 GMT 2012


Hi,

Just as a heads-up - for the past week or so I've been doing some OWL 
resurrecting myself and I hope to launch a demo instance in a day or two.

Current status:

* I tried to work with the C++ part of OWL, failed.

* I rewrote the database operations part as an Osmosis plugin[1]. As a 
result, the C++ part of OWL is not needed anymore (or will not be needed 
when there is full feature parity - soon).

* Database schema is a bit different for now[2]:

- Pgsnapshot (PostGIS) schema is used as a foundation instead of apidb 
schema - this is mostly because of the fact that I wanted to have change 
and changeset geometry in the database + there are couple of bonuses 
like hstore instead of separate tables for tags.

- Row for single change now contains more information - old/new tags, 
old/new geometry.

- There is geometry at the changeset level - this aggregates geometries 
of all changes for a given changeset. That way bounding box query can 
operate on 16 million rows (changesets) instead of 5-8 billion rows 
(changes).

- Changes are currently not assigned to tiles as in original OWL - it is 
not clear whether this is needed anymore - OWL could simply operate on 
bboxes. Should be discussed more.

Immediate TODO:

* I am working[3] on the owl_viewer (Rails app) component to make it 
compatible with the new schema. I will start with Ian's branch which has 
Rails 3.x code in it and add simple Rails model - Changeset and Change.

* Find out if Matt wants me to call this thing OWL... as you can see, 
there are major changes compared to the original code. I'm willing to 
work towards a common vision for OWL and contribute to OWL instead of 
spinning it into a separate project. So I would love to hear from Matt 
and Ian what should be done to get this merged into upstream OWL.

Future TODO:

* Incorporate excellent functionality of the osm-watch software[4] in 
some way - watching for changes in specific objects or objects with 
specific tags (e.g. changes in schools in Berlin).

* Many more ...

[1] https://github.com/ppawel/osmosis/tree/changedb-plugin
[2] 
https://github.com/ppawel/osmosis/blob/changedb-plugin/package/script/changedb_schema.sql
[3] https://github.com/ppawel/openstreetmap-watch-list
[4] https://github.com/cstenac/osm-watch

Paweł



More information about the dev mailing list