Saturday, November 20, 2010

RouteConverter 2.1 is ready

The latest release 2.1 from 20. November '10

  • reads and writes GoPal Route 5 (*.xml) files
  • reads time and elevation from Google Earth (*.kml) files written by Navigon 6310 devices
  • adds Spanish localization
  • adds a menu with recently opened files
  • always displays times in GMT/UTC timezone
  • solves the menu performance problems on Mac OS X
  • avoids the browser polling most of the time on Linux and Mac OS X
  • complements comments, elevation and time of manually inserted positions
  • speeds up reading of files by first trying most likely candidates
  • speeds up writing of files by not reloading them if the format didn't change
  • contains a workaround for GPST(racker) which stores m/s instead of Km/h in GPX 1.1 (*.gpx) files
  • fixes a bug introduced in 2.0 where selected positions where not centered on the map
  • fixes a problem with routes that could not be selected in the position list chooser
  • fixes wrong time when reading GoPal Route 3 (*.xml) files
  • fixes wrong order of positions when writing Falk Navigator (.tour) files
  • fixes the find populated place lookup by using http://ws.geonames.org/ as a default

Tuesday, November 9, 2010

How to plan routes with Google Maps and use them on TomTom devices

Most RouteConverter users wonder, until they figure out that routes planned with Google Maps on the PC sometimes do not match the route that a TomTom device displays them after they have transferred the route to the device.

The reason is that the TomTom device uses different map data plus a different routing algorithm when compared to Google Maps. Thus its a good idea to set more waypoints and doublecheck on your TomTom device that the routing of the TomTom device matches your desired route.

You have to learn where to set these waypoints. I always put them on streets I want to pass by in all cases - and always in the middle between road intersections. This ensures a rather predictable routing on the Tom Tom device for routes planed with Google Maps.

Sunday, October 17, 2010

RouteConverter 2.0 is ready

The long awaited release 2.0 of RouteConverter from 17. October '10
  • introduces a completely redesigned user interface with a menu bar, popup menus and cleaned up tabs and dialogs
  • introduces unlimited undo/redo for all operations on position lists
  • displays the elevation profile prominently at the bottom of the window
  • adds Arabic, Chinese, Croatian, Serbian localizations
  • offers 64-bit versions for 64-bit Java VMs
  • is optimized for reading large data files
  • reads routes from ZIP archives
  • reads and writes routes from the system clipboard
  • reads and writes Training Center Database 2 (*.tcx) files
  • reads Google Earth (*.kml and *.kmz) files with GX extensions
  • writes Web Page (*.html) files
  • natively implemented Nokia Landmark (*.lmx) format
  • speeds up the addition of elevation information by using HGT files from the NASA Shuttle Radar Topography Mission
  • speeds up the loading of the categories from the browse panel
  • uses the selected file format from file chooser as the first one to use to allow reading of Glopus (*.tk) files that look like Garmin POI Database (*.xcsv) files
  • shows distances below 10 Kilometers in Meter and above 200 Kilometers without decimals
  • contains a more Word-like dialog for unsaved changes
  • adds a category for Garmin POI Database (*.xcsv) files
  • adds a time for Training Center Database (*.tcx) files to ensure Garmin Training Center displays tracks
  • fixes a bug when reading Google Maps URLs by adding &output=kml to the URL
  • fixes a bug where the local timezone was used instead of GMT
  • fixes a map repaint bug when zooming out of the map
  • fixes a bug which sets the time of inserted positions to the previous position
  • fixes a bug where the inserting of waypoints failed when the routing is optimized for pedestrians
  • fixes a bug with a wrong ordering when reading Falk Navigator (*.tour) files
  • fixes a bug while reading very small Wintec WBT-202 (*.tes) files
  • fixes a bug while reading strange NMEA files
  • fixes a bug where the waypoint encoding of Tom Tom Route files was wrong
  • fixes a bug with optional elevation information in Google Earth (*.kml and *.kmz) files
  • fixes width problems for the distance column under Linux
  • and lots and lots of small fixes...

Sunday, May 30, 2010

Automatische Formaterkennung

