OSM@Horizont OUTDOOR

February 7th, 2010

Currently the »Horizont OUTDOOR« fair takes place at Messe Karlsruhe:

I’ll be at the OSM booth (which is 4.216, dm-arena, near the GPS-Village) tomorrow. Garmin maps on 2GB Micro-SD memory cards are available for sale at 10€ each (which basically is the cost of the hardware).

I hope I can share some photos tomorrow.

Simple Sysexxer: »Eat your own dogfood!«

February 3rd, 2010
Simple Sysexxer receiving data

Simple Sysexxer receiving data

During the last days and weeks, I missed some minor features in Simple Sysexxer, so guess what I was doing…

Read the rest of this entry »

When it not is your (mapping) day

January 24th, 2010
Frozen Tarn

Frozen Tarn

Every now and then, a mapping trip is not as successful as intended. And so was today’s. Here’s some C code describing my feelings :) :

Some code

Some code

Read the rest of this entry »

Paths and Tracks vs. Bridleways, Cycleways and Footways

January 17th, 2010

My recent changes are more or less political. As always when it comes to presets, I will be accused to abuse my position as a software developer to influence the tagging done by mappers.

In the openstreetmap database, we have footway, cycleway and bridleway values for the highway tag for a very long time now. As they were not really sufficient to map trails in the woods, hills, or mountains, paths have been introduced back in 2007 to circumvent the limitations. During the introduction, it has been suggested that footways, cycleways and bridleways should be abandoned in favour of paths with some additional attributes. As many people objected, paths have been introduced and the other types are still “valid”.

This leads to the current situation where similar things are mapped differently. For example, a footway is tagged as

highway=footway

If bikes are allowed, a valid tagging scheme reads as

highway=footway
bicycle=yes

Unfortunately, this scheme does not really allow to map combined foot- and cycleways (as often found in germany). Thus some mappers use

highway=path
foot=designated
bicycle=designated

for such purposes.

As a consequence, we see

highway=path
foot=designated

as synonymous to

highway=footway

The three time-honoured tags still are very convenient to use, while the path tag combined with some additional tags is the more flexible one. I have no clear opinion on that matter, but I tend to sense that a single tagging scheme would be better when it comes to consumers (like renderers) of our data. If our editors were better and capable of hiding all the tagging stuff completely, I would clearly propose to abandon the legacy tags in favour of the path tag. But our editors aren’t, and mappers still must be aware of tags.

Besides the abovementioned tags, we also use

highway=track

sometimes accompanied by some surface or tracktype tags:

highway=track
tracktype=grade2
surface=gravel

This tag is for agricultural or silvicultural roads. Obviously the meaning of tracks, bridleways, cycleways, footways and the various flavours of paths is at least ambiguous. This sometimes leads to frustration of mappers.

Given the current tagging scheme, I do it this way:

  • If, and only if it is a dedicated cycleway, I use highway=cycleway (footway and bridleway respectively).
  • If it is a dedicated, combined foot- and cycleway, I use highway=path foot=designated bicycle=designated.
  • If a path is not used (or usable) by 4-wheeled vehicles like cars or tractors, it’s a path. I add widths, MTB or hiking scales to my likings.
  • Tracks are usually used by tractors. If so, it’s a track. I always add tracktype or surface tags, too.

That’s surely not a perfect solution, but lets me map most things i find accurately.

JOSM Presets updated

January 17th, 2010
JOSM Logo

JOSM Logo

I rearranged the presets in JOSM and am prepared for the usual bashing :) .

Tracks and paths have been reunified into one menu entry only, so the convenience menu shortcuts to the various types of tracks and paths are past. OTOH, I have introduced dedicated menu entries for combined foot and cycleways:

JOSM presets - cleanup and additions

JOSM presets - cleanup and additions

The types have been included as popup menus into the dialogs. Besides tracktypes and hiking scales, I also included mountainbike scales, while more special tags for mountain bikers can be used by including an existing set of externally maintained presets:

JOSM - Path Preset

JOSM - Path Preset

Obviously, the dialogs are completely overcrowded. We will not be able to stuff any and all tags that will develop in the future into JOSM. Be prepared that I will do some major cleanup work some day.

External Presets in JOSM

January 17th, 2010
JOSM Logo

JOSM Logo

JOSM provides the capability to include presets from external sources. It is the perfect mechanism for a group of mappers to maintain a specialized set of presets. This way, »Special Interest« mappers like skiers, mountain bikers or seamen can feed menu entries they need directly into JOSM without polluting the default menu space of JOSM.

Some examples are available via JOSM’s wiki pages. There’s also a page how to create and use such presets.

LinuxTag 2010 – Call for Papers

January 17th, 2010

Due to some talks I held at the LinuxTag, I received an electronic mail regarding this year’s call for papers. They are explicitely looking for papers about Openstreetmap, but I won’t write one and have no clue whether anyone already offered one. If you are interested, better ask them before writing the paper to avoid duplicated work.

