[OSM-talk] JOSM feature requests
Joerg Ostertag (OSM Munich/Germany)
openstreetmap at ostertag.name
Thu Aug 3 20:55:05 BST 2006
On Thursday 03 August 2006 14:29, Andrew Loughhead wrote:
> I hope I am not missing a feature that already exists in JOSM. What I
> would really like to see is the ability to select, say by drawing a
> polygon, a sequence of trackpoints from a local gpx file, and a button
> to turn that set into a segment.
I personally think that directly converting tracks into osm-segments without
filtering is a really bad idea. The problem is, that you have thousands of
small segments. This might seem perfect in the first view. But looking at it
more tight it reveals some severe problems. One problem is that once you find
that you want to do something with these segments (tagging, way
creation, ...) it takes 10 times the time than if you would have reduced the
number of segments in the first place. Another problem is routing. A software
doing routing based on these segments will take 10 times longer than on a
reduced dataset, since it has to try 10 times more segments to find your way
to the destination. As you see, it not only blows up the database, but does
not bring more information into the database. If you try to convert the
tracks into segments you should first filter them. This is what I already
started with osm-filter. In osm-filter the tracks are filtered and reduced by
various criterias. Some are:
- 3 or more trackpoints which are in a streight line
get merged to a single segment
- Segments which are near an already existing OSM-Segment
get dropped
- Segments which have a speed/distance/timegap over a specified limit
get dropped
There are some more planed filter features. Which might help in simplifying
your tracks later:
- Filter duplicate tracks: This would filter tracks where you
drove a street in both directions or where you drove a street
twice in one track.
- Filter GPS inaccuracy blobs: You know these blobs which get created once
you are a little longer at the same place. osm-filter can recognize these
blobs end drop these track segments automagically.
- ... And many more
You can also add more filters to this program. My idea was to create a
framework for everyone to add the filters he needs. So anyone is welcome to
add new filters to this framework. You simply have to copy one of the filter
stubs and add your filtercode in there. Voila you have your new Track filter.
So my goal in the long term is to be able to throw a new track at osm-filter
and then to get an almost ready to import osm-segment file. This would also
include some basic tagging. You could also classify the segments by looking
at various aspects of your incoming tracks. Some classifiers would be:
- Area Germany, speed between 80..130 --> Landstrasse
- Area Germany, speed between 80..180 --> Autobahn
- a circle with a diameter less than 500m and
more than 180 degrees --> Autobahn start/end
- Speed drops to less than 30Km/h, angle of turn is
more than 80 Degrees --> Change between 2 Streets
- ...
> I know I can turn an entire gpx file
> into a "data layer", but what I want is to pick a good bit from a track
> file, where the gps track is clear and the road does not need
> interpretation, and easily convert that into segment and way data. It
> could save lots of node creating and segment linking time.
To pic an area you can use the
--limit-area
function of osm-filter. You simply define a waypoint, with a type
filter.allow or filter.deny in the center of the area of (non)interest in
gpsdrive. You then define an proximity(in meters) around these areas. The
~/.gpsdrive/way.txt file then looks like this:
de_Dottingen 48.411430 9.492400 filter.allow 0 0 0 20000
which would allow a radius of 20Km around the waypoint de_Dottingen.
This Area will be displayed in gpsdrive as a blue circle.
> Going on from that, I know osm-filter.pl offers some data simplification
> ability.
I think the only feature(s) in josm I'd like to see for filtering would be:
- snap to track: which would snap to the nearest
trackline when you click for generating a node.
- set waypoint/filter area: which would create a waypoint in
the file way.txt described above
> It would be great if JOSM could do similar things, in terms of
I think having two programs do the same stuff reduces the manpower of
programming skills we have. And we always have a great lack of programmers
contributing to the project. So i would suggest to keep the efforts focused.
So my suggestion is to focus on one program to do the task of filtering and
make more people contribute filters for our then chosen main filter.
> being able to simplify tracks where appropriate. For example, I could
> first create a draft sequence of segments straight from gpx data as
What I currently do is create a draft gpx out of the raw tracks
with --filter-all applied. Then I have a look at them in josm. Then I define
additional filter areas if necessary and then i import the resulting *.osm
File into an empty josm, then i delete the unneeded/unwanted segments. After
saving them to a file, i can merge them with livedata from the OSM Server. I
then have another look over the result(check duplicates, ...) and if all this
looks good; i can upload my new work to OSM.
-
Joerg
More information about the talk
mailing list