Menu

Traveling Salesman / News: Recent posts

added Multi-Target -Routing

With the new MultiTargetDijkstraRouter we can now
navigate to not only a node but to the any of a set of nodes.
This is required for adding "route to nearest gas-station/toilet/public phone/...".

Posted by Marcus Wolschon 2007-11-26

improved searching again

Yes, we are still improving the seach-functionality.

Now you can use different national shortcuts
like "rd." for "road" and other things like "Kaiser Joseph strasse" to find the "Kaiser-Joseph-Straße".
Name-handling, comparison and normalization ae now
handled by a central helper and no longer re-implemented in each DataSet-implementation.

Once OpenStreetMap agrees on a schema to save
house-numbers and national borders they will make
our address-search complete.

Posted by Marcus Wolschon 2007-11-25

Addresses again

The "AddressDBPlaceFinder" is now improved and debugged (With new unit-tests).

It now knows about suburbs and can index as well as search them and augment the result of a SimplePlaceFinder with suburbs and city-names to
make the result more usable.

Instead of 100x"mainstreet" you now get
"mainstreet, CityA"
"mainstreet, CityB(Suburb1)"
"mainstreet, CityB(Suburb2)",...

Posted by Marcus Wolschon 2007-11-24

enter "AddressDBPlaceFinder"

Today we started the AddressDBPlaceFinder.
It allowes searching for "house-number in street in zipcode+city" by building a local hsqldb
that indexes the downloaded maps.
It is not very complete but will allow much besser searching while offline once it is.

Posted by Marcus Wolschon 2007-11-18

Better searching

Today we introduced a new interface IExtendedPlaceFinder that all PlaceFinder-plugins can implement to show that they know about addresses.
The PlaceFinderPanel already recognizes it and now allowes to search for streets inside cities.
The INetPlaceFinder is the first finder to implement the interface.

Posted by Marcus Wolschon 2007-11-18

Taveling Salesman 0.6 released

Changes:
* much faster map-storage
* editing visible area in josm works
* map-tiles are cached locally

Posted by Marcus Wolschon 2007-11-11

Enter: FileTileDataSet

After trying MySQL and HSQLDB and not being
satisfied with the speed of both,
I replaced the Databases with the new "FileTileDataSe"t as the new default-data-set.
It is a data-storage backed by indexed files
that span the area of one tile-id.
Currently it is slow for name-queries and queries for an id (e.g. getNode(nodeID)) and on inserts.
All three can be improved with additional indexes
and delayed writes at a later time.

Posted by Marcus Wolschon 2007-11-10

Metrics

Today I added support for a new plugin-type
IRouteMetric.
We have 2 simple implementations to optimize for
* shortest path and
* fastest path.
A new metric is planned, that takes actual travel-times collected by the driver himself or other drivers to give better travel-times.

Posted by Marcus Wolschon 2007-11-08

Taveling Salesman 0.5 released

You can now start Traveling-Salesman via
Webstart with just one click:
http://travelingsales.sourceforge.net/ts.jnlp

========
Changes to Traveling Salesman 0.5

* contains HSQLDB
* starts as a fully self-contained application
* more messages ar3e localized
* major speed-improvements due to new libosm
* added menu with debug-tools
* minor bug-fixes and improvements everywhere
* binary-jar is now signed... read more

Posted by Marcus Wolschon 2007-11-04

Wiki updated

After the longawaited release of Travleing-Salesman 0.4
and LibOSM/OsmNavigation 2.2.0 we found the time
to update the wiki and document the plugins we currently have.

Posted by Marcus Wolschon 2007-11-02

first working Database-code

Now we have a first working version
of DBDataSet accessing an unmodified
OSM-Mysql-Database (created by Osmosis).

This enables us to route on maps that are
no longer constrained by the memory of the system.

Posted by Marcus Wolschon 2007-10-27

Majo refactoring

To prepare for adding Database-support
we had to do some major refactoring.
We can no longer rely on having all data
in memory.
Thus a CachingDataSet was introduced and
the IDataSet-interface created.
DataSet has been renamed to MemoryDataSet.

Posted by Marcus Wolschon 2007-10-25

automatic re-calulation

The SVN-version of LibOSMNavigation will
now re-calulate the route every time
you get too far off.
It will stop a running calculation if the
location changes while calculating to start
over again and the threshold is configurable.