The State of the Snow

January 17th, 2010
Hiking Trail in the Bienwald

Hiking Trail in the Bienwald

As Daisy had even reached the Upper Rhine Plain, we had some snow for a couple of days. I used the occasion for three nice hiking trips in the Bienwald, mapping grade 4 and 5 tracks, hiking paths and, last but not least, the stream Heilbach and some drains alimenting it:
Read the rest of this entry »

Frisch getestet – die 9-Uhr-Monatskarte des KVV

January 11th, 2010
Tram Roadsign (openclipart.org, public domain)

Tram Roadsign (openclipart.org, public domain)

Zum Jahreswechsel hat der KVV einerseits die Preise erhöht, andererseits neue Produkte eingeführt. Während ich sonst auch im Winter mit dem Rad ins Büro fahre, verkneife ich mir das im Moment ob des winterlichen Wetters. Nachdem ich eher selten vor 9:30h im Büro bin, habe ich mir heute die neue 9-Uhr-Monatskarte des KVV besorgt.

Beim Kauf wird das aktuelle Datum aufgestempelt. Die Karte ist ab dann einen Monat lang gültig¹. Die Karte gibt es für das Gesamtnetz für 52€ und für drei Waben für 37€.

Auf der Karte trägt man vor Fahrtantritt den Namen des Inhabers und im Falle der 3-Waben-Karte zwei Orte ein. Die Karte ist zwar für drei Waben gültig, allerdings muss man sich entscheiden, welche drei Waben das sein sollen.

Das Stadtgebiet Karlsruhe umfasst ob seiner Ausdehnung (bekanntlich) zwei Waben. Wohnt man also in Karlsruhe, kann man noch bis in eine Nachbarwabe (wie etwa Wörth) fahren. Wohnt und arbeitet man in Karlsruhe, kann bzw. muss man sich für eine der Nachbarwaben entscheiden, die man vielleicht doch gelegentlich mal anfahren will.

Für meine Zwecke ist die Karte genau richtig. Bisher hatte ich den KVV eher gemieden – wenn es das Wetter zuließ, bin ich mit dem Rad gefahren und ansonsten auch sehr oft einfach gelaufen, weil sowohl eine Monatskarte als auch eine Viererkarte für die paar Haltestellen, die ich ins Büro fahre, schlicht zu teuer war. Mit der 9-Uhr-Monatskarte hat es der KVV zumindest in den Wintermonaten geschafft, mich dort abzuholen, wo ich stehe. Ich sollte aber folgerichtig an den Tagen, an denen ich doch mal um 7h ins Büro fahre, aufpassen, eine Einzelfahrkarte zu lösen :) .

¹ Montags bis Freitags 9h bis 5h, Samstags, Sonn- und Feiertags ganztägig und bis 5h des Folgetages. Gilt bis zum gleichen Tag des Folgemonats, oder sogar bis zum darauffolgenden Werktag, falls es sich um einen Samstag, Sonn- oder Feiertag handelte.

Playing your favourite Flash Music via Jack and Firewire

January 10th, 2010
Drumset (openclipart.org, public domain)

Drumset (openclipart.org, public domain)

The core of my home studio consist of a Notebook and a firewire mixing console. Unfortunately, Flash used my notebook speakers for audio output instead of the firewire device. There are several workaround setups to circumvent this, but most of them are at least a bit cumbersome.

Thorben Hohn fortunately wrote a library which provides an elegant solution. Here’s what to do:


mkdir libflashsupport-jack
cd libflashsupport-jack
git clone git://repo.or.cz/libflashsupport-jack.git
cd libflashsupport-jack
sh bootstrap.sh
make
make -n install
sudo make install

Restart firefox and listen to your favourite music video on Youtube (Zansa and Bimoya) via jackd – what a joy! All credits to Thorben for the excellent work.

SRTM tiles available online

January 9th, 2010

SRTM contours in Navit

A couple of days back, I converted the SRTM dataset into tiles containing OSM contour lines. Meanwhile the tiles are available online. This service is provided by the Stuttgart University of applied Sciences, thanks to the support of Dr. Franz-Josef Behr.

I hope the data is useful for some community work, e.g. tile rendering for slippy maps or rendering contour lines into viewports of mobile devices. If you create publicy available stuff from the data, please drop me a line.

Openstreetmap Data Types

January 9th, 2010

osm_logo.png

The data of openstreetmap is stored in a relatively simple manner. Basically, we have three base datatypes:

  • Nodes are the most basic datatype and the only objects that actually contain geographical coordinates. A node may simply look like
    node id='12345' lat='48.9955' lon='8.3948'.
  • Ways are ambiguous. More or less, ways are just polygons, and can either describe a way or an area. Ways have no geoinformation itself, as they are relying on nodes:
    way id='23456' nd ref='12345' nd ref='12346'.
  • Relations have been introduced with API 0.5 and can be seen as data objects glueing together either nodes, ways, or both. Relations are used to model turn restrictions, routes, multipolygons and the like:
    relation id='34567' member type='node' ref='12345' role='' member type='way' ref='23456' role=''.
    The members of a relation can take a role to describe what they mean. In simple relations (like route releations) the role attribute often is left blank.

