Donnerstag, 26. März 2009

GPSmid mit aufgepepptem Style...

Nachdem ich nun schon einige Straßen und Wege Japans in die Datenbank von OSM eingepflegt habe, erzeugte  ich mir eine neue Version von GPSmid meiner zweiten Heimat. Dabei nutzte ich die Gelegenheit etwas mit dem Style-File zu spielen und einige Icons nach meinen Wünschen anzupassen. So sind Bahnlinien etwas dicker und schwarz, Ampelkreuzungen sind als solche erkennbar und die meisten Flächenfarben sind etwas pastellfarbener gehalten. Einmal etwas tiefer geblickt, fügte ich noch Höhenlinien ein, deren Daten ich mittels SRTM2OSM bezog. Danke NASA!

Links dazu ein Foto des Handybildschirms. Bemerkenswert ist, dass japanische Schriftzeichen ohne weiteres Fummeln sofort richtig angezeigt werden. Bis jetzt musste ich fast immer einen Kopfstand machen um auf einem nicht-japanischem Gerät Kana und Kanji sehen zu können. 

Die Software SRTM2OSM läuft nach Installation der im verlinkten Wiki genannten Pakete auch unter meinem Kubuntu 8.04. Nur das einfügen in eine bestehende OSM-Datei funktioniert nicht bei gesetzter -large Option. Hier ist die einfachste Variante in einem Editor den gesammten Inhalt zwischen den "way"-tags in die bestehenden OSM-Datei zu kopieren.

Der Arbeitsablauf im Einzelnen:

  1. suche die Grenzen der Karte (min. und max. Latitude und Longitude) die GPSmid am ende haben soll. Am Einfachsten geht das auf der OSM-Export-Webseite. Schreibe die Daten in eine my.properties-Datei. die folgendes Aussehen hat:

    bundle.name = MyRegion
    region.1.lat.min = 12.345
    region.1.lat.max = 14.567
    region.1.lon.min = 123.45
    region.1.lon.max = 134.56
    style-file = style-file.xml
    midlet.name=GpsMid-MyRegion

  2. Lade die Kartendaten von OSM runter (left,bottom,right,top)

    wget -O data.osm "http://osmxapi.informationfreeway.org/api/0.5/*[bbox=123.45,12.345,134.56,14.567]"

  3. Lade die Höhendaten mit srtm2osm runter (hier Höhenlinien aller 10m, wobei alle 100m und 500m Hauptlinien sind, die lt. meinen style-file Einstellungen gestrichelt, durchgezogen und fett dargestellt werden) 

    mono Srtm2osm.exe -bounds1 12.345 123.45 14.567 134.56 -O srtm.osm -step 10 -cat 500 100 -large 

  4. Copy-Paste die Dateien data.osm und srtm.osm zusammen wie oben beschrieben. Normalerweise soltle srtm2osm das mit der Option -merge data.osm alleine machen, wenn man die Option -large weglässt ...

  5. Erzeuge das GPSmid-Midlet:

    java -Xmx1024M -jar Osm2GpsMid-CVS.jar data.osm my.properties

  6. Kopiere es aufs Handy, installiere es und freue dich der tollen Karte...

Meinen Style-File werde ich demnächst beim GPSmid-Projekt online stellen und hier verlinken.

Kommentare:

  1. Hi,

    wie hast Du denn die Höhenlinien in den Style eingebunden?

    AntwortenLöschen
  2. Hallo Anne, den Trick habe ich nicht beschrieben, aber im Style file im GPSMid Wiki ist es drin. Hier noch mal freistehend die Zeilen die ich im Style-File eingefügt habe:
    <keyW tag = "contour_ext">
      <Wvalue name = "elevation_minor" >
        <description desc = "minor elevation" />
        <namekey tag = "ele" />
        <isArea area = "false" />
        <scale scale = "20"/>
        <lineColor color = "009CE39C" />
        <lineStyle dashed = "true" />
        <wayWidth width="1" />
        <force_to layer = "-2" />
      </Wvalue>
      <Wvalue name = "elevation_medium" >
        <description desc = "medium elevation" />
        <namekey tag = "ele" />
        <isArea area = "false" />
        <scale scale = "20"/>
        <lineColor color = "0089C989" />
        <wayWidth width="1" />
        <force_to layer = "-2" />
      </Wvalue>
      <Wvalue name = "elevation_major" >
        <description desc = "major elevation" />
        <namekey tag = "ele" />
        <isArea area = "false" />
        <scale scale = "20"/>
        <lineColor color = "00215121" />
        <wayWidth width="1" />
        <force_to layer = "-2" />
      </Wvalue>
    </keyW>

    AntwortenLöschen