Posted by Marcus Wolschon 2007-10-22

First full-scale routing-tests done

I just did the first tests where TS had to
route, navigate while "driving", show the correct
instructions and re-calculate the route
after I took a "wrong turn".
...it works! :)

Posted by Marcus Wolschon 2007-10-22

Reached State: BETA

Traveling-Salesman is now feature-complete enough to
undergo first test-drives where it is to
perform real in-car- navigation.
It does not look pretty yet,
it is prepared for a lot of features that are still to come and
it is not well debugged yet.
But it has all the features required to
start performing it's basic task and is
thus no longer incomplete alpha-code but
has reached a first BETA -state. :)... read more

Posted by Marcus Wolschon 2007-10-21

Major improvements to Navigation

Much of the management-code from Traveling-Salesman
has now been refactored into a single class
"NavigationManager" in OsmRouting.
It does not suffer from the limitations of the
simple implementation in TS.
* > 1 target-point to route to
* parallel computation of the sub-routed if multiple target-points are used
* navigation can start at the GPS-location
* prepared for re-compuration if the driver takes a wrong turn
* keep track of the current routing-step we are at by listening to gps-updates.... read more

Posted by Marcus Wolschon 2007-10-21

LibOSM and relations

Today I added support for relations in LibOSM.
The support is fairly basic in that they can be stored in a DataSet and retieved/removed but
will this will be extended later.
(Like: getting all relations for a node or way or relation.)

Posted by Marcus Wolschon 2007-10-21

Tile-Renderer fixed (task #142601)

The map-renderer that uses the pre-rendered slippymap-tiles has now been fixed.
The tiles are corretly aligned.
Everything is cleaned, it falls back to
the simplePaintVisitor to render the
roads.
This will open up the way to reducing memory-
footprint by not holding everything that needs
to be rendered in memory but only the roads
that we can actually navigate on.
(No woods, power-lines, tram-lines, ...)

Posted by Marcus Wolschon 2007-10-20

Wiki updated

The wiki has seen some updates.
Especially about the configation- and plugin- framework in LibOSM providung you with everything from config-file and plugin-infrastructure to a ready-to-use config-dialog.

Posted by Marcus Wolschon 2007-10-17

improved navigation-instructions

The SVN-version now:
* marks the current position (will be used once GPS is in place)
* marks the position of the next driving-maneuver
* gives directions with "left" "righ" "keep left" "turn around", "hard right",...
* has a lot of map-drawing-bugs fixed

Posted by Marcus Wolschon 2007-09-30

Released LibOSM 2.0 and Traveling-Salesman 0.3

Today we could finally test the new Versions against the OpenStreetMap-server and release them to the public.
LibOSM2.0 is named 2 because with the OSM0.5-API it is not incompatible with the 1.x-releases.
Traveling-Salesman and osmnavigation made some huge improvements are will go to beta shortly (after some missing features are added).

Posted by Marcus Wolschon 2007-09-29

refactoring for OSM-V0.5 nearly done

The refactoring to the new 0.5-API of OpenStreetMap,
that shall go live on 6/7.10.2007 is complete.
Everything compiles and _should_ work.
The problem is that the osm-server we get our
test-data from produces error-messages, so
we cannot yet test our changes.

Posted by Marcus Wolschon 2007-09-27

OpenstreetMap switches to API0.5

On the 6th/7th of october (projectes date)
OpenStreetMap will switch over to API-version 0.5
(see http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5\)

This means we will have to speed up our switch to
the new version and new features will be added after that is done.

Posted by Marcus Wolschon 2007-09-27

Added PlaceFinder-plugins

Today the second plugin-class was added.
The PlaceFinderPanel can now utilize
IPlaceFinder-plugins.
A trivial name-compare already exists and a
plugin using the OSM-namefinder is in progress.

Posted by Marcus Wolschon 2007-09-26

Added Plugin-Interface

I just added a simple Plugin-Infrastructure and
made the Routing-Algorithms configurable as plugins.

A plugin must implement a given interface and have a no-arguments-constructor. A setting named "plugin.useImpl." + unqualifiedInterfaceClassName can be set to the full qualified name of the class to instanciate.

Posted by Marcus Wolschon 2007-09-25