Simple plain text Tags are used to determine what kind of map feature a node, way or relation represents. A tag consists of a key-value-combination like amenity=bench, natural=water, highway=residential or route=ski. Mappers are invited to invent new tags whenever necessary. This freedom plays an important role concerning the success of the project.

Prior to API 0.5, we had Segments. A segment connected two nodes. First, tags have been applied directly to segments. Then, ways have been introduced which joined segments together. Since then, the tags have been applied to the ways instead of the segments. Segments caused some trouble (namely “unordered segments” for the old dogs) and have been abandoned during the introduction of API 0.5.

So nowadays we have nodes, ways, relations and tags. Easy, isn’t it? True for nodes, ways and tags. Not true for relations, though. Relations are difficult to create and edit, because they most often have no direct graphical representation in the editors. More or less they appear a bit flange-mounted on top of nodes and ways. Nevertheless they allow us to map things that otherwise would be difficult or impossible to model.

Continued mapping of Black Forest ski runs

January 7th, 2010

In addition to some prior mapping of black forest ski runs, I’ve been on-site again last sunday. Meanwhile, Langläufer contacted me due to my mapping activities. I’ve now tagged the route relations according to the tags he currently renders. Here’s the result as seen on his map:

Cross-country ski runs near Herrenwies

Cross-country ski runs near Herrenwies

The map is similar like Openpistemap or the Hiking and horseback riding map created by Nop. Some collaboration or mashups would be great.

Mapping towns of northern Hesse

January 4th, 2010

During the holidays, I continued mapping Kaufungen (and Helsa), where some residential areas were still missing. I was surprised that no other mapper found it during last year’s course:

There are still some details missing, namely streets south of the station (thus the marker). If I have good luck, those will still be missing next X-mas :) .

When software development keeps you busy during the X-mas break

January 4th, 2010
Buggy Golf (pics from openclipart.org, public domain)

Buggy Golf (pics from openclipart.org, public domain)

I do not operate a car of my own. Instead, I’m a customer of a local car sharing provider. For the X-mas family meeting, I rent a less than two years old car.

Read the rest of this entry »

Mapping the Ottertal, Part II

December 28th, 2009
Ottertal Fungi

Ottertal Fungi

Due to the annual Xmas family meeting I had the occasion to do some further mapping of the lovely Ottertal. Unfortunately my camera failed after I had taken four pictures, but that’s better than nothing :) .

Read the rest of this entry »

Christoph’s Notepad ported

December 23rd, 2009

Searching the web, I got a brief reminder that I wrote my first blog entries back in 2005. As the data collector I am, I ported them to this blog. Just in case you are wondering why some new posts with a rather dated time stamp popped up :) .

Mapping black forest ski runs

December 20th, 2009
Snow of the black forest near Herrenwies

Snow of the black forest near Herrenwies

The winter arrived in europe, and even in Karlsruhe with its mild clime some snowflakes and temperatures less than -10°C have been detected sporadically. Surprisingly there’s not much snow at the nearby black forest yet (only about 20cm respectively 8″), but it seems to be enough for winter sport activities.

Read the rest of this entry »

Simple Sysexxer 0.3 released

December 19th, 2009
Simple Sysexxer 0.3

Simple Sysexxer 0.3

I just uploaded Simple Sysexxer 0.3. See its dedicated page for details about download and usage.

The MIDI reception part has been rewritten to use the ALSA sequencer directly. Receiving (and sending) huge SysEx messages (greater than 256 bytes, ALSA’s buffer size) now should work reliably. At least it does with a Korg Z1 Synthesizer (168 531 bytes for the complete internal memory).

Hope you enjoy. Feedback is always welcome. Just drop me a line.

extrablocks.com launched

December 16th, 2009
Kitchen rendering created using interiorcad

Kitchen rendering created using interiorcad

After months of many additional office hours, we finally made extrablocks.com officially available. While interiorcad mainly is a set of plugins for Vectorworks, extrablocks is a platform for sharing contents like symbols, textures, but also manuals and other stuff for Vectorworks.

The initial content mainly addresses the needs of kitchen builders and interiorcad users, but this will change soon. extrablocks.com will become a common platform for Vectorworks users, and there will be frequent updates providing fresh contents.

To avoid the manual download, extraction and installation hassle, extrablocks is capable to feed its contents (youtube video) straight to the right places in interiorcad. For non-interiorcad users, a plugin will be available which will provide similar ease-of-use for users of Vectorworks Architect, Landmark, and Designer.