All about OpenStreetMap (OSM) and OsmSharp.
Highway Hierarchies
I'm working on a new feature for OsmSharp because routing is just-too-slow. This shows part of the pre-processing algorithm to calculate a highway hierarchy that can be quickly 'queried' for a shortest route.
This will have the advantage of lightning fast routing, both point-to-point and many-to-many, but there will be no quick minutely updates of the road network anymore and the preprocessing result will only be valid for a limited number of vehicle types.
OsmSharp - v2.0!
Version 2 of the OsmSharp library is released! Among many improvements the most important are several performance improvements. I did some tests to verify the them with each change I made.
| Test | Measured (Seconds) | Percentage |
| Unmodified | 11.22 | 0.00% |
| Modified code for resolving points to use smaller increases in search raduis. | 10.72 | 4.46% |
| Modified short distance calculations using Equirectangular approximation | 10.54 | 6.06% |
| Modified the graph class to take into account the exceptions before weight calculations. | 9.05 | 19.34% |
| Modified the graph class to check turnrestrictions before weight calculations. | 8.17 | 27.18% |
| Removed double checks in graph interpreter. | 8.12 | 27.63% |
| Changed the to-list in dykstra to a hashset. | 5.87 | 47.68% |
| Changed the sortedset collection to the .NET 4 variant. | 6.25 | 44.30% |
| Changed the sortedset collection to an hashset. | 6.12 | 45.45% |
| Improved the Equirectangular approximation and removed some castings. | 5.78 | 48.48% |
| Change the regular graph into a sparse graph. | 3.025 | 73.04% |
These test are averages of 10 test runs using only a small test instance. I have noticed even better increase in perfomance when testing on large instances. The code for executing these tests is on sourceforge!
Another improvement is checking if a point is reachable before routing to it, important for error-checking the osm data. More about this later.
I also started creating basic tutorials to help usage of the library for developers. See the osm wiki!
Anyway, here is the new version:
Latest: OsmSharp_v2.0.4340.zip
Wiki: http://wiki.openstreetmap.org/wiki/OsmSharp
SourceForge: http://sourceforge.net/projects/osmsharp/
Don't hesistate to contact me if you have any questions!
Blackspots
A while ago we created this:

It's a heatmap of addresses that cannot be linked to any closeby street, an imperfect but effective way to detect missing roads. These addresses are from a database used within the company I work for and cannot be made public. We use this heatmap internally to determine the 'black' spots on the map and detect missing objects.
What would be even better is to share this with the OSM communty in Belgium! We have these calculations for the Flanders area because that's the area we do deliveries in and have addresses for. I can share the 'blackspot' data, not the source of the calculations, the addresses.
Question is: how do I do this, sharing the data? I don't really have the resources needed to do this I think. Is there anyone that can help me out with this?
OSM Inspector: Routing View
I found OSM Inspector via this blogpost; We have started using the same tiles as in Potlach in our application using an OsmSharp tile layer. After doing a small update to allow the tiles to be transparently overlayed on top of our regular mapnik layer, the errors detected by OSM Inspector show up in the application we are building.

A few errors/bugs in osm have already been fixed!
Thanks GEOFABRIK! It would be even nicer if I could convince the company here to sponsor a view!
OpenStreetMap & Humanitarian Stuff
This weekend we organized a session with some OSM-enthousiasts (like myself) and Africa4U. Africa4U does very small-scale development projects in several african countries and they did a mapping experiment exactly like HOT does/did in Haiti but without knowing about OSM or HOT (how is that even possible!). We wanted to set the record straight and introduce them to OSM and HOT!
We introduced OSM in a technical sense, showed what the project was all about, what HOT does and teached the Africa4U volunteers to use Potlach2 and some JOSM.
An important part of the introduction, that became more of a discussion after a while, was about copyright and using existing map data in OSM. We made it very clear it was not an option using sources without permission of the authors! This introduced another problem; asking for example the cartography department of Kinshasa would pose no problem (maybe after paying an "administrative fee") but would this be a legal source to use? Where did they get the data? Do they own the rights to the data themselves? A solution was not found for this problem and this remains open.
At least we hope Africa4U learned some usefull stuff, maybe even recruted a new member and that they will start to contribute to OSM with their development projects. We suggested asking for aireal imagery for specific regions but we have yet to recieve a list of regions to focus on.
We did a small presentation with slides taken from some HOT presentation(s):
http://www.slideshare.net/xivk/africa4u
We also showed these videos:
Geospatial Revolution / Episode Four, Chapter Four: Mapping Power to the People
State Of The Map
I am going after all:
If it's just half as nice/interesting/productive/fun as SOTM-EU it will be a great succes and I expect nothing less!
Steiner Tree with soap!
What is the minimum amount of road needed to connect these four towns together? Known as the Motorway Problem or Steiner Problem. An experimental solution.
Using OsmSharp: Calculate a vehicle's range
Along each point in the route the range of the vehicle is recalculated and the points that can be reached are shown using the little black points. A convex hull alorithm is used to display the area polygons. This can be updated to show a more realistic area.
Update: The demo project generating these images/movie can be found here:
http://osmsharp.svn.sourceforge.net/viewvc/osmsharp/trunk/Demos/RangeApp/
Osm Fight!
Public transportation day!
Our trip from Vienna involved a lot of public transport and getting home was pretty tiresome. In total it took us 10 hours to get home and involved a lot of different types transport.
- Metro: U4
- Metro: U6 (1.80 €)
- Train: Vienna - Bratislava (6.5€)
- Bus: 61 to Airport (0.7€)
- Plane: Ryanair Flight Bratislava - Charleroi (Brussels)
- Bus: Charleroi Airport - Charleroi Trainstation (3€)
- Train: Charleroi Trainstation - Brussels
- Train: Brussel - Ghent Sint-Pieters (7.5€)
- Tram: Ghent Sint-Pieters - Korenmarkt Gentse Feesten (1.20€)
Maybe we should take a direct flight next time...