Warum werden trotzdem alle Formate "durchprobiert" (durchblättern oben rechts bei "Format: xxxxxx" ), auch wenn das Format aufgrund der Dateiendung bereits Rückschluss auf das konkrete Format liefern würde?
Diese Frage wurde gerade im Forum gestellt und ich glaube, daß die Antwort auch andere Nutzer interessiert.
Sei beim Lesen von Daten möglichst lax und beim Schreiben möglichst strikt.
so lautet stark verkürzt ein Informatikprinzip, um Programme robust zu implementieren. Daraus folgt, daß sich der Programmcode beim Lesen der Daten auf die Dateiendung sowieso nicht verlassen dürfte und stur versucht die internen Strukturen mit den gelesenen Daten zu füllen. Stattdessen rechnet guter Programmcode immer damit, kaputte oder falsche Daten vorgesetzt zu bekommen. Diese Robustheit sieht der Nutzer nicht direkt, sie kostet aber viel Aufwand bei der Programmierung.

Also habe ich da aus der Not eine Tugend, d.h. ein Feature, gemacht: RouteConverter erkennt ohne Zutun des Benutzers das Dateiformat und liest die Datei ein.

Dafür kommen alle Formate an die Reihe und dürfen versuchen, die Daten zu lesen. Zu "vorsichtige" Formate lehnen Dateien ab, die eigentlich für sie bestimmt wären - bei den XML-basierten Formaten wie dem Google Earth (*.kml) Format passiert das häufiger. Zu "gierige" Formate interpretieren auch Daten, die sie gar nicht verstehen können, und liefern dann Müll zurück - Garmins POI DB (*.xcsv) ist ein Kandidat dafür.

Treten solche Fehler auf, dann bekomme ich die ziemlich schnell von Nutzern berichtet und behebe sie so schnell es geht. Denn nach etwa 250000 Downloads und mit zehntausenden regelmäßigen Nutzern muß ich aufpassen, daß ich in Supportanfragen nicht untergehe.

Friday, May 7, 2010

XML

Ich werde häufiger danach gefragt und habe deshalb mal eine Kurzdefinition gewagt:

XML ist eine Art, Daten zu beschreiben. Ganz vereinfacht Namen in Klammern um Werte.
<Name1 Name2="Wert1">Wert2</Name1>
Erst eine DTD oder ein Schema erklärt, welche Namen und Werte möglich sind. Details finden sich in den verlinkten Wikipedia-Seiten.

Im RouteConverter Forum hatte ich ausführlicher dazu geschrieben:
Vielleicht kann ich Deine Frage zur Struktur von XML-Dateien beantworten:
  • Elemente werden durch spitze Klammern notiert: <a> wird durch </a> geschlossen
  • Attribute stehen innerhalb des Startelements: <a attribut1="wert" attribut2="wert">
  • Leerzeichen/Leerzeilen/Tabs zwischen Elementen <a></a>HIER<a></a> werden ignoriert
  • Mehr als ein Leerzeichen/Leerzeilen/Tabs zwischen Attributen <a HIERattribut2="wert" HIER attribut2="wert2"/> wird ignoriert
  • Leerzeichen/Leerzeilen/Tabs innerhalb von Elementen <a>HIER</a> oder Attributen <a attribut1="wertHIER"/> können relevant sein - das hängt von der Anwendung ab
Die obigen Ausführungen gelten für fehlerfrei und vorbildlich arbeitende XML-Parser und XML-Schreiber. Leider gibt es damit ab und an Probleme:
  • bis auf GPX, KML und TCX verwendet kein Format XML-Schemata o.ä. um das Format zu spezifizieren
  • ViaMichelin verwendet noch DTDs, verträgt keine optionalen Whitespaces und muß in ISO 8859-1 kodiert werden
  • GoPal-Routen und MN7-Freshroutes müssen in ISO 8859-1 kodiert sein, ganz gleich was in der Prämbel steht
  • Magic Maps nummeriert Elemente über ihre Namen, so daß sich gar kein XML-Schema angeben läßt
  • ITNConv schreibt ISO 8859-1 in die Präambel aber verwendet UTF-8 als Kodierung

Saturday, May 1, 2010

RouteConverter 1.33 is ready

The latest release 1.33 from 1. May '10

Monday, March 1, 2010

RouteConverter 1.32 is ready

The latest release 1.32 from 1. March '10

  • contains completely new designed dialogs to insert, complete and delete positions in position lists
  • replaces the buttons to insert and delete positions to the context menu on the position list and the Ins and Del keys
  • allows to click on the elevation profile and select the corresponding position in the position list
  • converts heart beat rate embedded to GPX 1.1 files by Garmin Oregon 550t devices to Garmin Trainingcenter (*.crs) files
  • uses Maven for the build process
  • fixes a bug which did not recognize most iGO 8 Track (*.trk) files
  • fixes a bug which failed to react on pressing the Insert key directly after the program start on an empty position list
  • fixes a bug where the map opened only as a small bar on the top
Datenschutz