I have a routing software module which uses PostGIS/pgRouting to calculate routes.
The road network is generated from an .osm file with osm2pgrouting tool.
I need to enhance the functionality of the software to meet the following requirements:
- The user should be able to edit the roads network in a graphical editor (add/edit/delete roundabouts, lanes, road signs, highway tags, etc.);
- The edits should be immediately updated in the geometry columns - basically, if there is a new road in the OSM map, we have a new line in the respective PostGIS column. pgRouting will use the updated roads network);
- The user should be able to view the underlying OSM area and the edited roads network as two layers in the graphical editor.
Note:
I tend to think, that JOSM is a very convenient tool to edit roads, but it can not save_to/query a PostGIS-enabled database.
On the other side, there is QGIS, OpenJUMP and uDig, but the support for OSM editing is far less mature than in JOSM.
I thought about having a bash script which runs osm2pgrouting each time the .osm file is updated. This way I can have the .osm file edited via JOSM and the roads which are inside this .osm stored in a PostGIS-enabled database and viewed with QGIS (the most recent roads network would be accessible by QGIS).
But:
- I would have to force the user to use two graphical editors;
- and QGIS does not render OSM data in a very attractive way.
How can I meet the requirements 1, 2 and 3 in a more elegant way?